资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
OracleOracle基础知识基础知识_ _第九讲第九讲目标目标n学习此章,需要掌握以下知识学习此章,需要掌握以下知识: :n了解回滚表空间的基本概念和作用了解回滚表空间的基本概念和作用n了解回滚表空间的工作原理了解回滚表空间的工作原理n知道回滚表空间的管理知道回滚表空间的管理 n知道如何查看回滚表空间的信息知道如何查看回滚表空间的信息相关概念相关概念n回滚回滚n让数据恢复到指定(或上一个)时点。通俗地说,就让数据恢复到指定(或上一个)时点。通俗地说,就是让数据回退到某个是让数据回退到某个DML操作之前的状态操作之前的状态n回滚数据回滚数据n原始的、修改之前的数据副本原始的、修改之前的数据副本n为更改数据的每个事务处理而捕获为更改数据的每个事务处理而捕获n至少保留到事务处理结束至少保留到事务处理结束n用于支持读一致性和闪回查询,以及从失败的事务处用于支持读一致性和闪回查询,以及从失败的事务处理中进行恢复。理中进行恢复。相关概念(续)相关概念(续)回滚数据回滚数据重做数据重做数据记录记录如何回滚更改如何回滚更改如何重新生成更改如何重新生成更改用于用于回滚、读取一致性回滚、读取一致性向前滚动数据库更改向前滚动数据库更改存储存储回滚表空间(回滚段)回滚表空间(回滚段)联机重做日志文件联机重做日志文件避免避免在多用户系统中读取不一在多用户系统中读取不一致致数据丢失数据丢失概述概述n用于保存和管理回滚数据用于保存和管理回滚数据n不能包含其他对象不能包含其他对象n必须使用本地管理的模式必须使用本地管理的模式n一个数据库中可以没有回滚表空间,也可以有一个数据库中可以没有回滚表空间,也可以有多个回滚表空间多个回滚表空间 ,但是一次只能有一个回滚表,但是一次只能有一个回滚表空间被指定为可写入回滚数据的当前还原表空空间被指定为可写入回滚数据的当前还原表空间。间。工作原理工作原理应用应用保证读一致性保证读一致性回滚段的分类回滚段的分类nSystem:为:为system表空间中的对象使用。表空间中的对象使用。nNon-system:为其他表空间中的对象使用:为其他表空间中的对象使用n自动模式:需要回滚表空间自动模式:需要回滚表空间n手动模式:手动模式:n手动建立手动建立rollback segment并进行管理并进行管理nprivate:适用于单一实例:适用于单一实例npublic:适用于多个实例:适用于多个实例n不推荐使用手动模式不推荐使用手动模式回滚表空间大小的设置回滚表空间大小的设置n由三个因素决定:由三个因素决定:undo_retention(UR),每秒),每秒产生的回滚数据块的数目(产生的回滚数据块的数目(UPS),),db_block_size(DBS)nUndoSpace = UR* (UPS * DBS) + DBS * 24n利用查询来获得:利用查询来获得:回滚表空间大小的设置(续)回滚表空间大小的设置(续)n利用利用Database Control所提供的所提供的Undo Advisory来帮助估算来帮助估算自动回滚管理概述自动回滚管理概述n回滚数据(回滚数据(undo data)在回滚表空间中管理。)在回滚表空间中管理。n为每个实例分配足够的空间创建回滚表空间来满为每个实例分配足够的空间创建回滚表空间来满足数据库的负载。足数据库的负载。nOracle服务器自动在回滚表空间中管理回滚数服务器自动在回滚表空间中管理回滚数据。据。自动回滚管理配置自动回滚管理配置n在初始化参数文件中设置两个初始化参数:在初始化参数文件中设置两个初始化参数:nUNDO_MANAGMENT:根据需求可设置为:根据需求可设置为ATUO或者或者MANUALnUNDO_TABLESPACE:指定一个:指定一个undo表空间表空间n至少创建一个回滚表空间至少创建一个回滚表空间回滚信息分类回滚信息分类n未提交的回滚信息:未提交的回滚信息:支持当前运行的事务处理,如果用户要回退或事务处理失败时,需要用到这类信息。绝对不会覆盖未提交的回滚信息。n提交的回滚信息:提交的回滚信息:不再需要用来支持运行的事务处理,但是为了符合还原保留期间隔,仍然要用到这类信息。这也称为“未过期”回滚信息。当不是因为缺少空间而导致活动事务处理失败时,就会保留提交的回滚信息。n过期的回滚信息:过期的回滚信息:不再需要用来支持运行的事务处理。活动事务处理需要空间时会覆盖过期的回滚信息。回滚保留期回滚保留期(undo retention) n当启用自动当启用自动回滚回滚管理的时候,通常有一个当前的管理的时候,通常有一个当前的回回滚滚保留期(保留期(undo retention period),这是),这是oracle数据库默认的保留数据库默认的保留回滚回滚信息的最短时间。信息的最短时间。n由参数由参数undo_retention指定。指定。回滚保留期(续)回滚保留期(续)n若回滚表空间的大小固定若回滚表空间的大小固定n忽略忽略undo_retention,oracle会根据表空间的大小和当会根据表空间的大小和当前系统的装载量确定最好的回滚保留期。前系统的装载量确定最好的回滚保留期。n当表空间剩余空间低的时候就可能覆盖未过期的还原信息。当表空间剩余空间低的时候就可能覆盖未过期的还原信息。n若回滚表空间是自动扩展的若回滚表空间是自动扩展的noracle会把回滚保留期的时限提高到最长查询之上,并尝会把回滚保留期的时限提高到最长查询之上,并尝试保证由试保证由undo_retention参数指定的最小回滚保留期参数指定的最小回滚保留期n当回滚表空间剩余空间低的时候,表空间会自动扩展而不当回滚表空间剩余空间低的时候,表空间会自动扩展而不是覆盖未过期的回滚数据。是覆盖未过期的回滚数据。n如果自动扩展的回滚表空间设置了最大值,则表空间达到如果自动扩展的回滚表空间设置了最大值,则表空间达到最大值后还是会覆盖未过期的还原数据最大值后还是会覆盖未过期的还原数据ORA-01555: snapshot too old报错报错 nOracle数据库基于回滚表空间的大小和系统的活动自动数据库基于回滚表空间的大小和系统的活动自动调整撤销保留期的大小。可以通过制定初始化参数调整撤销保留期的大小。可以通过制定初始化参数UNDO_RETENTION(秒级)来制定最少的回滚保留(秒级)来制定最少的回滚保留期。数据库会尽自己最大的努力来保证指定的最小的回期。数据库会尽自己最大的努力来保证指定的最小的回滚保留期。滚保留期。n当分配给新交易的空间变小的时候,数据库开始覆盖过当分配给新交易的空间变小的时候,数据库开始覆盖过期的回滚信息。如果回滚表空间在覆盖了所有过期的信期的回滚信息。如果回滚表空间在覆盖了所有过期的信息之后依旧没有剩余空间,数据库就开始覆盖未过期的息之后依旧没有剩余空间,数据库就开始覆盖未过期的回滚信息。如果被覆盖的回滚数据在长时间查询中需要回滚信息。如果被覆盖的回滚数据在长时间查询中需要被访问,就会返回被访问,就会返回ORA-01555: snapshot too old的的报错。报错。 查看回滚保留期查看回滚保留期 确保回滚保留期(确保回滚保留期(Retention Guarantee)创建回滚表空间创建回滚表空间CREATE DATABASE db01. . .UNDO TABLESPACE undo1DATAFILE /u01/oradata/undoldb01.dbf SIZE 20MAUTOEXTEND ONCREATE UNDO TABLESPACE undo1DATAFILE /u01/oradata/undo1db01.dbfSIZE 20M;第一种方法:创建数据库时直接创建第二种方法:使用CREATE UNDO TABLESPACE创建修改和删除回滚表空间修改和删除回滚表空间n使用使用alter tablespace命令,和修改一般的表空命令,和修改一般的表空间一样间一样n使用使用DROP TABLESPACE命令删除命令删除undo表空间表空间n一个一个undo表空间只有当前没有任何实例使用的时表空间只有当前没有任何实例使用的时候才能被删除。候才能被删除。n删除一个当前活动的删除一个当前活动的undo表空间:表空间:n将当前将当前active undo表空间切换出去。表空间切换出去。n在当前所有交易结束之后将在当前所有交易结束之后将undo表空间删除。表空间删除。切换回滚表空间切换回滚表空间n可以在多个回滚表空间之间进行切换。可以在多个回滚表空间之间进行切换。n一个数据库一次只能声明一个回滚表空间。一个数据库一次只能声明一个回滚表空间。n一个数据库中可以存在很多回滚表空间,但是只有一个一个数据库中可以存在很多回滚表空间,但是只有一个表空间是表空间是active状态。状态。n使用使用ALTER SYSTEM命令动态实现表空间切换。命令动态实现表空间切换。ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS查看回滚信息查看回滚信息 nV$UNDOSTAT视图包含了管理和优化回滚空间的数据。视图包含了管理和优化回滚空间的数据。查看此视图能帮助估计出对当前工作负载需要多少回滚查看此视图能帮助估计出对当前工作负载需要多少回滚空间。数据库也用此信息来帮助优化回滚空间使用率。空间。数据库也用此信息来帮助优化回滚空间使用率。这种视图只有在自动回滚管理模式下才有意义。这种视图只有在自动回滚管理模式下才有意义。nV$ROLLSTAT视图,在自动回滚管理模式下,此视图视图,在自动回滚管理模式下,此视图的信息反映了在回滚表空间中回滚段的行为。的信息反映了在回滚表空间中回滚段的行为。nV$TRANSACTION包含了回滚段的信息。包含了回滚段的信息。nDBA_UNDO_EXTENTS显示了回滚表空间中每个区的显示了回滚表空间中每个区的状态和大小。状态和大小。nDBA_HIST_UNDOSTAT显示了显示了V$UNDOSTAT的快的快照信息。照信息。总结总结n通过本章的学习,应达到通过本章的学习,应达到: :n了解回滚表空间的基本概念和作用了解回滚表空间的基本概念和作用n了解回滚表空间的工作原理了解回滚表空间的工作原理n知道回滚表空间的管理知道回滚表空间的管理 n知道如何查看回滚表空间的信息知道如何查看回滚表空间的信息
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号