Oracle DB에 접속을해 DML 및 DDL 등의 명령어로 작업을 수행하면, 모든 작업의 기록은 redo log 파일에 저장이된다.
작업의 양이 많아지면 redo log파일에 기록하는 내용도 굉장히 많아지게 된다. 그렇게 되면 데이터를 기록하기 위해서 redo log파일을 늘려야 하는 일이 발생 하기도 한다.
하지만 Oracle redo log 파일은 계속 증가하는 것이 아니라 몇개의 log 파일을 만들어 놓고 번갈아 가면서 기록하는 구조로 되어 있다.
이렇게 작업을 하게 되면 새로운 작업의 내용이 예전의 작업내용을 덮어 쓰므로 이전 작업의 내용을 잃게 된다는 단점이 있다 .
이러한 단점을 해결 하기 위한 방법이 redo log 파일의 내용을 다른 디렉터리에 자동으로 복사해서 저장하도록 운영하는 방법이다. 이렇게 운영하는 방법을 아카이브 로그 모드(Archive Log Mode) 이다.
Oracle 에서 Default로 No Archive Log Mode 이며, Archive Log Mode로 운영하기 위해서는 아래와 같이 설정을 진행 해야 한다.
Server : VMware
OS : CentOS 7
DB : Oracle 19c ASM Single
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 76
Current log sequence 78
SQL> alter system set log_archive_dest='/u01/app/oracle/fast_recovery_area/ORCL/archivelog' scope=spfile ;
Database altered.
SQL> alter system set log_archive_format='%d_%t_%s_%r.dbf' scope=spfile sid='*';
Database altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 76
Current log sequence 78
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 76
Current log sequence 78