1.查询当前归档模式

#方法一,若为ARCHIVELOG则已开启归档模式
select log_mode from v$database;

#方法二,若为ENABLE则已开启归档模式
archive log list
#Archive destination参数为当前数据库归档路径

2.修改归档路径

注意:修改归档路径和文件格式也需要重启,建议在修改归档模式前操作

#注意:log_archive_dest与log_archive_dest_n这两个参数是不能够同时设置值、共存的

#设置归档路径
#1.需将log_archive_dest参数更改为空值
alter system set log_archive_dest='' scope=spfile;
#2.修改归档路径
alter system set log_archive_dest_1='location=/u01/app/oracle/product/12.2.0/db_1/dbs/arch' scope=spfile;

#修改归档文件格式
alter system set log_archive_format='arch_%t_%s_%r.arc' scope=spfile;

上述修改重启数据库后生效

3.修改归档模式

注意:修改归档模式需对数据库做重启操作

#关闭数据库
sql> shutdown immediate;

#打开控制文件,不打开数据文件
sql> startup mount;

#更改归档模式
#1.将数据库切换为非归档模式
sql> alter database noarchivelog; 
#2.将数据库切换为归档模式
sql> alter database archivelog; 

#将数据文件打开
sql> alter database open;

#查看此时的归档模式
sql> archive log list;

Related Posts