Oracle Backup And Recovery 강좌
ARCHIVELOG 모드로 변경 6 4 99,999+

by drakula ARCHIVELOG pfile archive log list LOG_ARCHIVE_START LOG_ARCHIVE_DEST [2008.04.20]


운영 중인 오라클의 로그 모드 확인

 
SQL> ARCHIVE LOG LIST;

데이터베이스 로그 모드             아카이브 모드가 아님
자동 아카이브                      사용 안함
아카이브 대상                      C:\oracle\ora92\RDBMS
가장 오래된 온라인 로그 순서        17
현재 로그 순서                     19  
    

PFILE을 이용하여 ARCHIVE LOG MODE로 변경

1. 파라미터 파일에서 수정한다.(INIT.ORA 파일의 parameter 수정)
 
# 아카이브 프로세스를 오라클 시작과 함께 실행하도록 설정
# log switch 발생시 자동으로 archive를 수행 합니다
LOG_ARCHIVE_START = TRUE
 
# 아카이브 로그 파일을 저장할 디렉토리 설정
LOG_ARCHIVE_DEST = "C:\oracle\ora92\database\archive" 
 
# 아카이브 로그 파일의 이름 설정
LOG_ARCHIVE_FORMAT = %S.ARC  
    
LOG_ARCHIVE_FORMAT 옵션

  - %S : redo 로그 시퀀스 번호를 표시하여 자동으로 왼쪽이 0으로 채워져 파일 이름 길이를 일정하게 만든다.

  - %s : redo 로그 시퀀스 번호를 표시하고, 파일 이름 길이를 일정하게 맞추지 않는다.

  - %T : redo 스레드 넘버를 표시하며, 자동으로 왼쪽이 0으로 채워져 파일 이름 길이를 일정하게 만든다.

  - %t : redo 스레드 넘버를 표시하며, 파일 이름 길이를 일정하게 맞추지 않는다.

2. 데이터베이스를 종료 합니다(NORMAL, IMMEDIATE, TRANSACTIONAL)
 
SQL> SHUTDOWN IMMEDIATE;
    

3. 데이터베이스를 Mount 상태로 시작합니다.
 
SQL> STARTUP MOUNT;
    

4. ALTER DATABASE 명령을 사용하여 데이터베이스의 모드를 변경합니다.
 
 SQL> ALTER DATABASE ARCHIVELOG; 
    

5. 데이터베이스를 OPEN 합니다.
 
SQL> ALTER DATABASE OPEN;  
    

6. ARCHIVE LOG MODE가 정상적으로 설정되어 있는지 확인합니다.
 
SQL> ARCHIVE LOG LIST;

데이터베이스 로그 모드              아카이브 모드
자동 아카이브                       사용
아카이브 대상                       C:\oracle\ora92\database\archive
가장 오래된 온라인 로그 순서        17
아카이브할 다음 로그                19
현재 로그 순서                      19  
    

7. 데이터베이스에 대한 전체 백업을 수행합니다.

  NOARCHIVELOG 모드에서 ARCHIVELOG 모드로 변경한 후에는 Control file정보가 변경되어 이전의 백업본은 사용할 수 없으므로 반드시 모든 데이터파일 및 Control file을 백업하여야만 합니다.

SPILE을 수정하여 데이터베이스를 ARCHIVE LOG MODE로 변경

1. SPFILE설정
 
 -- sqlplus 실행
C:\> SQLPLUS /NOLOG
-- SYSDBA 권한으로 접속

SQL> CONN / AS SYSDBA

--LOG_ARCHIVE_START 파라미터 변경
SQL> ALTER SYSTEM SET 
     LOG_ARCHIVE_START=TRUE 
     SCOPE=SPFILE;

--LOG_ARCHIVE_DEST 파라미터 변경
SQL> ALTER SYSTEM SET 
     LOG_ARCHIVE_DEST='C:\oracle\ora92\database\archive'
     SCOPE=SPFILE;  
    

2. 데이터베이스를 종료 합니다(NORMAL, IMMEDIATE, TRANSACTIONAL)
 
SQL> SHUTDOWN IMMEDIATE;
    

3. 데이터베이스를 Mount 상태로 시작합니다.
 
SQL> STARTUP MOUNT;
    

4. ALTER DATABASE 명령을 사용하여 데이터베이스의 모드를 변경합니다.
 
SQL> ALTER DATABASE ARCHIVELOG;  
    

5. 데이터베이스를 OPEN합니다.
 
SQL> ALTER DATABASE OPEN;  
    

6. ARCHIVE LOG MODE가 정상적으로 설정되어 있는지 확인합니다.
 
SQL> ARCHIVE LOG LIST;
데이터베이스 로그 모드              아카이브 모드
자동 아카이브                       사용
아카이브 대상                       C:\oracle\ora92\database\archive
가장 오래된 온라인 로그 순서        17
아카이브할 다음 로그                19
현재 로그 순서                      19  
    

7. 데이터베이스에 대한 전체 백업을 수행합니다.

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

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

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

by 다조아 [2009.04.23 22:36:41]
감사합니다ㅜ

by 느훼훼 [2011.12.28 17:08:32]
8i 이상부턴가.. 9i 이상부턴지는 몰라도,
LOG_ARCHIVE_DEST = "C:\oracle\ora92\database\archive" <<< 이렇게
하면 안됩니다. 돌아갈 순 있어도 이 경로뿐만 아니라 core_dump_dest 에 지정된
경로에도 같이 쌓습니다. 실제로 이런 경험을 해봤고 db행걸려고 뻗을 뻔 했죠..

이 부분에 대한 지식을 가지고 계신분 있으면 부가설명 해주세요.
전 결론만 알지 해당 지식은 없네요~

by 구루비 [2015.04.16 13:44:04]

감사합니다 ;)


by 구루비 [2015.04.17 14:46:50]
LOG_ARCHIVE_START=TRUE 는 9i까지만 사용하고, 10g부터 사용 안하는 걸로 알고 있습니다~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입