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

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

    1.查看当前数据库是否处于归档模式:
    select name,log_mode from v$database;
    archive log list;


    2.改变非归档模式到归档模式:

    conn / as sysdba --(以DBA身份连接数据库)

    shutdown immediate; --(立即关闭数据库)

    startup mount; --(启动实例并加载数据库,但不打开) 启动数据库到mount状态

    alter database archivelog; --(更改数据库为归档模式)

    alter database open; --(打开数据库)

    alter system archive log start; --(启用自动归档)
    exit --(退出)

    3.改变归档模式到非归档模式:
    1)SQL>SHUTDOWN NORMAL/IMMEDIATE;
    2)SQL>STARTUP MOUNT;
    3)SQL>ALTER DATABASE NOARCHIVELOG;
    4)SQL>ALTER DATABASE OPEN;

    4.启用自动归档: LOG_ARCHIVE_START=TRUE
    归档模式下,日志文件组不允许被覆盖(重写),当日志文件写满之后,如果没有进行手动归档,那么系统将挂起,直到归档完成为止.
    这时只能读而不能写.
    运行过程中关闭和重启归档日志进程
    SQL>ARCHIVE LOG STOP
    SQL>ARCHIVE LOG START

    5.手动归档: LOG_ARCHIVE_START=FALSE
    归档当前日志文件
    SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;
    归档序号为052的日志文件
    SQL>ALTER SYSTEM ARCHIVE LOG SEQUENCE 052;
    归档所有日志文件
    SQL>ALTER SYSTEM ARCHIVE LOG ALL;
    改变归档日志目标
    SQL>ALTER SYSTEM ARCHIVE LOG CURRENT TO '&PATH';

    6.归档日志操作

    select group#,sequence#,bytes/1024/1024 byte_mb,members,status from v$log;--查看组号,每组文件数(成员数),文件大小和状态
    SELECT group#,member FROM v$logfile;--查看组号和文件位置
    ALTER DATABASE ADD LOGFILE GROUP 2 ('E:APPDELLORADATASRITSUBREDO02.LOG') SIZE 100M;--添加日志组并指定文件位置和大小
    alter database add logfile member 'D:ORACLEPRODUCT10.2.0ORADATATEST edo0401.log' to group 4;--添加日志成员
    ALTER SYSTEM SWITCH LOGFILE;--切换日志组
    ALTER SYSTEM CHECKPOINT;--改变检查点
    ALTER DATABASE DROP LOGFILE GROUP 2;--删除日志组
    alter database drop logfile member 'D:ORACLEPRODUCT10.2.0ORADATATEST edo0401.log';--删除日志成员

    7.oracle重做日志组的三种状态:current,active,inactive

    current:表示该日志组为当前日志组,oracle正在使用该日志组;

    active:当current redo组发生日志切换时,状态会改变为active,在这个状态下,如果数据库
    为归档模式,archive进程会归档active日志组;
    如果发生数据库crash,该日志组也是实例恢复必需的日志组;

    inactive:当active日志组归档完毕并且oracle判断不需要进行实例恢复时,会将其状态修改
    为inactive,等待下一轮的使用;

    所以当日志组为inactive的时候,如果数据库为归档模式.那么日志肯定是归档完成了。

  • 相关阅读:
    glade2支持C++代码的输出(1)
    通用的信号量捕获打印调用栈接口
    xbmc的静态链接办法
    SVG图片资源较多的一个WIKI网站
    批量图片大小调整
    每日算法
    每日算法
    每日算法
    每日算法
    每日算法
  • 原文地址:https://www.cnblogs.com/xuha0/p/5563908.html
Copyright © 2011-2022 走看看