oracle 11g 数据库恢复技术 ---03 补充日志
三 补充日志(supplemental logging)
补充日志是对重做记录中变更矢量的补充信息,增加了变更矢量记载的记录量。Oracle某些功能要求启用补充日志才能正常或更好的工作,比如logminer(日志挖掘器)、闪回事务查询、闪回事务等。
对于insert和delete来说,常规的重做记录记载了被更改的行的所有字段,没有什么补充,但是update例外,不但所有字段的旧值没有被记录(除非更新所有字段),有时update还是导致行迁移,
补充日志主要就是为update服务的,补充的目的就是要高度还原真实的update,在某种情况下,当实例和介质恢复不能百分百地完成作用时,只能向残存的日志索取更多的信息
1 数据库级补充日志
在oracle 11g中,默认不启用
TEST@ orcl >select supplemental_log_data_min sl_min,supplemental_log_data_pk sl_pk,supplemental_log_data_ui sl_ui, supplemental_log_data_fk sl_fk,supplemental_log_data_all sl_all from v$database; 2 SL_MIN SL_ SL_ SL_ SL_ -------- --- --- --- --- NO NO NO NO NO
最小补充日志是最基本的一种数据库级补充日志
LogMiner依赖最小补充日志产生的特殊信息以识别、分组与合并dml所产生的重做记录,目的是为了让logminer通过分析redo log就可以识别由update导致的行迁移、行移动。
如果update命令导致行变长,在数据块空间不足的情况下行会部分(行头部除外)迁移至另一个数据块,称为行迁移。
TEST@ orcl >alter database add supplemental log data; ##启用最小补充日志 Database altered. TEST@ orcl >select supplemental_log_data_min sl_min from v$database; SL_MIN -------- YES TEST@ orcl >alter database drop supplemental log data; ##关闭最小补充日志
启用最小补充日志不会对重做记录的生成产生明显的额外开销,又能使日志文件支持logminer和闪回事务查询功能,提高数据块抵抗人为错误的能力上考虑,应该启用此功能。
注意:凡是启用或关闭数据库级补充日志都会导致共享池中的所有的sql命令游标非法,在短期内硬解析会显著上升。
TEST@ orcl >select count(*) from scott.emp;COUNT(*) ----------14 TEST@ orcl >select invalidations from v$sql where sql_text='select count(*) from scott.emp'; INVALIDATIONS -------------0 select sql_text,invalidations from v$sql where sql_text like 'select count(*) %';
关键字段补充日志有4种主键、唯一索引、外键和全体字段补充日志。
--alter database add supplemental log data (primary key) columns;
开启主键补充日志的前提必须要开启最新补充日志,关闭也是一样。
主键补充日志的作用是在update命令的重做记录中添加被修改行的主键字段的旧值。
唯一索引补充日志只有当唯一索引字段被update时才会记录该字段。
外键补充一样,只有当外键字段被update修改时,其修改前的旧值才会被记录。
全体字段补充日志,它和主键补充一样同为不条件,无论哪个字段被update,所有字段(除了LOB\LONG类型)的旧值都将被记录。
--alter database add supplemental log data (all) columns;
2 表级补充日志
针对某些表进行日志补充,前提要开启数据库最小日志补充。
表级补充分为主键、唯一索引、外键、全字段和自定义5种类型,前4种与数据库级对应的类型特点一样。
--alter table scott.emp add supplemental log data (primary key) columns;
--alter table scott.emp add supplemental log group emp_info(first_name,last_name,email);
如果只从DML命令性能的角度出发,没有人会启用补充日志,建议至少启用最小日志补充,否则至少将丧失logminer和闪回事务查询功能。
转载于:https://www.cnblogs.com/yhq1314/p/10938939.html
oracle 11g 数据库恢复技术 ---03 补充日志相关推荐
- oracle 11g 数据库恢复技术 --rman catalog
Oracle RMAN的catalog并不是指标备份恢复操作的一个必要组件,但oracle推荐使用该组件.启用之后,归档日志.备份集.镜像复制等备份信息的保存地点是RMAN资料库(catalog), ...
- aix6.1 oracle12c,AIX6.1系统 oracle 11g数据库恢复过程
[单位名称] 河北省某大型企业 [逻辑存储] IBM AIX6.1平台,数据库为64位的 Oracle 11g, 本地存储约900GB,其中"/opt"为一独立 lv,大小约200 ...
- 安装Oracle 11g数据库服务器类
<Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南>第3章Oracle 11g数据库的安装,本章将介绍如何在32位系统结构的Windows 7操作系统平台上对Oracle ...
- 数据库恢复技术(事物、三种更新策略以及恢复策略)
数据库恢复技术(事物.三种更新策略以及恢复策略) 数据库恢复所要达到的目标 数据库为了达到目标的恢复策略 事务和日志的基本内容 事务的基本内容 日志的基本内容 更新数据库规则和三种更新策略 数据库更新 ...
- 第10章 数据库恢复技术 | 数据库知识点整理
第10章 数据库恢复技术 了解 数据库的一致性状态 数据库运行中可能产生的故障类型,它们如何影响事务的正常执行,如何破坏数据库数据 数据转储的概念及分类 数据库的镜像功能 掌握 事务的基本概念和事务的 ...
- bak文件转oracle文件,如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g)...
如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g) 我有Oracle 11g备份文件(.bak文件)如何在Oracle 11g ...
- 数据库系统概论:第十章 数据库恢复技术
事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元.事务处理(transaction processing)技术主要包括数据库恢复技术和并发控制技术. 10.1 事务的基本概念 事务:是用户定义 ...
- ubuntu14.04、CentOS安装oracle 11g数据库【转载】
出处:https://blog.csdn.net/cainanxing/article/details/78988671 ubuntu14.04.CentOS安装oracle 11g数据库 折腾了好久 ...
- 第十章数据库恢复技术
第十章数据库恢复技术 10.1_事务 事务的四个特性:原子性.一致性.隔离性.持续性 10.2_故障的种类 事务内部的故障 系统故障 介质故障 计算机病毒 10.3_恢复的实现技术 转储:动态和静态 ...
最新文章
- 能打造新型CPU的有机分子元件登Nature,用if语句攒出决策树,一个顶数千晶体管...
- 在res/xml中的文件
- java静态方法声明_方法本地类中的Java最终静态声明
- 初识MQ--mq常见技术介绍
- 人工智能泰斗迈克尔·乔丹分享机器学习要义:创新视角,直面挑战
- Spring AOP 前置通知
- sql 数据库检查_数据库检查点– SQL Server 2016中的增强功能
- html转换pdf中文失败,解决html导出pdf中文乱码问题的正确姿势
- Qt5 程序启动画面图片效果
- UE4 android开发
- 配置虚幻4 使用 Rider for UnReal Engine 开发游戏
- Navicat Premium 连接 MongoDB 失败: Cannot connect to MongoDB.No suitable servers found: ......
- xp系统steam无法连接到更新服务器,xp系统打不开steam提示“无法链接至steam网络”的处理办法...
- 09、Non-Black-Box ZK(Barak‘s protocol)--Alon Rosen
- java 美元符号_使用单个美元符号“$”作为java类名称的任何风险?
- 流量充值解决方案(附代码)
- HTML嵌套注释、多行注释、多级注释,提高生产力
- 【转】Quartz概述及入门实例
- python高斯噪声怎么去除_Python图像处理之Pillow--ImageFilter介绍
- 证明:因为矩阵A非0,所以AA'也非零
热门文章
- 剑指offer(26-33题)详解
- GDB调试:观察点(数据断点)【GDB调试】
- java同步机制简单介绍
- python3高性能网络编程_Python3 网络编程
- autorunner测试java代码,AutoRunner自动化测试工具介绍
- dom4j jar包_XML解析之DOM4j以及XPATH技术
- 看完这篇学会Ansible
- 华为认证数通专家HCIE-Datacom 11月30日发布
- ios 登录 java 后台,IOS苹果登录sign in with apple后端校验
- create 执行存储过程报错出现符号_年薪百万之路--第四十天 存储引擎