oracle 启用归档日志

Oracle可以运行在2种模式下:归档模式(archivelog)和非归档模式(noarchivelog)

归档模式可以提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,归档模式应该和相应的备份策略相结合,只有归档模式没有相应的备份策略只会带来麻烦。

1.设置归档日志 目标地址

查看数据库是否在归档模式

SQL> select log_mode from v$database;


LOG_MODE
------------------------
NOARCHIVELOG


SQL> show parameter 'log_archive_dest_1'

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string
log_archive_dest_10                  string
log_archive_dest_11                  string
log_archive_dest_12                  string
log_archive_dest_13                  string
log_archive_dest_14                  string
log_archive_dest_15                  string
log_archive_dest_16                  string
log_archive_dest_17                  string
log_archive_dest_18                  string
log_archive_dest_19                  string

SQL> alter system set log_archive_dest_1='location=/u01/oracle/oradata/archive/archive' scope=spfile;


System altered.


SQL> show parameter log_archive_format;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format                   string      %t_%s_%r.dbf

--设置日志文件名称格式 重起数据库后生效
alter system set log_archive_dest_1='location=/u01/oracle/oradata/archive' scope=spfile;

SQL> System altered.

4.关闭数据库
SQL> shutdown immediate;


5. 启动数据库并加载
SQL> startup mount;


6.将数据库切换 为归档模式
SQL> alter database archivelog;

SQL> select log_mode from v$database;


LOG_MODE
------------------------
ARCHIVELOG


7.打开数据库
SQL> alter database open;
8. 切换日志,强迫归档


SQL> alter system switch logfile;


9. SQL> select archiver from v$instance;


ARCHIVER
--------------
STARTED


--查看生成的归档文件全路经
SQL> select name from v$archived_log;

NAME
--------------------------------------------------------------------------------
/u01/oracle/oradata/archive/arch_50d8fe87_1_762534602_37.log

Oracle10g之前,你还需要修改初始化参数使数据库处于自动归档模式。
在pfile/spfile中设置如下参数:
log_archive_start = true
重启数据库此参数生效,此时数据库处于自动归档模式。
也可以在数据库启动过程中,手工执行:
archive log start
使数据库启用自动归档,但是重启后数据库仍然处于手工归档模式。

从Oracle10g开始,log_archive_start参数已经废除,请参考:Oracle10g已经废弃log_archive_start参数.

原文地址:https://www.cnblogs.com/zmlctt/p/3690867.html