본문 바로가기

Dev/DBMS

[ORACLE] ARCHIVE LOG MODE 운영 방법

반응형

--------------------------------------------------------------------
 ARCHIVE LOG MODE 운영 방법
--------------------------------------------------------------------

 Oracle에서 Online Backup을 받거나 완벽한 Recovery 작업을
 수행하기
 위해서는 DB를 Archive log mode로 운영하여야 한다.

 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로 변환한다.

 $ sqldba lmode=y

 SQLDBA> connect internal
 SQLDBA> startup mount * (1)
 SQLDBA> alter database archivelog * (2)
 SQLDBA> 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)
 SQLDBA>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한다.

 반대로, archivelog mode에서 no archivelog mode로
 전환하는 방법은 다음과
 같습니다.

 먼저, 위에서 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

 $ sqldba lmode=y (Oracle version 7.3 이상에서는 svrmgrl)
 SQLDBA> connect internal;           
 SQLDBA> shutdown immediate
 SQLDBA> startup mount           
 ORACLE instance started.           
 Database mounted.           
 SQLDBA> alter database noarchivelog;     
 Statement processed.           
 SQLDBA> alter database open;           
 Statement processed.

반응형