IT468 CH1.오라클 아키텍처 - 8.블록 클린아웃, 9.Snapshot too old 8.블록 클린아웃블록 클린아웃은 트랜잭션에 의해 설정된 로우 lock을 해제하고 블록 헤더에 커밋정보를 기록하는 오퍼레이션입니다. 오라클에 로우 단위 lock은 레코드의 속성 (lock byte)로 관리되며 이는 로우 헤더로부터 블록 헤더에 있는 ITL 엔트리를 가리키는 포인터입니다. 사용자가 트랜잭션을 커밋하면 블록 클린아웃까지 완료해야 완전한 커밋이라고 할 수있는데, 일일이 블록을 찾아다니며 클린아웃을 수행하려면 시간이 오래 걸릴수 밖에 없습니다. 그래서 대량의 갱신 작업이 있고 나서는 커밋정보를 트랜잭션 테이블에만 기록하고 빠르게 커밋을 끝내버립니다. 그렇다면 언제 블록을 클린아웃 할까요? 나중에 해당 블록이 처음 액세스되는 시점입니다. 항상 이방식으로 작동하는 것은 아니며 delayed 블록 클린.. 2019. 12. 21. [RMAN]Database 사전 예방 점검 기능 데이터베이스가 장애(Bad block등)가 발생하기 전에 미리 점검할 수 있는 기능으로써, 11g부터 제공 됩니다. (1) 데이터베이스 점검 RMAN> validate database; Starting validate at 19/12/06 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=267 device type=DISK channel ORA_DISK_1: starting validation of datafile channel ORA_DISK_1: specifying datafile(s) for validation input datafile f.. 2019. 12. 21. CH1.오라클 아키텍처 - 6.문장수준 읽기 일관성 7.Consistent vs. Current 모드 읽기 6.문장수준 읽기 일관성 SQL문이 수행되는 도중에 다른 트랜잭션에 의해 데이터가 변경,추가,삭제가 된다면 일관성 없는 결과집합을 리턴하거나 값을 잘못갱신하는 문제가 발생할 수 있습니다. 이런 문제를 방지하기 위해 사용하는 ‘문장 읽기 일관성’에 대해서 살펴보겠습니다. (1)문장수준 읽기 일관성이란? 단일 SQL문이 수행되는 도중에 다른 트랜잭션에 의해 데이터의 추가, 변경, 삭제가 발생하더라도 일관성 있는 결과집합을 리턴하는 것을 말합니다. 오라클을 제외한 다른 DBMS는 로우 lock을 사용해 dirty read를 방지합니다. 읽기 작업에 대해서는 shared lock을 사용하여 exclusive lock이 걸린 로우를 읽지 못하도록 합니다. 하지만 이것만으로는 문장수준의 읽기 일관성이 완벽하게 보장.. 2019. 12. 20. [RMAN] Data Recovery Adivisor 11g부터 추가된 기능으로써, 장애 발생 시 장애 분석과 해결에 도움이 되는 Oracle의 기능입니다. (1) 장애 테이블스페이스 확인 작업 SQL> select tablespace_name,bytes/1024/1024 mb,file_name from dba_data_files; TABLESPACE_NAME MB FILE_NAME ------------------------------ ---------- USERS 355 /oradata/ORCL19C/users01.dbf (2) 장애 테이블스페이스 offline으로 작업 SQL> alter tablespace users offline immediate; Tablespace altered. (3) 장애 테이블스페이스 확인 SQL> select tables.. 2019. 12. 20. 이전 1 ··· 109 110 111 112 113 114 115 ··· 117 다음