반응형

전체 글 63

B-Tree 인덱스 구조

B-Tree 인덱스 구조 루트 블록 : 브랜치 블록의 블록 주소, 인덱스 컬럼 값으로 구성 브렌치 블록 : 리프 블록의 블록 주소, 인덱스 컬럼 값으로 구성 리프 블록 : 인덱스 컬럼, 테이블 ROWID로 구성 인덱스 컬럼으로 정렬되어 있으며, 컬럼 값이 같으면 ROWID 로 정렬 CREATE INDEX products_price_idx ON products(price); -- products 테이블의 price 컬럼에 비고유 인덱스 생성 1. products 테이블 전체를 읽고, price로 오름차순 정렬한다. 2. 정렬된 price 값과 해당 값이 포함된 행의 ROWID를 첫 번째 리프 블록부터 채워 넣는다. 3. 리프 블록이 완성되면, 각 리프 블록의 첫 번째 price 값과 해당 리프 블록의 주소..

Oracle/튜닝 2022.02.10

FULL TABLE SCAN

FULL TABLE SCAN : 테이블에 할당된 첫번째 블록부터 HWM 아래의 모든 블록을 읽음 : 1회의 I/O에 대해서 여러 개의 블록을 읽음 : DB_FILE_MULTIBLOCK_READ_COUNT 파라메터로 한 번에 읽어야 할 블록의 개수를 지정 SELECT NAME, VALUE, ISSYS_MODIFIABLE FROM V$PARAMETER WHERE NAME = 'db_file_multiblock_read_count'; NAME VALUE ISSYS_MODIFIABLE db_file_multiblock_read_count 128 IMMEDIATE => 1회의 I/O 당 128개의 블록을 읽음, 시스템과 OS 따라 달라짐 => ISSYS_MODIFIABLE=IMMEDIATE 재기동 없이 바로 적용..

Oracle/튜닝 2022.02.10

실행계획 순서분석

B+Tree 의 First Order 방식의 읽는 순서 - 자식 중의 종손 먼저 - 하위 tree 가 있다면 하위 다 읽고 다음 형재로 예) SELECT /*+ gather_plan_statistics */ O.PAYTYPE, O.STATUS, O.CUSTNO, OD.PRICE FROM ORDERS O, ORDERDETAILS OD WHERE O.ORDERNO = OD.ORDERNO AND O.PAYTYPE ='계좌이체' AND STATUS = '결제완료' PLAN_TABLE_OUTPUT SQL_ID 4bwaukvdmsqhs, child number 0 ------------------------------------- SELECT /*+ gather_plan_statistics */ O.PAYTYPE,..

Oracle/튜닝 2022.01.28

asm

#ASM 인스턴스 들어가기 $ . oraenv ORACLE_SID = [slorder1] ? +ASM1 $asmcmd ASMCMD> ls -al WARNING:option 'a' is deprecated for 'ls' please use 'absolutepath' State Type Rebal Name MOUNTED EXTERN N ASM_DATA/ MOUNTED NORMAL N ASM_OV/ ASMCMD> ASMCMD> ASM 경로 및 데이터 테이블스페이스 추가방법 용량 확인. 서버접속 -> mon -> @asm_diskgroup.sql 데이터파일 추가 alter tablespace TT add datafike '+ASM_DATA' size 10g alter database datafile '경로' ..

Oracle/asm 2022.01.28

AWR(Automatic Workload Repository)

AWR(Automatic Workload Repository) 이란 - Oracle Database 10g 의 내장 저장소. - 일정한 주기로 모든 주요 통계와 작업 로드 정보에 대한 스냅샷을 만들어 AWR 에 저장함. -> 수집된 정보로 보고서나 뷰를 만들수 있음. -> Default 1회 캡처 7일간 보존 - AWR을 이용하여 분석, 튜닝을 위한 데이터베이스 성능 통계정보와 메트릭을 수집. - 데이터베이스 사용한 정확한 시간을 확인하거나 세션 정보를 저장할 수 있음. AWR 환경 구성 방법 1) $ORACLE_HOME/rdbms/admin/awrrpt.sql 스크립트를 실행후. 2) 수집된 통계정보와 메트릭 정보를 바탕으로 생선된 리포트를 확인 (HTML, TEXT) 3) DAY 입력 4) 시작 끝 ..

