Oracle Admin 강좌 (Oracle9i)
Redo Log File 설명 6 4 34,044

by 김정식 REDO LOG FILE 리두 로그 파일 LGWR V$THREAD V$LOG V$LOGFILE [2002.01.23]


온라인 리두 로그 파일?

  리두 로그 파일은 데이터베이스에서 생긴 모든 변화를 기록하는 파일 입니다.

  인스턴스 실패 같은 상황에서 데이터 파일에 쓰여지지 않은 커밋된 데이터를 복구하기 위해서 사용 됩니다.

  SGA 내의 리두 로그 버퍼 캐쉬에 저장된 데이터들은 리두 로그 버퍼가 일정수준 이상 채워지게 되면 LGWR에 의해서 리두 로그 파일로 저장 됩니다.

  리두 로그 파일은 적어도 두개 이상의 그룹을 가지며, 한 그룹내의 각 맴버들은 모두 동일한 테이터를 가집니다.

온라인 리두 로그 그룹

  동일한 리두 로그 파일의 복사본 입니다.

  LGWR은 그룹 내의 모든 리두 로그 파일에 동시에 동일한 정보를 기록 합니다.

  최소한 2개 이상의 온라인 리두 로그 그룹이 필요 합니다.

온라인 리두 로그 멤버

  그룹내의 각 온라인 리두 로그 파일

  각 멤버는 동일한 로그 시퀀스 번호 와 동일한 크기를 갖습니다.

  현재의 로그시퀀스번호(Log Sequence Number)는 콘트롤 파일과 모든 데이타 파일 헤더에 저장 됩니다. → 로그 스위치를 일으킬 때

그룹에 대한 정보

  V$THREAD를 통해서 조회할 수 있습니다.

  Online Redo Log groups의 수, Current Log Group, Sequence Number을 볼 수 있습니다.

 
SQL> CONN / AS SYSDBA
SQL> SELECT groups, current_group#, sequence#
     FROM V$THREAD;

GROUPS  CURRENT_GR  SEQUENCE#
------  ----------  ----------
    3           2           50  
    

그룹과 멤버에 대한 정보

V$LOG
 
SQL> SELECT group#, sequence#, bytes, members, status
     FROM  V$LOG;

GROUP# SEQUENCE#   BYTES MEMBERS   STATUS
------ --------- ------- ------- ---------
     1        49 1048576       1  INACTIVE
     2        50 1048576       1  CURRENT --> 현재 사용중인 로그 파일
     3        48 1048576       1  INACTIVE  
    
※ 온라인 로그 화일의 STATUS
  • - CURRENT : LGWR Process 가 현재 사용중인 상태.
  • - ACTIVE : 사용중이지는 않지만 긴 트랜젝션으로 인해 Recovery에 필요한 상태.
  • - INACTIVE : Recovery 에도 필요하지 않은 상태

V$LOGFILE
 
SQL> SELECT group#, status, member
     FROM  V$LOGFILE;

GROUP#  STATUS  MEMBER
------ ------- -------------------------------------
     1 STALE   C:\ORACLE\ORADATA\ORACLE\REDO03.LOG
     2         C:\ORACLE\ORADATA\ORACLE\REDO02.LOG
     3 STALE   C:\ORACLE\ORADATA\ORACLE\REDO01.LOG  
    

- 강좌 URL : http://www.gurubee.net/lecture/1091

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 김정식 [2004.01.02 11:07:44]

◈ 리두 로그 스위치

- 로그 스위치 시에, 현재의 리두 로그 그룹은 이 리두 로그 그룹에 저장된 정보를 식별하는 로그 시퀀스 번호를 부여받으며, 또한 동기화를 위해 사용됩니다.

- LGWR이 하나의 리두 로그 그룹으로 기록하는 것을 멈추고 다른 그룹으로 기록하기 시작할 때 로그 스위치가 발생합니다.

- LGWR이 하나의 로그 파일 그룹을 가득 채웠을 때 로그 스위치가 발생합니다.

- DBA 는 "ALTER SYSTEM SWITCH LOGFILE" 명령을 사용하여 로그 스위치를 강제로 실행할 수 있습니다.

- 체크포인트는 로그 스위치 시에 자동적으로 발생합니다.

- 그룹의 적어도 한 멤버가 이용 가능한 한 처리가 계속될 수 있습니다. 훼손되고 이용 불가능해진 멤버가 발견되면, 메시지는 LGWR 추적 파일(trace file)과 경고 파일(alert file)로 기록됩니다.

by 김정식 [2004.04.01 11:37:49]
◈ Redo Log 파일과 로그 시퀀스 번호

리두로그파일 이름과 리두로그시퀀스 번호를 혼동하지 않도록 주의해야 합니다.

리두로그시퀀스 번호는 오라클에서 로그가 채워지고 순환되는 순서를 결정하기 위해 사용하며
리두로그 파일 이름은운영체제에서 물리적 파일 이름을 구별 할 때 사용 합니다.

예를 들어 리두로그파일이 log1.log, log2.log, log3.log가 있다고 가정하면 처음 리두
로그를 저장할때의 리두로그시퀀스번호는 각각 1,2,3 입니다.

log3.log까지 저장하고 나면 log1.log에 다시 로그를 저장하는데 이때의 로그시퀀스번호는
4가 됩니다.

by 정순표 [2007.08.10 09:35:10]
redolog 상태중에서 메뉴얼에는
- ACTIVE : 사용중이지는 않지만 긴 트랜젝션으로 인해 Recovery 에 필요한 상태.
- INACTIVE : Recovery 에도 필요하지 않은 상태

==> 그리고 두상태에 archive 되거나 되지 않거나라고 되어 있습니다.
이게 무슨 말인지.. 잘이해가 안가는데요..
active 랑 inactive 둘다 되거나 되지 않거나 라고 되어 있습니다.

by 학생 [2012.01.22 12:54:43]
로그스위치를 어떤경우 강제로 발생시켜 사용하는지 알고 싶어요
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입