oracle 11g 归档模式

 

了解oracle的归档模式,就需要了解oracle的工作方式,简单讲oracle是将数据处理任务(事务)都做的记录,所有事情都是在日志中记录的。

开启归档模式简单来说,就是设置oracle将操作数据库的日志整理归档成文件后保存到指定位置。

默认的非归档模式,就是将这些日志丢弃了。

oracle安装好后,默认是没有开启归档模式的。

 

归档日志有什么用呢?

归档日志就是oracle对数据事务处理的全记录,也就是oracle对数据操作的所有操作顺序与操作内容。

有了归档日志,就可以知道oracle具体在什么时间做了什么。

oracle可以根据归档日志,将数据库还原到任意时间点,前提是归档日志必须是全的,中间没有断档。

这在oracle数据库故障恢复起到非常重要的作用。

 

1. 查看数据库是否为归档模式

 

[oracle@testdb ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on Mon Nov 10 21:42:13 2014

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning option

 

SQL> archive log list;

Database log mode              No Archive Mode

Automatic archival             Disabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     1

Current log sequence           3

SQL> 

 

SQL> archive log list;

 

2. 修改数据库为归档模式。

   必须在mount状态下修改。

 

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

 

Total System Global Area  784998400 bytes

Fixed Size                  2232472 bytes

Variable Size             473960296 bytes

Database Buffers          306184192 bytes

Redo Buffers                2621440 bytes

Database mounted.

SQL> alter database archivelog;

 

Database altered.

 

SQL> alter database open;

 

Database altered.

 

3. 查看归档日志保存的位置

 

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     1

Next log sequence to archive   3

Current log sequence           3

SQL> 

 

 

4. 修改归档日志保存位置

从oracle10g 开始,归档日志可以同时保存在两个位置,以防不测。

 

SQL> alter system set log_archive_dest_1='location=/data/oracle/log1/archive_log'; 

SQL> alter system set log_archive_dest_2='location=/data/oracle/log2/archive_log';