1、查看现有的模式:
SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG
2、查看归档模式状态:
SQL> archive log list;
Database log mode NO Archive Mode
Automatic archival disabled
Archive destination /home/oracle/product/11.2.0/dbhome_1/dbs/arch 莫认存放归档日志的路径。
Oldest online log sequence 6
Next log sequence to archive 8
Current log sequence 8
3、关闭数据库:因为打开归档莫式需要在数据库mount下进行。
SQL>shutdown immediate;
4、将数据库起到mount模式下:
SQL>startup mount;
5、开启归档模式:
SQL> alter database archivelog;
6、查看归档状态:
SQL> archive log start;
Statement processed.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/product/11.2.0/dbhome_1/dbs/arch
Oldest online log sequence 6
Next log sequence to archive 8
Current log sequence 8
7、打开数据库:
SQL> alter database open;
8、创建归档日志存放路径:
[oracle@ora11g oradata]$ mkdir archlog
[oracle@ora11g archlog]$ pwd
/home/oracle/oradata/archlog
9、设置归档日志存放路径:
SQL> alter system set log_archive_dest_1='location=/home/oracle/oradata/archlog'; 路径必须和所建路径一致。
System altered.
10、设置归档日志格式:
SQL> alter system set log_archive_format='%s_%t_%r.log' scope=spfile;
System altered.
11、设置归档日志状态:
SQL> alter system set log_archive_start=true scope=spfile;
System altered.
12、重启数据库。
在一些特殊情况下可能要关闭归档模式:
将数据库启到mount状态下:
1、关闭归档:
SQL> ALTER DATABASE NOARCHIVELOG;
2、重新查询归档模式
SQL> archive log list;
Database log mode NO Archive Mode
Automatic archival disabled
Archive destination =/home/oracle/oradata/archlog'
Oldest online log sequence 6
Next log sequence to archive 8
Current log sequence 8
3、重新打开数据库:
SQL> ALTER DATABASE OPEN;