본문 바로가기

IT468

UNDO(언두) Segment UNDO란? 데이터베이스의 변경사항을 롤백하거나 실행 취소하는데 사용되는 정보를 생성하고 관리합니다. 이러한 정보는 주로 커밋(Commit)되기 전의 트랜잭션 작업에 대한 기록으로 구성됩니다. 예전버전에서는 Rollback Segment라고 불리기도 했습니다. 사용 용도 - Rollback 명령문 시 트랜잭션 Rollback - Database 복구 - 읽기일관성 제공 - Flashback 기능을 사용하여 논리적 복구 - Flashback Query 사용하여 이전 시점의 데이터 분석 데이터베이스 복구중에 우선 리두 로그를 사용하여 커밋되지 않은 데이터까지 복구(Rollforward)를 수행하고, 그 후 UNDO를 사용하여 커밋된 데이터만 복구(Rollback)하여 데이터베이스 복구를 수행합니다. Orac.. 2020. 10. 14.
RBO(Rule-Based Optimization)와 CBO(Cost-Based Optimization) RBO Oracle 6 버전 이하에서 시작된 프로그램입니다. 10g에서는 존재하지만 지원되지 않는 기능이며 11gR2 이후로는 사라진 기능입니다. RBO는 미리 정해진 규칙에 의해 실행계획을 결정하게 됩니다. 아래는 미리 정해진 규칙이며 해당 순위에 따라 SQL을 수행하게 됩니다. 무조건 정해진 규칙을 따르고, 인덱스가 있으면 무조건 인덱스를 타기 때문에 인덱스 효율이 없는 경우도 있습니다. 순위 접근경로 1 Single row by ROWID 2 Single row by cluster join 3 Single row by hash cluster key with unique or primary key 4 Single row by unique or primary key 5 Cluster join 6 Has.. 2020. 10. 13.
로그 마이너(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.
테이블 단편화(Fragmentation) 테이블 단편화란 Reorg를 진행해야하는 가장 큰 이유중에 하나입니다. 테이블 단편화의 이슈로 발생할 수 있는 문제점은 아래와 같습니다. 1.성능저하 2.불필요한 disk 용량 증가 이 문제점을 해결하기 위해서 정기적으로 Reorg작업을 수행합니다. Reorg 대상 확인 가장먼저 Reorg 대상을 확인해야 합니다. (통계정보가 최신화 되어 있으면 정확한 분석이 가능합니다. 혹, 영향도가 있다면 테이블 row 전체를 count하여 진행하여도 됩니다.) 아래는 스키마단위로 통계정보를 수동으로 수집하는 명령어입니다. 15%의 sample을 이용하여 통계정보를 재생성하는 명령어입니다. exec dbms_stats.gather_schema_stats('NEWMPDB', estimate_percent=>15); D.. 2020. 10. 8.