Oracle/awr 2022.01.28

pump

/////////////////////////////////////////////////////////// 오라클 백업/복구 ( export, import ) /////////////////////////////////////////////////////////// analyze table document compute statistics export/import 수행속도 느림 data pump 수행속도 빠름 # export 방식 1. Conventional Path export - DB Buffer cache 에서 필요한 데이터를 Evaluation Buffer 복사 후 데이터 가공 데이터 저장 ( text -> binary ) * export 시 발생되는 DDL, DML 등의 명령은 백업파일에 반영되..

Oracle/pump 2022.01.28

DISPLAY_CURSOR

DBMS_XPLAN.DISPLAY_CURSOR : 10g 부터 지원 : 9i 에서는 trace 10046 사용해야함 해당 패키지를 사용하기 위해서는 일반 DB유저에게 아래와 같은 권한을 부여해야한다. GRANT SELECT ON V_$SESSION TO 사용자; GRANT SELECT ON V_$SQL_PLAN_STATISTICS_ALL TO 사용자; GRANT SELECT ON V_$SQL TO 사용자; 사용법. 1. 실행 계획을 검토할 문장에 힌트 /*+ gather_plan_statistics */ 삽입 후 실행 2. select * from table(dbms_xplan.display_cursor(null,null,'TYPICAL ALLSTATS LAST')); 실행 예) SELECT /*+ ga..

Oracle/튜닝 2022.01.28

CBO, 테이블 통계, 인덱스 통계

CBO (Cost Based Optimizer) 비용 산정 을 위해 테이블 통계, 인덱스 통계, 히스토그램을 참조한다. TUNING.ORDERS ORDERNO ORDERDATE TOTAL PAYTYPE STATUS CUSTNO CODE 200004 2017-12-13 0:00 272900 신용카드 배송중 6091 29 200005 2017-12-15 0:00 61500 체크카드 배송중 5590 75 200006 2018-06-14 0:00 9700 체크카드 배송중 7693 7 200010 2019-11-24 0:00 593250 신용카드 결제완료 6162 62 200011 2019-06-30 0:00 575550 계좌이체 배송준비중 4498 98 200012 2018-02-22 0:00 9150 계좌이체..

Oracle/튜닝 2022.01.28

SQL Tuning

SQL Tuning 이란 ? - 쓸데 없는 일을 시키지 않는 것 - 병목현상을 없애어 모든 처리 과정이 최상의 성능을 발휘하도록 하는 것 - 최소한 자원으로 최대의 일을 시키는 것 - 놀고 있는 자원이 없도록 하는 것 SQL Tuning을 함으로써 튜닝이란 아래와 같이 3가지를 지칭할 수 있다. SQL Tuning 선결 과제 1) 오라클 서버 튜닝 (DBA) - SQL 특성에 맞도록 오라클 서버 튜닝 - 데이터베이스 메모리 및 I/O 튜닝 2) 운영체제 튜닝(SA) - 오라클 서버가 운용되는데 필요한 기본적인 리소스 파라미터 튜닝 3) 업무 기능 분석(개발자) - User Data 에 대한 정확한 이해자 - 명확한 업무 분석 및 설계자 오라클의 SQL 튜닝을 하기 위해 우리는 어느 영역을 건드리는지 알 ..

Oracle/튜닝 2022.01.27

RMAN 완전복구/불완전복구

rman 완전복구, 불완전복구 1. 사용 안함 설정 -> offline, shutdown 2. 백업 복원 -> restore 3. 복구 -> recover 4. 사용함 -> online, open Restore - 백업 파일로부터의 복원 Recover - Redo Log/Archive Log 적용시켜 복구 #완전복구 1) offline 가능한 data file 삭제 복구 작업 2) offline 불가능한 data file 삭제 복구 작업 3) 임시경로 생성하여 복구 4) 필요한 datafile 만 복구 # 불완전 복구 ( 불완전복구는 패스 : 하는방법만 숙지 ) 장애난 시간을 찾아 그시간을 복구 후. resetlogs, open 방식 1) drop table 복구 2) Drop table 복구 - 임시 ..

Oracle/backup 2022.01.26
반응형