[펌] 아카이브 모드 설정

원본 링크 : http://www.oracleclub.com/lecture/1975
 

◈ 운영 중인 오라클의 로그 모드를 확인합니다.
SQL> ARCHIVE LOG LIST;
데이터베이스 로그 모드              아카이브 모드가 아님
자동 아카이브                       사용 안함
아카이브 대상                       C:\oracle\ora92\RDBMS
가장 오래된 온라인 로그 순서        17
현재 로그 순서                      19


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


1. 파라미터 파일에서 수정한다.(INIT<SID>.ORA파일의 parameter 수정)

# 아카이브 프로세스를 오라클 시작과 함께 실행하도록 설정
# log switch 발생시 자동으로 archive를 수행 합니다
LOG_ARCHIVE_START = TRUE
 
# 아카이브 로그 파일을 저장할 디렉토리 설정
LOG_ARCHIVE_DEST = "C:\oracle\ora92\database\archive" 
 
# 아카이브 로그 파일의 이름 설정
LOG_ARCHIVE_FORMAT = %S.ARC
 
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. 데이터베이스에 대한 전체 백업을 수행합니다.


LOG_ARCHIVE_FORMAT 옵션
 - %S : redo 로그 시퀀스 번호를 표시하여 자동으로 왼쪽이 0으로 채워져 파일 이름 길이를 일정하게 만든다.
 - %s : redo 로그 시퀀스 번호를 표시하고, 파일 이름 길이를 일정하게 맞추지 않는다.
 - %T : redo 스레드 넘버를 표시하며, 자동으로 왼쪽이 0으로 채워져 파일 이름 길이를 일정하게 만든다.
 - %t : redo 스레드 넘버를 표시하며, 파일 이름 길이를 일정하게 맞추지 않는다.  
※ 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. 데이터베이스에 대한 전체 백업을 수행합니다.

spfile 파일 내용 [oracle@localhost dbs]$ cat spfileora9i.ora
Z³1(
*.aq_tm_processes=1
*.background_dump_dest='/usr/local/ora9i/admin/oracle/bdump'
*.compatible='9.2.0.0.0' *.control_files='/usr/local/ora9i/oradata/oracle/control01.ctl','/usr/local/ora9i/oradata/oracle/control02.ctl','/usr/local/ora9i/oradata/oracle/control03.ctl' *.core_dump_dest='/usr/local/ora9i/admin/oracle/cdump'
*.db_block_size=8192
*.db_cache_size=33554432 *.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=ora9iXDB)' *.fast_start_mttr_target=300
*.hash_join_enabled=TRUE
*.instance_name='ora9i'
*.java_pool_size=83886080
*.job_queue_processes=10
*.large_pool_size=16777216
*.log_archive_dest='/usr/local/ora9i/product/9.2.0/dbs/arch'
*.log_archive_start=TRUE

*.open_cursors=300
*.pga_aggregate_target=25165824
*.processes=150
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=83886080
*.sort_area_size=524288
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/usr/local/ora9i/admin/oracle/udump'

출처 : 오라클 클럽 http://www.oracleclub.com

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://sangu12.egloos.com/tb/2852732 [도움말]

덧글

댓글 입력 영역


메모장