数据库的归档模式

  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)做一次数据库的全备份

posted @ 2019-01-16 23:26  reaperhero  阅读(3224)  评论(0编辑  收藏  举报