zoukankan      html  css  js  c++  java
  • Oracle Redo 以及 Archived日志简述

    Oracle通过Redo Archived实现数据的归档

    什么是Redo日志

    Redo日志记录了数据的变更,用于在数据库出现故障后,进行数据恢复。

    功能主要由三个组件实现:Redo Log Buffer、LGWR后台进程、Redo Log File。

    Redo Log Buffer是Oracle共享内存中的一段空间,记录了数据库的变更历史,包括:insert,update,delete,create,alter,drop等。

    过程:

    • 用户内存中的记录 --复制--> SGA中的Redo Log Buffer。
    • Redo Log Buffer --LGWR写入--> Redo Log File中

    当用户积累了一定量的操作后,才会定期的导入到磁盘。

    Redo Log Buffer是循环利用的。Redo Log File也是循环利用的。

    Redo Log File通过用户组重用日志,可以通过命令查询:

    select group#,members,status from v$log;
    

    一般来说默认oracle会有3个日志组,每次往一个日志文件里面顺序写,如果写满;则会切换日志文件,继续写。

    什么是Archived日志

    Archived日志也叫作归档日志,是数据库运行在归档模式下的产物。

    可以通过命令查看,数据库是否运行在归档模式下:

    select log_mode from v$database;
    

    归档模式与非归档模式的区别:

    • 归档模式,就是当redo日志写满后,是否把该日志内容拷贝到归档日志进行统一的存储,避免下次写入的时候覆盖。
    • 非归档模式,即不适用归档模式,当日志写满后,直接切换日志,而不做任何的备份。下次轮到写入该文件时,文件的内容将会被覆盖。

    如何查看归档日志

    Oracle的归档日志以及重做日志都是二进制文件,外部是无法打开的。Oracle提供了一个叫做LogMiner的工具,可以查看日志的内容。

    LogMiner其实是Oracle自带的PLSQL包,大致过程如下:

    • 首先把分析的日志加进去
    • 启动logminer
    • 在动态视图v$logmnr_contens中查询信息
    -- 查询归档日志的路径
    select * from v$archived_log;
    -- 查询重做日志的路径
    select * from v$logfile;
    
    -- 通过LogMiner工具把日志中的数据提取出来
    begin
      sys.dbms_logmnr.add_logfile(LogFileName => 'D:APPXING.HLORADATAORCLREDO03.LOG', Options => sys.dbms_logmnr.NEW );
    end;
    
    begin
      sys.dbms_logmnr.start_logmnr(Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG);
    end;
    
    -- 查询视图中的重做日志
    select * from v$logmnr_contents;
    
  • 相关阅读:
    40款非常漂亮的 HTML5 & CSS3 免费网站模板【下篇】
    jQuery:收集一些基于jQuery框架开发的控件/jquery插件
    jquery插件整理篇(八)色彩选择器类
    让人期待的2011年度最佳 jQuery 插件发布啦
    25+ 个为设计师和开发者准备的 CSS 工具
    encodeprocess编码过程理解
    H.264整数DCT公式推导及蝶形算法分析
    视频编解码学习之一:理论基础
    MPEG系列与H.26x系列标准
    视频编解码学习之四:视频处理及编码标准
  • 原文地址:https://www.cnblogs.com/xing901022/p/5661654.html
Copyright © 2011-2022 走看看