오라클 교육 1일차

박기범·2023년 8월 27일
0

오라클

목록 보기
1/5

1일차는 오라클 설치를 진행했습니다.

※오라클 설치는 하나 하나 화면을 캡처하지 못하여 흐름이 끊기는 느낌을 받을 수 있습니다.



오라클 설치

오라클 설치 파일 setup.exe 파일을 진행할 때 반드시 '관리자 권한'으로 실행해야 합니다.

실행하고 나서 클래스를 선택하는 화면이 나오는데 저는 연습을 위해 서버 클래스를 선택하였습니다. 이때 데스크탑 클래스와 서버 클래스의 차이는 pro와 enterprise의 차이입니다. 이 차이는 파티션 옵션이 되는지 안되는지의 차이입니다.


위 사진과 같이 고급 설치로 마저 진행해줍니다.

다음 설정을 보게되면 Enterprise가 디폴트로 선택되어 있는데 변경사항 없이 바로 다음 눌러주시면 됩니다.

오라클 19c부터는 오라클 사용자 안에다가 윈도우 계정을 설정할 수 있게 되었습니다.(운영체제에 오라클 사용자를 별도 설정이 가능합니다.

app 폴더가 default로 경로 설정이 되어 있는데 관리를 편하게 해주기 위해 위와 같이 폴더로 경로로 설정했습니다.

다음 설정에서는 일반용 트랜잭션을 선택하고 넘어갑니다. 이때 일반용 트랜잭션은 레코드 기반의 DB를 의미합니다. 컬럼기반의 DB로 설정하기 위해서는 DW로 설치하면 됩니다. 컬럼기반의 DB는 빅데이터 분석 용도로 많이 사용합니다.

추가적으로 계속 다음을 누르며 진행했습니다.

SSO는 single sign on의 약자로 네이버나 기타 다른 웹 사이트를 가입했을때 연관된 사이트를 열 수 있는 것이 single sign on입니다. 하지만 이렇게 하기 위해서는 인증서버가 필요합니다. 여기서 인증서버는 LDAP이라고 합니다. 인증서버로 등록하고 관리하는게 EM입니다.

오라클 DB를 관리하는 계정은 SYS와 SYSTEM이 계정이 있습니다.

오라클을 최종적으로 설치가 끝난다면 https://localhost:5500/em/shell 해당 사이트에 접속하면 DB의 사용량 혹은 인프라(자원)를 확인할 수 있습니다.



오라클 developer 설정

sys사용시 항상 sysdba를 기억합시다.

위와 같이 설정했을 때 아래 테스트를 누르면 왼쪽 하단에 성공이라고 나옵니다.
위에 sys사용시 항상 sysdba를 기억합시다. 라고 적었는데 이유는 sys의 사용자를 사용하면 룸을 항상 SYSDBA로 설정해야합니다.

delveloper을 왼쪽 상단을 확인하게 되면 접속이 무사히 되는 것을 확인할 수 있습니다.



1일차 sql 강의 시작

	select * from tab;

위 명령어는 현 사용자(sys)가 사용할 수 있는 테이블 리스트를 조회할 수 있는 명령어입니다.

(현 작업환경은 oracle developer에서 진행중입니다.)

기존의 HR계정을 살리는 방법

1) SYS 계정에서 수행한다.
2) SYS -> Oracle접속(좌측상단) -> 다른 사용자를 클릭 -> HR 을 선택 -> (마우스 우측 클릭) 사용자 정보 편집

  • 부여된 롤 편집하기

  • 시스템 권한 부여

하지만 시스템 권한 부여를 보두하게 되면 에러가 발생합니다.

에러가 발생하는 부분을 찾아갑니다.(맨아래로 내리면 SYSRAC가 있음)

해당 부분의 체크를 해제하고 적용을 합니다.

RAC는 real application cluster의 약자로 양쪽 서버를 묶어 하나의 기능처럼 사용하는 것을 의미합니다.

single로 설치하고 rac권한을 줄려고하니 위와 같이 에러가 발생하는 것입니다.

HR계정은 인사부 계정입니다.(Human Resource) 틀어막힌 계정의 권한을 풀고 계정을 재사용하는 것입니다.

계정을 생성해서 만들수도 있습니다.

