1. 먼저, 아카이브 모드로 운영되는지 확인.(sqlplus 로 접속후 확인)
몇가지 방법이 있음…
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 214
Current log sequence 216SQL> select log_mode from v$database;
LOG_MODE
————
NOARCHIVELOG
2. 위를 보면 아카이브 모드가 아닌것을 알 수 있음.
3. spfile(server parameter file)로 부터 pfile(parameter file)생성.
SQL> create pfile=’$ORACLE_HOME/dbs/initfox.ora’
from spfile=’$ORACLE_HOME/dbs/spfilefox.ora’;
4. 위에서 생성한 pfile에 아래 사항을 추가(ARCHIVE_LOCATE는 다른 파티션에 잡아주는것이 좋다.)
*.log_archive_start=TRUE
*.log_archive_dest_1=’location=ARCHIVE_LOCATE’
*.log_archive_format=’SID_%s_%t_%r.arc’
5. 설정을 적용하기위해 데이타베이스를 재시작한다.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.SQL> startup mount;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.Total System Global Area 293601280 bytes
Fixed Size 1978144 bytes
Variable Size 125833440 bytes
Database Buffers 159383552 bytes
Redo Buffers 6406144 bytes
Database mounted.SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 215
Next log sequence to archive 217
Current log sequence 217
6. 아카이브로그가 생성되는지 확인해본다.
여기에서 문제가 발생했다. 아카이브 로그가 지정한 디렉토리에 생성되지 않고 USE_DB_RECOVERY_FILE_DEST에 생성이 되는 문제다. 여기에서 USE_DB_RECOVERY_FILE_DEST를 내가 원하는 디렉토리로 바꾸는 방법은?
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.Total System Global Area 293601280 bytes
Fixed Size 1978144 bytes
Variable Size 113250528 bytes
Database Buffers 171966464 bytes
Redo Buffers 6406144 bytes
Database mounted.
SQL> alter database noarchivelog;Database altered.
SQL> alter database open;
Database altered.
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 217
Current log sequence 219
SQL>
일단 No archive mode로 바꾸고 난 후.
SQL> alter system
2 set log_archive_start = true
3 scope=spfile
4 ;
System altered.SQL> alter system
2 set log_archive_dest_1=’location=/export/home/oracle_archive’
3 scope=spfile;System altered.
SQL> alter system
2 set log_archive_format=’fox_%s_%t_%r.arc’
3 scope=spfile;System altered.
그 후에 데이타베이스를 재 시작 해 준다.
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.SQL> startup mount
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /export/home/oracle_archive
Oldest online log sequence 217
Current log sequence 219
원하는 디렉토리로 바뀌었다.
다시 아카이브 모드로 바꿔준다.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /export/home/oracle_archive
Oldest online log sequence 217
Next log sequence to archive 219
Current log sequence 219
사실 , 처음에는 pfile을 이용하려고 했던 것인데, spfile을 이용해서 설정을 해 버렸다..
;ㅡㅡ
1 comment
포맷의 의미..
%s: log sequence number
%S: log sequence number, zero filled
%t: thread number
%T: thread number, zero filled
%a: activation ID
%d: database ID
%r: resetlogs ID that ensures unique names are constructed for the archived log files across multiple incarnations of the database