- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle 10g中UNDO数据的作用及UNDO表空间的操作详解.doc
UNDO数据也称为回滚 ROLLBACK 数据,它用于确保数据的一致性.当执行DML操作时,事务操作前的数据被称为UNDO记录.UNDO段用于保存事务所修改数据的旧值,其中存储着被修改数据块的位置以及修改前数据。
UNDO数据的作用:
1.回退事务
当执行DML操作修改数据时,UNDO数据被存放到UNDO段,而新数据则被存放到数据段中,如果事务操作存在问题,旧需要回退事务,以取消事务变化.假定用户A执行了语句UPDATE emp SET sal 1000 WHERE empno 7788后发现,应该修改雇员7963的工资,而不是雇员7788的工资,那么通过执行ROLLBACK语句可以取消事务变化.当执行ROLLBACK命令时,oracle会将UNDO段的UNDO数据800写回的数据段中.
2.读一致性
用户检索数据库数据时,oracle总是使用用户只能看到被提交过的数据 读取提交 或特定时间点的数据 SELECT语句时间点 .这样可以确保数据的一致性.例如,当用户A执行语句UPDATE emp SET sal 1000 WHERE empno 7788时,UNDO记录会被存放到回滚段中,而新数据则会存放到EMP段中;假定此时该数据尚未提交,并且用户B执行SELECT sal FROM emp WHERE empno 7788,此时用户B将取得UNDO数据800,而该数据正是在UNDO记录中取得的.
3.事务恢复
事务恢复是例程恢复的一部分,它是由oracle server自动完成的.如果在数据库运行过程中出现例程失败 如断电,内存故障,后台进程故障等 ,那么当重启oracle server时,后台进程SMON会自动执行例程恢复,执行例程恢复时,oracl会重新做所有未应用的记录.回退未提交事务.
4.倒叙查询 FlashBack Query
倒叙查询用于取得特定时间点的数据库数据,它是9i新增加的特性,假定当前时间为上午11:00,某用户在上午10:00执行UPDATE emp SET sal 3500 WHERE empno 7788语句,修改并提交了事务 雇员原工资为3000 ,为了取得10:00之前的雇员工资,用户可以使用倒叙查询特征.
使用UNDO参数
1.UNDO_MANAGEMENT
该初始化参数用于指定UNDO数据的管理方式.如果要使用自动管理模式,必须设置该参数为AUTO,如果使用手工管理模式,必须设置该参数为MANUAL,使用自动管理模式时,oracle会使用undo表空间管理undo管理,使用手工管理模式时,oracle会使用回滚段管理undo数据,需要注意,使用自动管理模式时,如果没有配置初始化参数UNDO_TABLESPACE,oracle会自动选择第一个可用的UNDO表空间存放UNDO数据,如果没有可用的UNDO表空间,oracle会使用SYSTEM回滚段存放UNDO记录,并在ALTER文件中记载警告.
2.UNDO_TABLESPACE
该初始化参数用于指定例程所要使用的UNDO表空间,使用自动UNDO管理模式时,通过配置该参数可以指定例程所要使用的UNDO表空间.
在RAC Real Application Cluster 结构中,因为一个UNDO表空间不能由多个例程同时使用,所有必须为每个例程配置一个独立的UNDO表空间.
3.UNDO_RETENTION
该初始化参数用于控制UNDO数据的最大保留时间,其默认值为900秒,从9i开始,通过配置该初始化参数,可以指定undo数据的保留时间,从而确定倒叙查询特征 Flashback Query 可以查看到的最早时间点.
建立UNDO表空间
UNDO表空间专门用于存放UNDO数据,并且在UNDO表空间尚不能建立任何数据对象 表,索引,簇
1.使用CREATE DATABASE命令建立UNDO表空间.
当使用CREATE DATABASE命令建立数据库时,通过指定UNDO TABLESPACE选项,可以建立UNDO表空间.示例如下:
CREATE?DATABASE?db01 ?
… ?
UNDO?TABLESPACE?undotbs_01 ?
DATAFILE?/opt/oracle/oradata/ge01/UNDOTBS1.dbf?SIZE?30M;?
注意:UNDO TABLESPACE 子句不是必须的,如果使用自动UNDO管理模式,并且没有指定该子句,那么建立数据库时会自动生成名为UNDOTBS1的UNDO表空间.
2.使用CREATE UNDO TABLESPACE命令建立UNDO表空间.
create?undo?tablespace?undotbs2?datafile?/opt/oracle/oradata/ge01/UNDOTBS2.
您可能关注的文档
最近下载
- DB41T 2412-2023 高标准农田建设规范.docx VIP
- DB11_T 387.1-2016 水利工程施工质量评定 第1部分:河道整治.PDF VIP
- IPC-1602-CN:2020+印制板操作和储存标准+-+完整中文电子版(36页).pdf VIP
- 肝病相关血小板减少症临床管理中国专家共识2023解读.pptx VIP
- 夏枯草种植技术规程.pdf VIP
- 【室内装修施工组织设计】.docx VIP
- 生物物理学导论-08省名师优质课获奖课件市赛课一等奖课件.ppt VIP
- DB41_T 2416-2023 高标准农田 智慧灌溉技术规程.docx VIP
- 棉纺织生产工艺流程大全.pdf VIP
- 生物物理学课件.docx VIP
文档评论(0)