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 216

SQL> 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을 이용해서 설정을 해 버렸다..