第17章 数据库的归档模式

1. 归档模式

  在归档模式下时,当LGWR后台进程的写操作从一个重做日志组切换到另一个重做日志组之后,归档写后台进程(ARCH/ARCn)就会将原来的重做日志文件的信息复制到归档日志文件中。可以把归档日志文件堪称是重做日志文件的克隆;

  要使归档的操作自动化,首先必须将数据库设置为归档模式,其次要启动归档后台进程(ARCn),还要有足够的硬盘空间以存储持续产生的归档日志文件;

将数据库设置为归档模式意味:

  1)当数据库崩溃(磁盘或系统文件问题所导致的)之后,所有提交数据都能恢复;

  2)可以对数据库进行联机备份;

  3)当某一非系统表空间脱机时,数据库的其他备份继续正常工作;

可以进行如下的不完全恢复:

  1)恢复到某一特定的时间点;

  2)恢复到某一特定SCN号;

  3)恢复到某一特定的归档文件的结尾;

2. 数据库设置为归档模式,步骤:

 1)以sysdba身份登录oracle数据库

 2)使用archive log list 命令查看数据库与归档相关的信息;

 3)正常关闭数据库,shutdown immediate;

 4)以加载方式启动数据库,startup mount;

 5)用alter database命令将数据库设置为归档模式,alter database archivelog;

 6)打开数据库,alter database open;

 7)验证当前数据库与归档相关的信息;

 8)做数据库的全备份(备份所有的数据文件和控制文件);

3. 手动完成从重做日志文件复制到归档日志文件中

  alter system archive log current;

4. 把数据库设置为归档模式之后应该立即启动归档后台进程,有两种方法启动归档日志进程

 1)通过命令:alter system archive log start;

 2)修改参数文件:将参数文件中的log_archive_start参数修改为true

  a)使用命令检查是否为true。show parameter log_archive_start

  b)如果为false,alter system set log_archive_start=true scope=spfile

  c)关闭数据库shutdown immediate

  d)启动数据库 startup。检查是否修改

5. 归档日志进程对外存(硬盘)写外存(硬盘),LGWR进程是读内存写外存(硬盘)。如果数据库的DML操作非常频繁,归档日志进程的读写可能跟不上LGWR。解决方法是启动多个归档后台进程。可以修改参数文件log_archive_max_processes

  alter system set log_archive_max_processes=3;

  show parameter log_archive_max_processes;

6. 可以通过修改参数文件中的log_archive_dest_n参数的方法来控制归档日志文件写到的物理硬盘和目录。

  1)查看 show parameter log_archive_dest_

  2)更改 alter system set log_archive_dest_1="LOCATION=f:\disk5\offlinelog\mandatory"

    location表示归档日志文件将放在本地磁盘上;mandatory表示该目录下的归档日志文件时强制性的,即在该目录下的归档日志文件在没有写成功之前,所对应的重做日志文件不能重用;

    alter system set log_archive_dest_1="LOCATION=f:\disk5\offlinelog\optional" optional表示该目录下的归档日志文件时可选的,即在该目录下的归档日志文件没有写成功,所对应的重做日志文件也可以重用。默认是optional;

  3)检查是否设置成功 show parameter log_archive_dest_1

  4)获得归档日志信息 select destination,binding,target,status from v$archive_dest;

  5)重做日志切换命令 alter system switch logfile,切换完毕后就会产生归档日志文件;

  6)查看归档日志文件 select name from v$archived_log;

7. 设置log_archive_min_succeed_dest保证成功的归档日志文件组数(最低要求)

  1)查看 show parameter log_archive_min_succeed_dest,如果当前值为1,表示oracle系统只能保证写到一个本地物理路径下的归档日志文件是好的;

  2)设置 alter system set log_archive_min_succeed_dest=2,表示oracle系统只能保证写到两个本地物理路径下的归档日志文件是好的,其中一个是强制性(mandatory)的而至少一个可选的(optional);

8. 设置log_archive_dest_state_n修改这个参数可以关闭或开启归档功能

  1)查看 select destination,binding,target,status from v$archive_dest;

  2)设置 alter system set log_archive_dest_state_1=defer,关闭归档日志

  3)开启归档日志 alter system set log_archive_dest_state_1=enable;
9.改变成归档模式的应用实例

  1)查看数据库当前的模式和与模式相关的其他信息

    archive log list;

  2)关闭数据库

    shutdown immediate;

  3)以加载方式启动数据库,并修改运行模式

    startup mount;

    alter database arvhivelog;

  4)打开数据库

    alter database open;

  5)查看数据库的运行模式

    archive log list;

注意:对oracle10g之前的版本,将数据库的运行模式改为归档之后,归档后台进程并不自动启动,需要手动启动

  6)做一次数据库的全备份

原文地址:https://www.cnblogs.com/kangxuebin/p/2853772.html