본문 바로가기

전체 글

(53)
5. Redo log Buffer [ Redo log buffer ]- dbms 내 모든 변경 내용(데이터의 변경, 메타데이터 변경) 기록하는 메모리 영역- LGWR에 의해 주기적으로 redo log file에 기록됨- 장애시 이전 데이터나 commit을 완료한 데이터를 토대로 복구를 하기 위한 영역- redo log buffer 의 크기는 동적 변경 불가- log_buffer 파라미터로 크기 조절 가능  [ archive log mode ]- archive log file을 만드는 상태- redo log file 내용이 덮어쓰여지기 전에 redo log file 내용을 복사해두는데 이를 archive log file이라고 함 1. 확인SQL> archive log list; ** instance recovery 실패 케이스1) DB 종..
4. Database Buffer Cache [ db 정상 서비스 조건 ]  1. DB open 상태 확인  1) 백그라운드 프로세스로 확인$ ps -ef | grep pmon | grep -v grep => 아무것도 안뜨면 DB 내려가있음 2) DB 접속 후 status 조회 $ sqlplus / as sysdba SQL> select status from v$instance; => 에러가 발생하거나 open이 아니면 정상적으로 DB가 올라온게 아님  2. 리스너 프로세스 기동 확인 $  ps -ef | grep lsnr | grep -v grep=> 아무것도 출력되지 않는 경우 리스너 프로세스는 내려가 있음(기동 필요) ** 리스너 기동$ lsnrctl start 3. 리스너 정상 서비스 여부 확인$ lsnrctl status => no ser..
3. ORACLE 접속 과정, SQL 실행 과정, Shared Pool [ 접속 과정 ]1. client 서비스 요청2. 리스너 서비스 확인/수락3. 서버 프로세스 할당(수락한 요청에 대해)        user process server process           단말기                   dbms 내 존재           orange             v$process 뷰를 통해 조회 가능              sqlplus                  ps로 조회 가능  [ 명령어 전달 과정 ]1. client 요청 2. 서버 프로세스 할당 3. sql 문장 체크(parse)   1) 문법체크(syntax check)   2) 구조체크(semantic check)        - 객체 정보(테이블, 뷰, 컬럼) 확인        - shar..
2. 환경 설정과 DB 기동과 중지 putty 에서 oracle 계정으로 접속 후sql plus 접속 startup으로 db 기동시키자 db가 정상 서비스 되려면 맨 아래 보이는 opened 단계가 되어야 한다.db 접속 방법은 2가지가 있다.서버에 접속해 sql plus 로 접속하는 방법과 원격접속 방법이 있다. 원격 접속방법을 이용하려면 리스너 프로세스가 정상 작동하는지 확인해야한다. db의 상태 확인하는 명령어  다음은 리스너 프로세스를 확인하는 명령어다. 입력하는 아무것도 안나오는데 이후 바로 아래 명령어 입력하면이런 식으로 참인지 거짓인지 확인 가능하다. 그리고 리스너 프로세스 시작할 수 있다.위에 서 보면 HOST=oel7 이라고 써있는데 이는 /etc/hosts 에 기입한 ip주소 옆의 호스트 이름인데 host 뒤에 ip주소가..
1. Oracle 리눅스 설치 + Oracle 12c 설치 [ 리눅스(oel7) + oracle 12c ] 1. 제품 다운로드https://edelivery.oracle.com1) oracle linux 7.9    (oracle linux로 검색)     파일명 : V1009690-01.iso  2) oracle 12c server    (Oracle Database 12c Enterprise Edition로 검색)     파일명 : V839960-01.zip  2. 리눅스 설치1) 사전 환경 설정memory 2Gprocess 2 설치과정 시작우선 Create a New Virtual Machine 실행 후 Installer disc image file (iso) 에서 설치되어 있는 이미지 불러오기 쭉쭉 진행 용량은 최대 100기가로 설정store virtua..
31. PIVOT, UNPIVOT , Top n , Fetch [ pivot / unpivot ] 1. pivot  - long data -> wide data** 문법 select   from 테이블명 또는 서브쿼리 pivot(value값 for unstack컬럼명 in (값1, 값2, 값3, ...); ** 특징 - value값에는 집계함수 형태가 들어가야 함(sum, count, avg, ...) - from절에는 unstack컬럼, stack컬럼, value컬럼 외 정의되면 안됨   -> from절에 존재하는 컬럼 중 unstack컬럼과 value컬럼을 제외한 모든 컬럼이 stack 처리 되므로!!!!  예제) 각 부서내 job별로 인원수 파악 select *   from emp                                       -- 잘못된..
30. 계층형 질의, 그룹 함수 [ 계층형 질의 ]   - 한 테이블 내 각 행끼리 상하 관계를 갖는 경우 그 depth(level)를 표현하는 방법  ex) 부서에 대한 상하관계 존재할 경우 부서명 들여쓰기 ** 문법 select    from   where  start with 시작조건 connect by 연결조건; 예제) 사장실부터 시작해서 하위부서 연결 정상) select d.*, level    from dept2 d  start with PDEPT is null connect by pdept = prior dcode; 잘못된 쿼리) select d.*   from dept2 d  start with PDEPT is null connect by  prior pdept =dcode;   예제) department 테이블 내 있는..
29. 윈도우함수(2) [ 참고 - 누적합 연산 범위 ] 누적합 연산 시 범위를 생략하면  range between unbounded preceding and current row 연산범위가 default이다. 즉, 처음부터 현재행까지를 연산하고 위아래 같은 값이 있다면 하나의 range로 묶어서 동시에 누적합을 계산함 ** 누적합 연산 범위(서로 다른 범위)  select e.sal, e.empno,        sum(sal) over(order by sal) as 누적합1,        sum(sal) over(order by sal, empno) as 누적합2,        sum(sal) over(order by sal rows between unbounded preceding and current row) as 누적..