2009년 3월 22일 일요일

아카이브 모드 설정하기

아카이브 모드 설정하기
먼저 현재 DB가 아카이브 모드인지 노아카이브 모드인지를 알아 보려면 V$database 뷰의 log_mode 컬럼을 학인하여 알 수 있다.


SQL> select log_mode from v$database;

LOG_MODE
------------
NOARCHIVELOG

SQL>

이제 DB를 노아카이브모드에서 아카이브 모드로 전환하는 방법을 살펴보자. 두 모드 사이의 전환은 ALTER DATABASE 명령을 사용한다.

$ sqlplus system/manager as sysdba

SQL> shutdown normal
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.

SQL> startup mount;
ORACLE 인스턴스가 시작되었습니다.

Total System Global Area 289406976 bytes
Fixed Size 778796 bytes
Variable Size 103554516 bytes
Database Buffers 184549376 bytes
Redo Buffers 524288 bytes
Database mounted.

SQL> alter database archivelog;

Database altered.

SQL> alter database open;

Database altered.

SQL> select log_mode from v$database;

LOG_MODE
------------
ARCHIVELOG

SQL>
SQL> conn system/manager as sysdba
Connected.
SQL> archive log list;


아카이브 모드로 수행하기
아카이브 모드를 설정한 후 아카이브를 수행하는 방법은 두 가지가 있다.
1) 오라클 초기화 파일 init.ora의 변수를 이용하여 자동으로 수행하는 방법이고,
2) ALTER SYSTEM 명령으로 수동으로 실행하는 방법이 있다.

--------------------------------------------------------------------------------
자동으로 수행하기
자동으로 아카이브를 수행하기 위해 init.ora 초기화 파일에서 설정해야 하는 매개변수는 다음과 같다.


LOG_ARCHIVE_START=TRUE
LOG_ARCHIVE_DEST=[아카이브 파일의 경로와 파일이름]
LOG_ARCHIVE_DEST_n=[다른 아카이브 파일의 경로와 파일이름]
LOG_ARCHIVE_FORMAT=[포맷형식].[확장자]


각 매개변수의 특징은 다음과 같다.
LOG_ARCHIVE_START ARCH 백그라운드 프로세스에 의해 DB를 아카이브 모드로 전환하고, 로그 스위치가 발생하면 자동으로 아카이브 수행
LOG_ARCHIVE_DEST 리두 로그 파일에 대한 아카이브 파일이 생성될 기본 저장 경로
LOG_ARCHIVE_DEST_n 아카이브 경로를 여러 곳 저장할 때 사용, 최대 10개까지 경로 지정 가능
LOG_ARCHIVE_FORMAT 지정된 경로에 생성될 아카이브 파일의 파일 포맷
%s 자동으로 생성될 아카이브 파일의 일련번호 결정(예:1,2,3,..)
%S 자동으로 생성될 아카이브 파일의 일련번호를 0으로 채워 졀정 (예:000001,000002,000003,..)
%t DB가 하나의 인스턴스인지 여러 개의 인스턴스로 구성되었는지 구분하여 표시 (예:1,2,3,..)
%T DB가 하나의 인스턴스인지 여러 개의 인스턴스로 구성되었는지 0값으로 채워 구분하여 표시 (예:0001,0002,0003,..)

수동으로 수행하기
아카이브를 수동으로 실행하려면 ALTER SYSTEM ARCHIVE LOG ALL; 문을 사용한다.
이 ALTER SYSTEM 문을 실행하면 이전 백업이후 수정된 내용을 아카이브 파일에 기록한다. 자동 수행에 비해 DB 관리자가 항상 아카이브 파일에 기록할 시기를 결정하고 수행해야 함으로, 적절한 시기에 온라인 로그 파일의 내용을 아카이브 파일로 저장하지 못하면 시스템에 문제가 발생할 수 있다.

아카이브에 대한 정보 조회
archive log list; 아카이브에 대한 간단한 정보
v$database 아카이브 모드에 대한 정보
v$instance 아카이브 모드에 대한 정보
V$archived_log 실제로 아카이브 디렉토리로부터 아카이브 파일들의 존재를 확인

댓글 없음:

댓글 쓰기