1. 현사용자(sys)가 사용할 수 있는 테이블 리스트를 조회

  • SYS 사용자에 생성되어 있는 테이블 리스트를 조회
  • My-HR을 선택하면 HR사용자가 선택이 되고
  Select *
    From tab     -- 선택된 사용자의 가용할 수 있는 테이블 리스트가 조회 
  ;

※ developer을 사용하는 이유는 시스템 권한 같은거는 developer에서 all을 사용해서 한꺼번에 권한을 줄 수 있습니다. toad도 평가판이 아닌 라이센스가 있으면 가능합니다.



toad 기본 환경 세팅

툴바 기본 세팅은 툴바에 우클릭 => LOCK 해제 후에 -> 마우스 드레그로 원하는대로 위치 선정 후 -> 다시 락 걸어주면 됨

환경 설정을 들어가는 방법은 사당메뉴바에 view 선택 후 toad option으로 들어가면 됩니다.

위와 같이 세팅을 하면 됩니다. 해당 설정은 Plan Table를 SYS.Plan_Table$로 설정해주는 것입니다.
해당 설정은 사용자의 질의문의 Plan을 보는 기본 테이블을 변경하는 것입니다.
오라클이 기본적으로 세팅하여 제공해주는 Plan Table이 되는 것입니다.
Toad_Plan_Table은 토드라는 툴에서만 사용되는 Plan Table을 의미하는 것입니다.

※ Plan Table이란 것은 실행된 커리문들이 저장되는 테이블입니다.

※ 오라클은 캐쉬 위주로 반복적인 작업이기 때문에 반복적인 작업에 적합합니다. PLAN이 있으면 쿼리문을 저장해놨다가 새로운 쿼리문을 날릴때 오라클이 PLAN이 있는지 먼저 검토후에 있으면 바로 처리합니다.(즉, 반응속도가 빨라짐)

※ Library Cache에는 sql문장과 텍스형태의 sql또는 pl/sql이 저장됩니다. 실행가능한 execution plan 등이 저장됩니다.

toad 새로운 연결

토드에서의 plan을 보는 방법은 해당 질의문을 블록처리후 ctrl + e 키를 누르면 아래 plan이 보이는 우클릭하고 save 한 후에 쿼리문에 띄우면 됩니다.

현재 오른쪽 화면에 보이는 것이 플랜입니다.

해당 사진은 Explan Plan의 하단 텝을 오른쪽으로 설정한 것입니다. Dock Site를 누르면 설정이 가능합니다.

토드의 새 연결 방법은
상단의 session을 클릭 후에 new 커넥터를 누르고 아래와 같이 설정하면 됩니다.

※ truncate : 해당 테이블의 초기화 명령입니다. 초기화란 테이블의 데이터도 Clear하고 메모리도 Clear하라는 의미입니다.
Alter 명령어는 테이블에 컬럼을 변경하는 명령입니다. Add는 컬럼을 추가하는 것, Modify는 컬럼의 속성을 변경하는 것입니다.
Modify : 컬럼의 속성 변경 varchar2(10 -> varchar2(12) drop column : 컬럼 삭제 하는 것입니다.



기타 TOAD 환경설정

  • 테이블을 조회했을 때 행 번호가 나오게 하는 설정입니다.
  • 기타 보기 편하기 위한 설정입니다.

카티션 곱 : where절이 없은 select를 의미하면 테이블 하나의 행 * 다른테이블의 행 의 갯수가 나옵니다.
Driving Table은 주 테이블이라 하고 Driven Table을 종속 테이블이라고 합니다.

  SELECT *
      FROM department a, student b
      WHERE a.DEPTNO = b.DEPTNO AND b.DEPTNO = '101' AND b.GRADE = '1'
      ORDER BY b.HEIGHT DESC;
  ;

이 코드를 보면 department가 주 테이블이고 student가 종속테이블입니다.

깃발형 질의문(귀납적 질의문)은 WHERE 절이 가멸 갈수록 점점 출력되는 row수가 적은 것인데 귀납적 질의문으로 쿼리문으로 짜는 것이 좋은 것입니다.

※분할정복의 원리 : 오라클을 할 때 항상 숙지해야하는 점입니다.







5일간 학습한 오라클을 정리해 나가겠습니다.




※공부하고 있어 다소 틀린점이 있을 수 있습니다. 언제든지 말해주시면 수정하도록 하겠습니다.
※용어에 대해 조금 공부 더 해서 수정하겠습니다.

profile
개발자가 되기 위한 한걸음

0개의 댓글