Oracle 환경 설정

수진·2022년 12월 21일
0

환경설정하기

목록 보기
2/8

데이터베이스

  1. Oracle
  2. MS-SQL
  3. my_SQL
  • oracle과 연결된 것은 jsp
  • MS-SQL과 연결된 것은 ASPX
  • my-SQL은 신문사나 영세업체에서 사용함.. my-SQL과 연결된 것이 php??

오라클 다운 경로

21c express 뭐시기
https://www.oracle.com/kr/database/technologies/xe-downloads.html

  • 비밀번호 입력하는 곳에는 dbadba 입력 dba 입력

🎁오라클 다운 파일 확인

C:\oraclexe\app\oracle\product\11.2.0\server\sqlplus
기억해두기(왜인지는 모르겠음..)

  • 원래는 데이터베이스 생성할때 db이름을 지정해줄 수 있는데 express는 교육용이라 XE로 정해져 있음.
  • .DBF -> databasefile의 약자
  • SYSTEM.DBF가 제일 중요
  • SYSAUX.DBF는 도와주는
  • TEMP.DBF는 데이터를 펼쳐놓을 수 잇는 임시공간
  • USERS.DBF는 사용자가 기본적으로 사용하는 공간

💻Run SQL Command Line / 명령 프롬프트(cmd)

  • 오라클은 텍스트환경, 그래픽 환경을 주는데 express는 위와 같은 텍스트환경만 지원해줌..!
  • 관리자계정은 sys, system 계정이 있음.

    앞으로 나오는 비밀번호는 dbadba가 아니라 dba라고 쳐야함!!!❗❗❗❗

system계정 접속

sys계정 접속

  • sys는 중요한 계정이라 일반적인 방법으로는 접속이 되지 않는다.

  • 뒤에 as sysdba 붙여줘야 접속 된다.

  • 다른곳에서는 안되고 local에서 접속했을 때만 가능함.

💻SQLDeveloper

  • 오라클 기본 port는 1521

💻QueryBox

QueryBox설치 경로로 접속하여 QueryBox를 다운받아 준다.

sys계정 연결 정보

system계정 연결 정보

💻환경세팅

C:\oraclexe\app\oracle\product\11.2.0\server\sqlplus\admin\glogin.sql 편집 열어서 아래 문구 추가해준다.

SET sqlprompt "_USER'@'_CONNECT_IDENTIFIER> "
SET linesize 400
SET pagesize 200


이렇게 해주면 cmd상에서 원래 SQL로 보였던 부분이 user@db이름으로 나타나게 된다.
그리고 select된 데이터가 보기 쉬운 형태로 보이게 된다. 한줄로~

사용자계정 만들기(user create)

  • user created가 뜨면 사용자 생성된 것~

  • cmd창 내에서 복사가 하고 싶다면 드래그해서 엔터치면 복사됨~

  • 위에처럼 계정을 생성하고 나서 접속하려고 하면 계정은 만들어졌지만 db에 접속할 수 있는 권한이 아직 없는 상태임!

권한 부여해주기

grant create session,resource,unlimited tablespace to kim;
grant connect,resource,unlimited tablespace to kim;

  • create session과 connect는 똑같은 명령임!
  • session 만들 수 있는 권한, 기본적인 작업을 할 수 있는 권한을 주고(테이블 만들고.. 등), 공간제약은 주지 않는다는 의미
  • 권한은 관리자만 줄 수 있음!

데이터 만들어주기 위해서 실행해주는 부분

  • cmd가 기본으로 시작되는 경로에 파일이 있을때 스크립트를 실행하려면 @스크립트이름를 입력하면 되고, 만약 스크립트 파일이 저장되어 있는 경로가 C드라이브의 a폴더 안에 저장되어 있으면 @c:\a\Example.sql처럼 입력하면 된다.

데이터베이스 관련 개념..

  • 표 형태로 데이터를 저장하는 것을 관계형데이터베이스라고 함 (oracle, my-sql, ms-sql)

  • 몽고DB -> 넣을때는 쉽지만 데이터 꺼낼때는 쉽지 않음.

  • row, record, 행 -> 데이터 한 줄(값 하나를 데이터라고 함)

  • record들이 모여서 table을 만들어 냄

  • table들이 모여 있는 것을 tablespace (java의 package같은 개념) 논리적인 공간

  • tablespace 개념은 oracle에만 있음! 다른 sql에서는 없음..

  • 비슷한 table끼리 모아놓은 것을 tablespace

  • users가 tablespace..! 권한 줄때 tablespace users라고 입력했음..!

  • cmd에서 나갈때는 닫기버튼 누르지말고 exit명령어로 나가는게 좋음! 그냥 닫기버튼 누르면 불완전한 종료로 인식돼서 그동안 작업했던게 날라갈 수도 있음..!!

SQL

  • 일반적으로 개발자는 CRUD(insert, select, update, delete) 정도만 알아도 괜찮다.
  • delete는 삭제하고 rollback으로 데이터를 살려낼 수 있음. truncation은 삭제인데 돌리기 불가

  • 아래의 쿼리가 더 정석쿼리

  • 이렇게 열의 번호로도 쓸 수 있지만.... 굳이..? 이렇게 사용하게 되면 select하는 데이터에 따라 번호를 계속 변경해줘야 하는 일이 생김. 별로 좋은 방법은 아님!

  • NVL(BONUS, 0) : bonus값이 있으면 그대로 그 값 사용하고 null이면 0쓰라는 함수

  • PNAME || PNO : PNAME과 PNO를 붙여놓은 값을 출력해준다.

    • PNAME || ' ' || PNO : PNAME과 PNO 사이에 공백을 하나 추가해 준 값을 출력해준다.
  • 문자는 '작은 따옴표' 사용
  • 별칭은 "큰따옴표" 사용
  • 오라클에 저장되어 있는 데이터는 대소문자가 구분되어짐..!
  • 소문자로 데이터를 넣어도 대문자로 저장된다.
  • ms-sql은 소문자로 넣으면 소문자로, 대문자로 넣으면 대문자로 저장된다.
  • WHERE 뒤에는 무조건 컬럼이름 나와야 함!!
  • WHERE 컬럼명 연산자 조건
  • 연산자에는 =, >, >=, <, <=, <>(같지 않음)

0개의 댓글