1장 SQL 처리 과정과 I/O, 7장 SQL Optimizer

SQL 처리 과정 1. Parsing– Syntax check : 문법적 오류(키워드, 순서 등) 확인.– Semantic check : 의미상 오류(존재하지 않는 object, 권한 등) 확인. 2. Library cache 확인– 만약 실행계획이 있다면 그 계획으로 query 실행.– 만약 실행계획이 없다면 아래의 3, 4번 수행. 3. 최적화 (SQL Optimizer)– Optimizer가 실행계획을 결정. (hard parsing) 4. Row-Source 생성 5. Query … 더 읽기

SQL 실행계획 확인 방법

출처 : 정현호님 블로그(https://hoing.io/archives/236)친절한 SQL 튜닝<조시형>박영민님 블로그(https://positivemh.tistory.com/364) trace file 사용 10046 event 기본 trace 정보를 확장하여 더 세부적인 정보를 확인할 때 사용하는 이벤트. level 0 : SQL_TRACE=FALSE 와 동일level 1 : SQL_TRACE=TRUE 와 동일level 4 : level 1 + bind 변수 정보level 8 : level 1 + wait event 정보level 12 : level 1 + … 더 읽기

OL7 19c standalone single DB install

참고자료– Doc ID 2052802.1 (standalone silent로 구성 관련)– https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/about-the-oracle-inventory-directory-and-installation.html (경로별 권한)– https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/optimal-flexible-architecture-file-path-examples.html (경로별 권한)– https://dataforum.io/display/ORCL/Oracle+Database+19c+Real+Application+Clusters#OracleDatabase19cRealApplicationClusters-VM%EA%B5%AC%EC%84%B1 (RAC 구성 관련)– https://dataforum.io/display/ORCL/Oracle+Database+19c+Restart (Restart 구성 관련)– https://dataforum.io/display/ORCL/Silent+Install+%3A+Oracle+Database+19c+Restart (Restart silent 구성 관련)– https://positivemh.tistory.com/357 (asmca 관련) VM 구성 CPU : 2coreRAM : 8192m storage : data.vdi 30G 1개 미리 할당 항상 설치하던대로 vm 구성. 서버 설정 rpm 공식 requirements대로 /etc/hosts ip대로 … 더 읽기

OL8 – 19c RAC 구성 (Virtualbox)

참고 링크 : https://dataforum.io/display/ORCL/Oracle+Database+19c+Real+Application+Clusters 내맘대로긍정 님 블로그 VM setting 하드웨어 구성 RAM : 6144m DISK : 100G (/boot:1024m, swap:6144m, /:나머지) 다른 환경 설정 기존이랑 같음. 네트워크 구성 스토리지 구성 모두 ‘공유 가능’ + 크기 미리할당하는 방식으로 생성해야됨 CRS1, 2, 3 – 각각 1G씩 DATA – 30G 1번 노드 구성 rpm check 내맘대로긍정 님 말로는 Linux … 더 읽기

Oracle 78일차

[통계정보] 통계 정보 수집 시 각 컬럼의 히스토그램 수집 가능 -> 각 컬럼의 분포에 따른 실행 계획 세울 수 있음.만약 시간이 지날수록 분포가 달라진다면 최적의 실행 계획 생성 불가. 따라서 주기적으로 통계정보 업데이트 필요!– 옵티마이저가 실행계획을 세울 때 판단 근거가 되는 기준– 테이블, 인덱스, 컬럼 통계 정보– 주기적 수집 및 업데이트 필요 ** 수집 통계정보 … 더 읽기

Oracle 77일차

[.dmp 파일 imp하기] 1. SCOTT 유저 삭제 2. 새로 SCOTT 생성 3. imp 수행 (cmd에서) 4. 데이터 확인 5. 사이즈 확인 [index suppressing error] index가 설계되어 있음에도 index를 스캔하지 못하는 현상 1. 데이터 타입 불일치2. 인덱스 구성 컬럼 변형3. null에 대한 비교 시4. 부정 연산자(not between 제외)5. 시작을 모르는 like 연산자(맨 앞이 _ %) 실습 … 더 읽기

Oracle 76일차

[튜닝] 1. instance tuning 2. DB tuning– partition tuning– query tuning– index 설계 가장 cost가 적게 드는 튜닝 방법이 인덱스 설계다. [인덱스] 조회 성능을 높이기 위한 객체. 대신 DML성능은 index split 때문에 엄청 느려진다.사용자가 조회하고자 하는 데이터의 위치를 찾아 해당 위치에 있는 데이터만 빠르게 접근 가능.Oracle optimizer가 plan을 만드는 가장 중요한 판단 기준 (통계 정보, … 더 읽기

Oracle 75일차

[HASH PARTITION 실습] 1. 대상 테이블 선정 2. 대상 선정TABLE : SH.CUSTOMERSPARTITION KEY : CUST_IDPARTITION 수 : 4 3. 새 TBS 생성 (각 파티션을 위한 저장공간 설계) 4. PARTITION TABLE 생성 5. NON PARTITION TABLE 생성 6. 실행 계획 비교 7. 특정 파티션 데이터 조회 [LIST PARTITION 실습] 1. 대상 선정TABLE : SCOTT.DELIVERYPARTITION KEY : … 더 읽기

Oracle 74일차

[SQLPLUS에서 출력 설정] set pages 100 -> 한 페이지에 100행씩 출력하도록 함.col 컬럼명 또는 alias명 format a10 -> 문자 컬럼에 대해서 10바이트로 출력되게 함.col 컬럼명 또는 alias명 format 9999 -> 숫자 컬럼에 대해서 4자리로 출력되게 함. [PDB] 1. PDB 접속 2. 새로운 tbs 생성 3. 테이블 생성 4. 기존 테이블스페이스 용량 증설 5. 테이블스페이스 삭제 … 더 읽기

Oracle 73일차

외부에서 DB접속 불가 시 check 1. DB가 정상인지 확인 2. client쪽에서 tnsnames.ora 확인 3. 방화벽 확인 (네트워크 담당자) [증분 백업 Incremental backup] full backup과는 다르게 이전 백업파일을 기준으로 변경된 블럭만 압축하여 백업을 받는 방식.백업 속도 개선.백업 용량 효율적 관리 (압축함) -> 보관 비용 절약레벨을 사용하여 백업 계획 ** 레벨– 증분 백업을 받는 기준 설정– 현재 … 더 읽기

Oracle 72일차

[일반 테이블스페이스 물리 장애 발생] 1. 필요없는 테이블스페이스의 경우 offline 2. 필요한 테이블스페이스의 경우 recover 진행case1) 백업파일이 존재하는 경우-> 복구 대상만 offline-> 복구 대상만 restore-> recover (완전복구)case2) 백업파일이 존재하지 않는 경우-> shutdown-> controlfile 재생성 / restore-> datafile restore-> recover-> open -> 현재 controlfile은 장애 난 테이블스페이스를 알고 있기 때문에 새로 생성이 불가. 따라서 장애 난 … 더 읽기

