DATABASE(oracleDB 11g) 100

[SQL Tuning]튜닝의 기초와 옵티마이져

튜닝의 기초와 옵티마이져 비효율적인 SQL 성능의 원인 오래되거나 누락된 optimizer 통계 누락된 access구조 최적 상태가 아닌 execution plan 선택 잘못 작성된 SQL 튜닝 방법론 하향식으로 진행(TOP DOWN) 분석 설계 구현 cursor를 할당 받는 다는 것은 PGA에서 UGA에 메모리 공간을 할당 받는다는 것이다. SQL문 처리 단계 커서를 생성 구문 분석 query 결과 기술 query 출력 정의 변수를 바인드 명령문 병령화 명령문 실행 query행 패치 커서를 닫는다. SQL 실행 과정 parser(구문분석) Transformation 전까지 진행 syntax check semantics check(의미상 유효성 체크) 권한 확인 private SQL area 할당 LC(..

[Oracle DBA]TRANSPORTABLE Tablespace

TRANSPORTABLE Tablespace transportable tablespace 두 개의 오라클 데이터베이스 간에 많은 양의 데이터를 가장 빠르게 이동할 수 있는 방법 데이터 웨어하우스와 데이터 마트 간의 데이터 이동을 간소화(exp, imp가 없다) 플랫폼 간의 데이터베이스 이전을 허용 1. TARGET DB(orcl) - platform과 endian format을 확인 /* SYS@orcl2> select d.platform_name, tp.endian_format from v$transportable_platform tp, v$database d where tp.platform_name=d.platform_name; PLATFORM_NAME ENDIAN_FORMAT ------------..

[Oracle DBA]Flashback 기술03

Flashback 기술03 ==================================================================================================== restore point 까지 flashback restore point before_ins restore point before_upd 두 개 찍고 처음엔 before_upd까지 flashback database 했다가 before_ins까지 다시 flashback database 한다. ==================================================================================================== SYS@orcl2> create ..

[Oracle DBA]Flashback 기술02

Flashback 기술02 Flashback Transaction Backout 과거 Transation이 수행하였던 Operation을 되돌립니다(Backout) 수행조건 COMPATIBLE >= 11.1.0.0 Archived Log Mode 추가의 Log 기록 ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; SELECT ANY TRANSACTION 권한 DBMS_FLASHBACK 패키지를 수행할 권한 -- SELECT ANY TRANSACTION 권한 HR@orcl2> select * from session_privs; PRIVILEGE ------------..

[Oracle DBA]Flashback 기술01

Flashback 기술01 Flashback Query 지정된 시점(timestamp, scn) 의 데이터를 조회(아래와 같은말) 과거 특정 시점의 COMMIT 된 데이터를 검색 SELECT 문의 AS OF 절을 사용하여 과저 시점을 지정 데이터 불일치 분석에 유용 SYS@orcl2> select systimestamp, localtimestamp from dual; SYSTIMESTAMP LOCALTIMESTAMP ---------------------------------------- ---------------------------------------- 25-APR-19 11.45.59.479952 AM +09:00 25-APR-19 11.45.59.479956 AM -- systimestamp ..

[Oracle DBA]ArchiveMode 에서의 Backup & Recovery-Recovery Catalog

ArchiveMode 에서의 Backup & Recovery-Recovery Catalog -- 백업 전략 SYS@orcl2> show parameter control_file_record_keep_time; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7 Recovery Catalog 컨트롤 파일보다 많은 기록 정보 저장 control_file_record_keep_time의 기록보다 이전 기록까지 저장이 가능하다. script를 저장 할 수 있다. [orcl2:~]$ rman target / catalog r..

[Oracle DBA]ArchiveMode 에서의 Backup & Recovery-RMAN04

ArchiveMode 에서의 Backup & Recovery-RMAN04 서버 파라미터 파일 손실 시 Recovery FROM MEMORY 컨트롤 파일 자동 백업으로부터 복원 alert.log에서 긁어오기 --spfile recovery /* 11gWS2 교재 7-17 1. create pfile from memory 명령을 이용 (11g 버전 부터 사용가능) 2. alert.log에 startup 시 파라메터의 값이 기록되어 있으므로 복사해서 사용(11g 버전 부터 사용 가능) 3. contolfile autobackup on 설정시 같이 백업되어 있으므로 restore 해서 사용한다. */ /* 사례1. create pfile from memory 명령 사용 DB가 아직 종료되지 않은 상태에서 사용 ..

[Oracle DBA]Clone DB

Clone DB /* 1개의 software는 1개의 DB만을 사용해야 합니다. spfile구성, control file 생성시 주의 import, export 실행시 dmp파일은 현재 디렉터리상에 생성됩니다. 주의 */ SYS@orcl2> @logfile GROUP# SEQUENCE# MEMBER MB ARC STATUS ---------- ---------- ----------------------------------- ---------- --- ---------------- 1 13 /u01/app/oracle/orcl2/redo01.log 50 YES INACTIVE 2 14 /u01/app/oracle/orcl2/redo02.log 50 YES INACTIVE 3 15 /u01/app/orac..

[Oracle DBA]ArchiveMode 에서의 Backup & Recovery-RMAN03

ArchiveMode 에서의 Backup & Recovery-RMAN03 RMAN RMAN의 추가적인 명령어들 crosscheck 명령어 rman에 등록된 정보와 OS 상에 실제 파일의 존재를 상호체크 crosscheck archivelog all; 체크해서 fail 한 것을 'EXPIRED'상태로 만듬 list expired archivelog all; 'EXPIRED' archivelog 목록 보기 delete expired archivelog all; 'EXPIRED' 파일정보를 rman정보에서 삭제 list expired archivelog all; 'EXPIRED' 가 지워졌는지 확인 list archivelog all; archive 전체 목록 보기 list expired backupset; ..

[Oracle DBA]ArchiveMode 에서의 Backup & Recovery-TEMP,UNDO

ArchiveMode 에서의 Backup & Recovery-TEMP , UNDO 추가정보 @con SYS@orcl2> select name from v$controlfile; @log select group#, sequence#, status, archived, members, first_change#, bytes/1024/1024 mb from v$log; @logfile col status for a10 col member for a35 SELECT a.group# ,b.sequence#,a.member , b.bytes/1024/1024 MB , b.archived , b.status, b.first_change# FROM v$logfile a , v$log b WHERE a.group#=b.gr..