본문 바로가기

Oracle/운영133

Waiting for smon to disable tx recovery.(10.2.0.3 Shutdown 시 Alert log) 10.2.0.3 DB를 Shutdown immediate로 수행 시 Shutdown이 오래걸려 Alter log를 확인하였습니다. Alter log에 'Waiting for smon to disable tx recovery.' 메세지가 로깅되어 있었고, 이 메세지 로깅 시간의 한참후에 DB가 Shutdown 되었습니다. 그래서 어떤 상황일 때 메세지가 발생하는지 정리해보려고 합니다. 원인 : DB를 Shutdown 시키거나, 프로세스를 종료 시, Large Transaction이 종료된 후 데이터베이스가 중단된 것처럼보이지만, SMON 백그라운드 프로세스가 사실은 사용가능한 모든 CPU를 사용하고 있습니다. 기본적으로 SMON 프로세스는 대규모 트랜잭션을 롤백하는 중이고, 이 때 시간이 많이 걸릴수 있습.. 2020. 10. 19.
Supplemental Logging Redo log file은 Instance recovery과 media recovery시에 일반적으로 사용됩니다. 이런 작업에 필요한 데이터는 리두 파일에 자동으로 기록됩니다. 하지만 리두 기반 애플리케이션(예: 로그마이너)에서는 기본적인 로깅 정보보다 추가적인 정보를 기록할 필요가 있습니다. 이런 추가적인 컬럼을 로깅하는 프로세스를 Supplemental Logging이라고 합니다. 기본적으로 오라클에서는 Supplemental Logging을 제공하지 않으며 로그마이너를 사용할 수 없습니다. 따라서 로그마이너에서 분석 할 로그 파일을 생성하기 전에 최소한의 Supplemental Logging을 활성화해야 합니다. Supplemental log group은 Supplemental logging이 활성.. 2020. 10. 15.
UNDO(언두) Segment UNDO란? 데이터베이스의 변경사항을 롤백하거나 실행 취소하는데 사용되는 정보를 생성하고 관리합니다. 이러한 정보는 주로 커밋(Commit)되기 전의 트랜잭션 작업에 대한 기록으로 구성됩니다. 예전버전에서는 Rollback Segment라고 불리기도 했습니다. 사용 용도 - Rollback 명령문 시 트랜잭션 Rollback - Database 복구 - 읽기일관성 제공 - Flashback 기능을 사용하여 논리적 복구 - Flashback Query 사용하여 이전 시점의 데이터 분석 데이터베이스 복구중에 우선 리두 로그를 사용하여 커밋되지 않은 데이터까지 복구(Rollforward)를 수행하고, 그 후 UNDO를 사용하여 커밋된 데이터만 복구(Rollback)하여 데이터베이스 복구를 수행합니다. Orac.. 2020. 10. 14.
로그 마이너(Log Miner) 데이터베이스에 행해진 DML,DDL과 같은 정보는 모두 log file에 남게 됩니다. 이 log file(online redo log, archive log)로 부터 원래의 SQL 문장 및 UNDO를 위한 SQL문장을 뽑아낼 수 있는 기능을 제공하는 LogMiner기능을 Oracle 8i부터 사용할 수 있습니다. LogMiner의 기능 자체가 Drop/Truncate에 대한 복구를 지원한다는 말이 아니라 다만 어느 시점으로 복구를 하면 되는지에 대한 기준을 제시할 수 있습니다. 이점 - 애플리케이션 수준에서 발생한 오류와 같은 데이터베이스의 논리적 손상이 시작되었을 수 있는 시기를 파악 가능 - 트랜잭션 수준에서 세분화 된 복구를 수행하기 위해 취해야 할 조치를 결정할 수 있음 - 추세 분석을 통한 성.. 2020. 10. 12.