TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-05-07 |
제목 | ARCHIVE LOG MODE 운영 방법 | ||
---|---|---|---|
ARCHIVE LOG MODE 운영 방법
========================== Oracle에서 Online Backup을 받거나 완벽한 Recovery 작업을 수행하기 위해서는 DB를 Archive log mode로 운영하여야 한다. 텍스트로 만들어진 파라미터 화일을 사용하는 경우 (Oracle 8i 까지) Archive log mode로 운영하기 위해서는 다음과 같이 변경하여야 한다. 1. initSID.ora file과 configSID.ora 에 다음의 parameter가 이미 setting 되어 있는지 확인한 후에 없을 경우 initSID.ora 에 setting한다. 1) LOG_ARCHIVE_START = TRUE * ARCH process 가 기동 * log switch 발생 시 automatic archive를 수행한다. 만약 이 parametrer가 false이면 manual archive를 실시하여야 한다. 2) LOG_ARCHIVE_DEST = /home/oracle7/dbs/archive_file/arc * archive 장소의 디렉토리와 확장자를 포함하지 않는 파일명을 지정. * 여기에서 archive_file까지는 directory이며 마지막에 있는 arc는 archive log file의 initial 명이다. 3) LOG_ARCHIVE_FORMAT = %s.log * archive file의 확장자와 log sequence 번호의 형식을 지정. * 이는 (2)에서 정의된 archive log의 initial file 명과 함께 나타난다. [ 예 ] arc123.log, arc124.log (123과 124는 log sequence number 이다.) 와 같은 형태의 화일이 생성된다. 2. 다음과 같이 작업하여 archive log mode로 변환한다. $ svrmgrl SVRMGR> connect internal SVRMGR> startup mount - (1) SVRMGR> alter database archivelog; - (2) SVRMGR> archive log list - (3) Database log mode ARCHIVELOG - (4) Automatic archival ENABLED - (5) Archive destination ?/dbs_ar/offline_log/offline - (6) Oldest online log sequence 123 - (7) Next log sequence to archive 125 - (8) Current log sequence 125 - (9) SVRMGR> alter database open; - (10) (1) DB를 startup mount까지만 한다. (2) 이 Command를 이용하여 archivelog mode로 DB를 변경한다. (3) Archivelog mode로 변경되었는지를 확인한다. (4) DB가 Archivelog mode임을 나타낸다. 만약 NOARCHIVELOG로 되어 있으면 변경되지 않은 것을 의미한다. (5) initSID.ora file에서 LOG_ARCHIVE_START parameter를 TRUE로 정의하였음을 나타내며 false인 경우에는 DISABLED로 나타난다. (6) initSID.ora file의 LOG_ARCHIVE_DEST parameter에서 정의한 archive할 장소이다. (7) 3 개의 redo log 중 가장 오래된 redo log의 sequence가 123임을 의미한다. (8) 다음에 archive 받을 file의 log sequence 번호를 나타낸다. (9) 현재 사용 중인 redo log의 sequence가 125임을 의미한다. 만약 이전부터 archivelog mode로 운영 중이었다면 여기에서 archivelog file은 log sequence 124까지 archiveing되어있다는 것을 의미한다. (10) Archive mode로 변경 후 DB를 open한다. 바이너리로 만들어진 파라미터 화일을 사용하는 경우 (Oracle 9i 부터) Archive log mode로 운영하기 위해서는 다음과 같이 변경하여야 한다. 1. Parameter 확인 $sqlplus /nolog SQL>connect sys/passwd@orcl as sysdba Connected. SQL> archive log list Database log mode No Archive Mode Automatic archival Enabled Archive destination /u01/oracle/dbs/ Oldest online log sequence 1 Current log sequence 3 SQL> select name, value from v$parameter where name = 'log_archive_start' or name = 'log_archive_dest' or name = 'log_archive_format' ; 2. 다음과 같이 작업하여 archive log mode로 변환한다. SQL> ALTER SYSTEM SET LOG_ARCHIVE_START = TRUE SCOPE=SPFILE; System altered. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 89201304 bytes Fixed Size 453272 bytes Variable Size 67108864 bytes Database Buffers 20971520 bytes Redo Buffers 667648 bytes Database mounted. SQL> archive log list Database log mode No Archive Mode Automatic archival Enabled Archive destination /u01/oracle/dbs/archive/orcl/arc Oldest online log sequence 1 Current log sequence 3 SQL> alter database archivelog; Database altered. SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/oracle/dbs/archive/orcl/arc Oldest online log sequence 1 Next log sequence to archive 3 Current log sequence 3 SQL> alter database open 2 ; Database altered. 반대로, archivelog mode에서 no archivelog mode로 전환하는 방법은 다음과 같습니다. archivelog mode에서 no archivelog mode로 전환하기 전에 데이터베이스는 반드시 immediate 또는 normal 로 셧다운 되어야만 전환이 가능 합니다. 먼저, 위에서 setting 했던 initSID.ora file 와 configSID.ora 에 있는 다음 parameter 앞에 # 을 넣고 저장합니다. #LOG_ARCHIVE_START = TRUE #LOG_ARCHIVE_DEST = /home/oracle7/dbs/archive_file/arc #LOG_ARCHIVE_FORMAT = %s.log $ svrmgrl SVRMGR> connect internal; SVRMGR> shutdown immediate SVRMGR> startup mount ORACLE instance started. Database mounted. SVRMGR> alter database noarchivelog; Statement processed. SVRMGR> alter database open; Statement processed. 바이너리로 만들어진 파라미터 화일을 사용하는 경우 (Oracle 9i 부터) Noarchive log mode로 운영하기 위해서는 다음과 같이 변경하여야 한다. 1. Parameter 확인 $sqlplus /nolog SQL>connect sys/passwd@orcl as sysdba Connected. SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/oracle/dbs/archive/orcl/arc Oldest online log sequence 1 Next log sequence to archive 3 Current log sequence 3 SQL> select name, value from v$parameter where name = 'log_archive_start' or name = 'log_archive_dest' or name = 'log_archive_format' ; 2. 다음과 같이 작업하여 Noarchive log mode로 변환한다. SQL> ALTER SYSTEM SET LOG_ARCHIVE_START = FALSE SCOPE=SPFILE; System altered. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 89201304 bytes Fixed Size 453272 bytes Variable Size 67108864 bytes Database Buffers 20971520 bytes Redo Buffers 667648 bytes Database mounted. SQL> alter database noarchivelog; Database altered. SQL> archive log list Database log mode No Archive Mode Automatic archival Enabled Archive destination /u01/oracle/dbs/archive/orcl/arc Oldest online log sequence 1 Current log sequence 3 SQL> alter database open 2 ; Database altered. |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |