-- 현재 PARAMETER설정 조회
select * from v$parameter where name like '%archive%';
select * from v$parameter where name like '%recovery%';

-- spile 사용여부 조회
show parameter pfile;

-- ARCHIVE LOG MOD 사용여부 조회
-- 11g 2에서는 아카이브 대상이 USE_DB_RECOVERY_FILE_DEST로 나온다.
archive log list;

-- USE_DB_RECOVERY_FILE_DEST의 경로 확인
show parameter DB_RECOVERY_FILE_DEST;

-- LOG_ARCHIVE_DEST 에 archive log파일 백업 경로를 설정할려면 LOG_ARCHIVE_DEST_n 나 DB_RECOVERY_FILE_DEST 경로는 초기화 해줘야 한다.

alter system set DB_RECOVERY_FILE_DEST = '';
alter system set LOG_ARCHIVE_DEST = 'E:\oracle_backup\arch1';
alter system set LOG_ARCHIVE_DUPLEX_DEST = 'E:\oracle_backup\arch2';
alter system set LOG_ARCHIVE_FORMAT = '%T_%S_%R.arc' scope=spfile;

-- 다시 DB_RECOVERY_FILE_DEST에 경로 설정을 시도하면
-- 'LOG_ARCHIVE_DEST 또는 LOG_ARCHIVE_DUPLEX_DEST으로 db_recovery_file_dest(를)을 사용할 수 없습니다'는 메시지가 나온다.
alter system set DB_RECOVERY_FILE_DEST = 'C:\oracle\Administrator\flash_recovery_area'; 
SQL> shutdown
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.

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

Total System Global Area  778387456 bytes
Fixed Size                  1374808 bytes
Variable Size             436209064 bytes
Database Buffers          335544320 bytes
Redo Buffers                5259264 bytes
데이터베이스가 마운트되었습니다.

SQL> archive log list;
데이터베이스 로그 모드              아카이브 모드가 아님
자동 아카이브             사용 안함으로 설정됨
아카이브 대상            E:\oracle_backup\arch2
가장 오래된 온라인 로그 순서     48
현재 로그 순서           50

SQL> alter database archivelog;

데이타베이스가 변경되었습니다.

SQL> alter database open;

데이타베이스가 변경되었습니다.

SQL> archive log list;
데이터베이스 로그 모드              아카이브 모드
자동 아카이브             사용으로 설정됨
아카이브 대상            E:\oracle_backup\arch2
가장 오래된 온라인 로그 순서     48
아카이브할 다음 로그   50
현재 로그 순서           50

SQL> alter system switch logfile;

시스템이 변경되었습니다.

SQL> alter system switch logfile;

시스템이 변경되었습니다.

SQL> alter system switch logfile;

시스템이 변경되었습니다.


이렇게 변경하고 나면 spfile<sid>.ora 파일의 내용에 archive log 관련 항목의 내용도 변경되어 있다.