Oracle 71일차

[oracle database storage 구성 방식] 1. file system DB를 구성하는 file(datafile, controlfile, redo log file)이 OS file 형태로 생성되는 방식.관리가 편함. (ls, cp, mv, rm 등의 파일 관리가 가능)보안, 장애에 취약.OS를 통해서 disk I/O가 발생해서 속도가 느리다.공유 디스크 설정 불가 -> RAC storage로는 적합X 2. raw device DB를 구성하는 file을 OS를 거치지 않고 disk에 직접 … 더 읽기

Oracle 70일차

[디스크 증설 작업] 기존에 사용 중인 ASM 디스크 그룹의 사이즈가 부족한 경우 새로운 디스크를 생성하여 기존 디스크 그룹에 디스크를 할당 1. 용량 확인 2. 새로운 디스크 추가 3. 물리, 논리 볼륨 생성 (root 계정) 4. ASM이 무는 디스크 생성 (root) 5. asmca로 공유 디스크 설정 6. 2번 서버 기동 7. 디스크 확인 [디스크 삭제] 1. … 더 읽기

Oracle 69일차

[tbs 장애 시 복구] 0. tbs 만들고 1. recover_test3 table 만들고 2. online backup 후 log switch 5번 3. 시점 확인 4. 장애 발생 5. scp로 parameter, data, archive, controlfile script 6. copydb 만들기 7. recover & open 8. dblink로 보내기 copy->RAC는 어제 글에 필기 되어있음.RAC->copy는 copy쪽에 listener를 만들어야 돼서 복잡함. [ASM 디스크 교체 / … 더 읽기

Oracle 68일차

[OEL8 + 19cR3 single DB 설치] OEL8 : V1009565-01.iso D드라이브, 디스크 100GB, 3GB memory, 1 cpu core, /boot 500M, swap 8192M, / 나머지Legacy UNIX Compatibility, Developement Toolssecurity disableIPv4 manual 172.16.124.134/24/172.16.124.2/8.8.8.8 19cR3 single : V982063-01.zip 설치 그대로로 server class 그대로 그대로 그대로 그대로 이름 ora19db 로 수정하고 밑에 pdb이름도 orapdb로 바꾸기 Character sets만! 변경 그대로 그대로 … 더 읽기