Oracle Redo 以及 Archived日志简述
2016-07-11 21:17
375 查看
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:\APP\XING.HL\ORADATA\ORCL\REDO03.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;
相关文章推荐
- Oracle常用SQL查询
- Oracle数据库
- oracle exists判断一个日期格式的字段是否存在逗号拼接的字符串日期里
- oracle 函数connect by及一些属性(PRIOR 、lpad、rpad、concatchar、concat.....)
- oracle clob 最大存储
- Create Oracle 12c Template Database In Silent
- Create Oracle 12c Template Database In Silent
- 修改oracle数据库的字符集
- Oracle数据库-建库、建表空间,建用户
- oracle 特殊符号
- Oracle学习
- 在oracle 通过sql实现一元线性回归方程
- Oracle问题imp-10019:由于ORACLE错误12899而拒绝行
- redhat7 Oracle 12C 安装
- Oracle管理常用查询等命令语句
- 常见数据库Oracle,sqlserver,mysql字段类型与java.sql.Types的对应
- genymotion+Oracle VM VirtualBox + eclipse + appium 脚本运行慢解决步骤
- Spring3+Hibernate4连接Oracle11g数据库参数配置
- Spring3+Hibernate4连接Oracle11g数据库参数配置
- Oracle中过程和函数