본문 바로가기

redo6

InnoDB Redo Log ▶Redo Log? 리두 로그는 crash recovery 중 불완전한 트랜잭션에 의해 변경된 데이터를 수정하기 위해 사용되는디스크 기반 데이터 구조입니다. default로 리두 로그는 ib_logfile0,ib_logfile1로 이름된 두개의 파일이 물리적으로 존재합니다. $ ls -alh ib_logfile* -rw-r-----. 1 mysql mysql 48M Jan 12 02:49 ib_logfile0 -rw-r-----. 1 mysql mysql 48M Dec 14 02:19 ib_logfile1 MySQL은 순환방식으로 리두 로그 파일을 씁니다. 리두 로그는 계속 증가하는 LSN값으로 표시됩니다.(순환로그이기 때문에 다시 순환될때 데이터가 덮어쓰여져 기존에 데이터가 없어지게 됩니다.) - Re.. 2021. 1. 15.
Redo log,Datafile 경로 변경 지난주에 Redo log 와 Datafile을 사용하는 디렉토리의 용량이 거의 가득차서 다른 디렉토리로 파일을 옮기는 작업을 했었습니다. 최초에 사용했던 방법은 아래와 같은 방법으로 경로 변경을 시도 했고, 디렉토리에 있는 모든 DBF파일과 Redo log 파일을 통으로 경로 변경할 예정이었습니다. 1. DB down -> 2. 물리적으로 파일 복사 -> 3. startup mount -> 4. alter database rename file ~ to ~ ; -> 5. alter database open 하지만 제가 운영하던 서버에서 DB down상태면 sqlplus가 접속이 되지 않는 상황(ORA-12560 발생)이 었고, 서버에서 자동으로 기동하여야 sqlplus가 접속이 되는 현상이 발생하고 있었습.. 2020. 10. 27.
로그 마이너(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.
Checkpoint와 Checkpoint not complete 오늘 DB가 느려졌다는 연락을 받고 Alert log를 확인해보니 특정시간 이후 Redo log파일의 switch가 자주 일어나고 있었고 그에 따라 Checkpoint not complete 에러가 계속 발생하고 있었습니다. 결국 DB 재기동을 통해서 눈앞의 급한 이슈는 해결할 수 있었지만, 다음번에는 재기동 없이 해결할 수 있는 방법을 찾기 위해서 정리해보고자 합니다. 1.Checkpoint란? 메모리에 있는 block buffer의 내용과 disk의 data block간의 내용을 맞추는 것이라고 할 수 있습니다. checkpoint가 발생하면 그때까지 메모리내의 block에 가해진 모든 변경사항을 disk 상의 datafile 내에 반영하게 됩니다. database crash에 의해 복구가 필요하게되.. 2020. 9. 9.