My Oracle Support Banner

ORACLE 10G BLOCK CHANGE TRACKING 내부 구조 (Doc ID 1921563.1)

Last updated on AUGUST 04, 2018

적용 대상:

Oracle Database - Enterprise Edition - 버전 10.1.0.3 과(와) 그 후속
이 문서의 내용은 모든 플랫폼에 적용됩니다.
***Checked for relevance on 17-Jul-2014***
.
저자와 관련하여
Alexander Gorbachev, CTO The Pythian Group

Alex 는 2006년에 Canada 의 Pythian에 합류하였고, 2년 동안 DBA 팀을 이끌었습니다. 이후 Asia Pacific 에 부회장으로 Australia 로 옮겼으며,
성공적으로 Pythian Australia 창립하였습니다. 2009년에는 Alex 는 Canada 로 돌아와 CTO(Chief Technology Officer) 로 일했습니다.
Pythian 로 돌아오기 전에 Alex 는 Russian petrochemicals giant, Lukoil 에서 Oracle Database 와 application 을 개발했습니다.
이후 그는 Amadeus 의 high-availability mission-critical 한 데이터베이스 디자인과 구현을 이끌었습니다.
Amedeus 는 Global distribution system 과 세계에서 가장 큰 항공 예약 시스템입니다.
2012년에 Alex 는 IOUG (Independent Oracle User Group) 의 이사회로써 또한 참석하였습니다.


Alex 는 Oracle 세계에서 매우 높이 평가되고 있고 Oracle conference 에서 저명한 리더이자 연설자입니다.
그는 또한 정기적으로 Phythian 블로그에서 article을 공개합니다.

Alex 는 OakTable Network 의 구성원이며, Oracle Corporation에서 일류 Oracle ACE Director 타이틀을 수상하였습니다.
Alex 는 Battle Against Any Guess (a movement promoting scientific troubleshooting techniques ) 창립자입니다.
Australia 에서의 시간 동안 그는 또한 열정적인 Oracle 전문가들의 로컬 커뮤니티인 Sydney Oracle Meetup를 창설하였습니다.

Alex 는 고가용성, 성능, 스토리지, 클라우드 컴퓨팅, 빅 데이터와 관리에 특별한 흥미를 가지고 있습니다.
데이터, 비지니스, 기술 사이에 맞는 올바른 탐색은 빅 데이터와 데이터화의 이번 시대에 그를 일으켜 세우는 것입니다.

목적

Oracle RMAN 은 9i 에서 이미 증분 백업이 가능합니다. 그러나 Oracle 10g 블록 변경 추적(block change tracking ,BCT) 기능 소개 전까지는
RMAN 은 변경되었는지를 확인하기 위해 모든 데이터파일을 탐색하고 전체 백업과 비슷한 부하가 발생합니다. Oracle 10g 의 새로운 기능인
블록 변경 추적은 RMAN 이 읽을 블록을 최소화하도록 해줍니다. 이 기능은 RMAN 이 가장 마지막의 증분 백업 이후에 변경된 블록만을 읽도록 해줍니다.

이 기능은 주로 Oracle 관리자에 의해 널리 알려져 있으나 내부 구조에 대해서는 잘 알지 못합니다.
이에 내부 구조를 확인하고 BCT 의 성능 영향을 측정하고 제약사항 등을 확인해볼 것입니다.

DISCLAIMER

지금 작성된 문서는 완전히 올바른 것이라고 보증하지 않습니다. BCT 내부 구조에 대해 공개된 가능한 문서가 없습니다.
그래서 이 문서는 순수하게 테스트와 조사 결과 등에 의해 근거하여 작성되었습니다. 만약 중요한 결정이 필요한 경우 저의 추정한 부분을 확신하기 위해
만약 필요하다면 Oracle support 에 테스트 결과를 제공해 주시고 답변을 받으시기 바랍니다.

 

범위

X$ 테이블들은 Oracle 내부구조와 BCT 에 대한 많은 정보를 제공해 줍니다. X$KRC 로 시작하는 이 테이블들은 BCT file 에 쉬운 접근을 하도록 해줍니다.
해당 테이블들은 메모리 영역에 단순하게 노출되어 있지 않습니다. X$KRC 테이블들을 조회할 때 내부적으로는 BCT file 을 읽습니다.

10046 event 를 이용한 확장 SQL 추적은 foreground 세션 뿐만 아니라 DBWR / LGWR / CTWR 과 같은 background 프로세스들에 대해서도 수행가능합니다.
여기에 strace 유틸리티는 모든 system call 에 대해서 확인할 수 있도록 해줍니다. 추가적으로 lsof 는 주어진 프로세스의 file descriptor 확인이 됩니다.

BCT 파일과 X$KRC 테이블의 내용을 매치시키기 위해 bvi 와 같은 hex dump 또는 hex 에디터를 사용할 수 있습니다.
BCT tracing 관련 이벤트인 19774 와 19775 를 이용할 수 있습니다. ORADEBUG 또한 매우 유용할 것입니다.

상세 내역

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.