0%

oracle开启归档日志模式

在默认情况下,oracle数据库是在非归日志档模式中创建的,在非归档日志模式中,进行日志切换时会直接重写redo log,如果此时数据文件因为介质失败被损坏,则数据库恢复时会丢失掉被重写的数据;在归档日志模式下,数据库可以应用最近一次数据库备份开始生成的所有归档日志文件,保证数据无丢失;大部分的生产数据库以archivelog模式运行。
oracle数据库在开启归档日志模式后,会自动启动新的进程:归档器ARCn。默认情况下是开启4个进程,在实际应用中最多可以启动30个归档器进程。

1
2
3
4
5
$ ps -ef |grep arc
oracle 22248 1 0 11:35 ? 00:00:00 ora_arc0_airforecast
oracle 22250 1 0 11:35 ? 00:00:00 ora_arc1_airforecast
oracle 22252 1 0 11:35 ? 00:00:00 ora_arc2_airforecast
oracle 22254 1 0 11:35 ? 00:00:00 ora_arc3_airforecast

新建归档模式目录

1
mkdir /u01/app/oracle/oradata/airforecast/archivelog

设置实例参数

从9i开始后,oracle数据库可以指定10个归档目的地,但实例log_archive_dest_n中的n最大为30,通常情况下需要指定2个或者多个归档目的地来多路复用归档日志文件;在理想情况下,这些归档日志文件应当位于不同的磁盘存储上;实际应用中,一般还是指定一个,非常重要的数据库一般有data guard来保证高可用性。

变量描述
%d唯一的数据看标志符,如果多个数据库归档到同一目录,这是必须要的
%t线程号,适用于RAC数据看,无实际意义
%r场景(incarnation)号,在不完全恢复时需要用到
%s日志切换序列号,保证同一个库中的归档日志不会彼此重写

修改操作步骤如下:

1
2
3
SYS@airforecast> conn / as sysdba
SYS@airforecast> alter system set log_archive_dest_1='location=/u01/app/oracle/oradata/airforecast/archivelog' scope = spfile;
SYS@airforecast> alter system set log_archive_format='arch_%d_%t_%r_%s.log' scope = spfile;

重启数据库并开启归档日志模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SYS@airforecast> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@airforecast> startup mount;
ORACLE instance started.

Total System Global Area 4977278976 bytes
Fixed Size 2261768 bytes
Variable Size 1006636280 bytes
Database Buffers 3959422976 bytes
Redo Buffers 8957952 bytes
Database mounted.
SYS@airforecast> alter database archivelog;

Database altered.

SYS@airforecast> alter database open;

Database altered.

确认数据库是否为归档模式

1
2
3
4
5
6
7
8
9
10
11
SYS@airforecast> select log_mode from v$database;

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

SYS@airforecast> select archiver from v$instance;

ARCHIVE
-------
STARTED

切换日志检查归档日志是否正常

1
2
3
4
5
6
7
8
9
10
SYS@airforecast> alter system switch logfile;

System altered.

SYS@airforecast> select name from v$archived_log;

NAME
------------------------------------------------------------------------------------------------------------------------
/u01/app/oracle/oradata/airforecast/archivelog/arch_a9652e7f_1_1000805313_5.log
/u01/app/oracle/oradata/airforecast/archivelog/arch_a9652e7f_1_1000805313_6.log

参考链接:https://www.jianshu.com/p/f8c0e9309ce2