Redo Log 원리
Redo Log Files 특징
- DML, DDL, TCL 작업, DATA변경이 일어나는 모든 것을 기록한다 (select 문은 데이터변경이 아님)
- 목적은 복구
- Redo Log File 의 위치와 정보는 Control File에 있음
- 그룹과 멤버라는 개념으로 관리됨
at least 그룹 2개 + 각 그룹 멤버 1개 필요
권장사항은 3개의 GROUP 3 + 각각 MEMBER 2
같은 그룹안의 멤버들 끼리는 서로 저장하고 있는 내용과 크기가 동일
한 그룹의 모든 멤버가 다 지워지면 그 그룹의 데이터는 손실되기 때문에
같은 그룹의 멤버는 절대 동일한 디스크에 두어서는 안됨
멤버를 많이 추가하면 안정적이지만 부하를 줄 수도 있다.
Alert Log File에 Checkpoint not completed. 라는 메시지가 나오는 경우가 있는데,
Redo Log File의 크기나 그룹의 개수가 작다는 의미이므로 멤버 크기를 키우거나 그룹을 더 추가해줘야함
LOG SWITCH란?
Redo Log File 이 꽉 찼을 때, LGWR은 다른 그룹으로 자동으로 넘어가서 작업하는 것이 Log Switch
Log Switch가 발생하게 되면 checkpoint 신호가 발생하게 됨
그러면서 DBWR이 DB Cache에 있는 내용을 Data File로 저장
Redo Log File의 상태 3가지
1. CURRENT
현재 LGWR이 내용을 기록하고 있는 상태, 현재 사용 중
2. ACTIVE
아직 DB Buffer Cache 에서 Data File로 저장이 안 된 상태
3. INACTIVE
Data File에 저장 작업까지 끝난 Redo Log, 즉 활용 가능한 상태
따라서 Redo Log File을 삭제하고 싶다면 INACTIVE 상태로 만들고 수행해야 함
관련 명령어
1. 강제로 LOG SWITCH 발생
ALTER SYSTEM SWITCH LOGFILE ;
CURRENT --> ACTIVE 상태로 바꿀 때 사용
2. 강제로 CHECKPOINT 발생
ALTER SYSTEM CHECKPOINT ;
ACTIVE --> INACTIVE 상태로 바꿀 때 사용
3. 신규 그룹 생성
ALTER DATABASE ADD LOGFILE GROUP #
('경로1', '경로2') SIZE *M ;
4. 신규 멤버 추가하기
ALTER DATABASE ADD LOGFILE MEMBER
'경로1' TO GROUP #,
'경로2' TO GROUP # ;
5. 그룹 삭제
ALTER DATABASE DROP LOGFILE GROUP # ;
6. 멤버 삭제
ALTER DATABASE DROP LOGFILE MEMEBER
'경로' ;
주의!
- 그룹, 멤버 삭제는 INACTIVE 상태일 때만 가능
- 이 명령어들을 통해서는 CONTROL FILE 안에 있는 정보파일이 지워지는 것이라서
파일은 남아 있기 때문에 OS 명령어로 파일을 삭제해줘야 함
- 무조건 그룹은 2개 남아질때까지만 지워질 수 있음. 그룹 남은 개수가 두개 이하는 지울 수가 없음
- 그룹안에 무조건 하나의 멤버는 있어야 하기 때문에 마지막 남은 멤버 파일은 지울 수가 없다. 이럴 땐 그냥 그룹을 삭제해야 함.
※ Redo Log File 상태 확인하는 SQL ※
vi log.sql
set line 200
col group# for 999
col mb for 999
col member for a45
col seq# for 999
col status for a8
col arc for a5
SELECT a.group#, a.member, b.bytes/1024/1024MB, b.sequence#, b.status, b.archived
FROM v$logfile a, v$log b
WHERE a.group# = b.group#
ORDER BY 1, 2
/
:wq!
@log
'오라클 ADMIN' 카테고리의 다른 글
Control File, Redo Log File, Data File 관리 연습 (0) | 2013.01.16 |
---|---|
Tablespace and Data Files (0) | 2013.01.15 |
Control file (0) | 2013.01.14 |
Data Dictionary (0) | 2013.01.14 |
STARTUP / SHUTDOWN (0) | 2013.01.14 |