zoukankan      html  css  js  c++  java
  • oracle归档日志管理

    归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库.
    日志操作模式:ARCHIVELOG NOARCHIVELOG
    1,改变日志操作模式:
    检查当前日志操作模式
    SELECT log_mode from v$database;

    关闭数据库,然后装载数据库
    SHUTDOWN IMMEDIATE
    STARTUP MOUNT

    改变日志操作模式,然后打开数据库
    ALTER DATABASE ARCHIVELOG;
    ALTER DATABASE OPEN;

    2,执行手工归档
    从oracle database 10g开始,当将日志操作模式转变未ARCHIVELOG模式时,oracle会自动启动ARCH进程.如果要使用手工归档.那么在改变日志操作模式时必须使用命令ALTER DATABASE ARCHIVELOG MANUAL.
    需要注意,使用手工归档方式,数据库管理员必须手工执行归档命令.如果没有执行手工归档命令,日志组的原有内容将不能被覆盖.ALTER DATABASE ARCHIVELOG MANUAL 命令是为了与先前的版本兼容而保留的,.将来的oracle版本会淘汰该命令,使用手工归档方式是,数据库管理员可以执行以下命令归档重做日志:
    ALTER SYSTEM ARCHIVELOG ALL;
    3,配置归档进程
    初始化参数LOG_ARCHIVE_MAX_PROCESSES用于指定例程初始启动的最大归档进程个数,当将数据库转变为ARCHIVELOG模式时,默认情况下oracle会自动启动两个归档进程.通过改变初始化参数LOG_ARCHIVE_MAX_PROCESS的值,可以动态地增加或降低归档进程的个数:
    ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3;
    配置归档位置和文件格式
    当数据库处于ARCHIVELOG模式时,如果进行日志切换,后台进程将自动生成归档日志,归档日志的默认位置为%oracle_home%rdbms,在oracle database 10g中,归档日志的默认文件格式为ARC%S_%R.%T.为了改变归档日志的位置和名称格式,必须改变相应的初始化参数,

    1,初始化参数LOG_ARCHIVE_FORMAT用于指定归档日志的文件名格式,设置该初始化参数时,可以指定以下匹配符:

    %s: 日志序列号:
    %S: 日志序列号(带有前导0)
    %t: 重做线程编号.
    %T: 重做线程编号(带有前导0)
    %a: 活动ID号
    %d: 数据库ID号
    %r RESETLOGS的ID值.
    从10g开始,配置归档日志文件格式时,必须带有%s,%t和%r匹配符,配置了归档文件格式后,必须重启数据库.

    2,使用LOG_ARCHIVE_DEST配置归档位置
    如果不使用备用数据库,只需要将归档日志存放到本地目录.配置本地归档位置可以使用初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST,其中,第一个参数用于设置第一个归档位置,第二个参数用于指定第二个归档位置.
    ALTER SYSTEM SET log_archive_dest='d:demoarchive1';
    ALTER SYSTEM SET log_archive_duplex_dest='d:demoarchive2';

    3,使用LOG_ARCHIVE_DEST_n配置多个归档位置.
    初始化参数LOG_ARCHIVE_DEST_n用于指定多个归档位置,该参数最多可以指定10个归档位置.通过使用初始化参数LOG_ARCHIVE_DEST_n,不仅可以配置本地归档位置,还可以配置远程归档位置.
    如果既要在主节点上生成归档日志,又要将归档日志传递到备用节点,那么必须使用参数LOG_ARCHIVE_DEST_n.该参数与LOG_ARCHIVE_DEST具有如下区别;
    初始化参数LOG_ARCHIVE_DEST_n可以配置本地归档位置和远程归档位置,而初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST只能配置本地归档位置.
    初始化参数LOG_ARCHIVE_DEST_n可以配置多达10个归档位置,而初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST最多只能配置两个归档位置.
    初始化参数LOG_ARCHIVE_DEST_n 不能与初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同时使用.
    因为初始化参数LOG_ARCHIVE_DEST_n不能与初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同时使用,所以必须禁用初始化参数LOG_ARCHVE_DEST和LOG_ARCHIVE_DUPLEX_DEST.当使用初始化参数LOG_ARCHIVE_DEST_n配置本地归档位置时,需要指定LOCALTION选项.当配置远程归档位置时,需要指定SERVICE选项.
    示例如下:
    ALTER SYSTEM SET log_archive_duplex_dest='';
    ALTER SYSTEM SET log_archive_dest='';
    ALTER SYSTEM SET log_archive_dest_1='location=d:demoarchive1';
    ALTER SYSTEM SET log_archive_dest_2='location=d:demoarchive2';
    ALTER SYSTEM SET log_archive_dest_3='location=d:demoarchive3';
    ALTER SYSTEM SET log_archive_dest_4='service=standby';
    配置远程归档位置时,SERVICE选项需要指定远程数据库的网络服务名(在tnsnames.ora文件中配置)

    4,使用LOG_ARCHIVE_DEST_n选项
    使用初始化参数LOG_ARCHIVE_DEST_n配置归档位置时,可以在归档位置上指定OPTIONAL或MANDATORY选项.指定MANDATORY选项时,可以设置REOPEN属性.
    OPTIONAL:该选项是默认选项.使用该选项时,无论归档是否成功,都可以覆盖重做日志.
    MANDATORY:强制归档.使用该选项时,只有在归档成功之后,重做日志才能被覆盖.
    REOPEN:该属性用于指定重新归档的时间间隔,默认值为300秒,必须跟在MANDATORY后.
    例:
    Alter system set log_archive_dest_1=’location=d:demoarchive1 mandatory’;
    Alter system set log_archive_dest_2=’location=d:demoarchive2 mandatory reopen=500’;
    Alter system set log_archive_dest_3=’location=d:demoarchive3 optional’;

    5,控制本地归档成功的最小个数.
    使用初始化参数LOG_ARCHIVE_MIN_SUCCEED_DEST控制本地归档的最小成功个数
    Alter system set log_archive_min_succeed_dest=2;

    6,使用初始化参数LOG_ARCHIVE_DEST_STATE_n控制归档位置的可用性.设置该参数为ENABLE(默认值),表示会激活相应的归档位置;设置该参数为DEFER,表示禁用相应归档位置.当归档日志所在磁盘损坏或填满时,DBA需要暂时禁用该归档位置.
    Alter system set log_archive_dest_state_3=defer;(禁用)
    Alter system set log_archive_dest_state_3=enable;(启用)

    显示归档日志信息
    1,使用ARCHIVE LOG LIST命令可以显示日志操作模式,归档位置,自动归档机器要归档的日志序列号等信息.
    2显示日志操作模式
    SELECT name,log_mode FROM v$database;
    3,显示归档日志信息.
    Col name format a46
    Select name, swquence#, first_change# FROM v$archived_log;
    Name用于表示归档日志文件名,sequence#用于表示归档日志对应的日志序列号,firs_change#用于标识归档日志的起始SCN值.

    4、执行介质恢复时,需要使用归档日志文件,此四必须准确定位归档日志的存放位置.通过查询动态性能视图v$archive_dest可以取得归档日志所在目录.
    SELECT destination FROM v$archive dest;

    5,显示日志历史信息
    SELECT * FROM v$loghist;
    THREAD#用于标识重做线程号,SEQUNCE#用于标识日志序列号,FIRST_CHANGE#用于标识日志序列号对应的起始SCN值,FIRST_TIME用于标识起始SCN的发生时间.SWICTH_CHANGE#用于标识日志切换的SCN值.

    6.显示归档进程信息.
    进行日志切换时,ARCH进程会自动将重做日志内容复制到归档日志中,为了加快归档速度,应该启用多个ARCH进程.通过查询动态性能视图V$ARCHIVE_PROCESSES可以显示所有归档进程的信息!
    SELECT * FROM v$archive_processes;
    Porcess用于标识ARCH进程的编号,status用于标识ARCH进程的状态(ACTIVE:活动,STOPPED:未启动),log_sequence用于标识正在进行归档的日志序列号,state用于标识ARCH进程的工作状态。

    《FROM:http://blog.sina.com.cn/s/blog_601d1ce30100dup0.html》

    =================

    归档日志信息查看:

    1、查看每天生成的归档日志大小情况:

    SELECT TRUNC(FIRST_TIME) "日期",TRUNC(SUM(BLOCKS*BLOCK_SIZE)/1024/1024/1024,2)  "大小(GB/DAY)" FROM V$ARCHIVED_LOG GROUP BY(FIRST_TIME) ORDER BY 1 DESC;

    2、查看所有归档日志文件的详细信息

    select * from v$archived_log;

  • 相关阅读:
    【find -exec】查找并复制文件
    【xargs -i】复制文件夹中前100个文件
    【make install】自定义安装目录,添加动态链接库 【--prefix】 【ldconfig】 【LD_LIBRARY_PATH】
    【mlflow】执行import mlflow 报错:ImportError: No module named 'pkg_resources'
    【linux echo -e命令】
    【pip uninstall 无法卸载】Not uninstalling numpy at /usr/lib/python2.7/dist-packages, outside environment /usr
    【linux set命令】shell bash 打印执行的命令
    E-trunk和Eth-trunk 区别
    硬盘录像机常见问题解答硬盘录像机故障解决
    wps不记录打开打开的文件
  • 原文地址:https://www.cnblogs.com/rusking/p/4314967.html
Copyright © 2011-2022 走看看