从数据库的用户错误中恢复呢
2021-10-29 04:36:48 兴城星座网
这是摘录自Damir Bersinic 和John Watson编著的《Oracle Database 10g OCP Certification All-In-One Exam Guide》一书中第29章内容,Oracle出版社copyright 2006,McGraw-Hill分公司。
在这章中你将会学到如何:
?使用回闪技术恢复被删除的表
?管理回收的二进制文件
可以好好地活着。”但是 ?执行回闪表操作
?使用回闪版本查询从用户错误中恢复
?使用回闪事务查询执行事务级别的恢复
前面的章节介绍了回闪数据库,一种强大但是非常有个性的功能,相当于不完全恢复。这一章覆盖的内容是Oracle 10g数据库中可用的其它回闪技术。这些都不像回闪数据库那么极端,它们都不依赖于停机时间或者损失的数据量。它们是静态的,然而,也是通过撤销你不想要的修改提交来恢复错误的非常强大的技术。
这里讨论的回闪技术,首先,使回闪删除,可以通过使用DROP TABLE命令来激活和执行;第二,使用UNDO功能的不同方式:回闪版本查询,回闪表查询,以及回闪事务查询。
回闪和ACID测试
还记得第9章中描述的ACID测试吗。这是关系型数据库必须遵循的规则的一部分,对于理解回闪技术也是至关重要的:不论是它们的功能,还是它们的局限性。
所有的数据管理语言事务都是通过COMMIT或者ROLLBACK语句来结束的。到那个时候,因为事务已经执行了,出于Oracle实现的事务隔离的原则(ACID测试中的I),保证除了执行事务的会话之外,没有人能够看到进行的修改。
进一步讲,原子性的原则(ACID测试中的A)也保证了事务可以用ROLLBACK来终结这个事务,这可以将修改彻底地恢复过来;没有其它会话会知道进行了哪些修改。如果事务是以COMMIT终结的,那么修改就会立即被所有其它会话看到。惟一的例外情况就是任何出于读一致性原因(ACID测试中的C)的会话必须与这个修改相隔离。此外,一旦事务被提交了,那么数据库要丢失这个修改是决对不可能的;这就是ACID测试中的D,持久性。
在很多方式上,数据定义语言的命令都与其它的事务没什么两样。关系型数据库需要这样的规则,以保证经过提交的数据定义语言永远不会被翻转,所有的数据定义语言都是自动提交的。你对此无法进行控制;COMMIT是所有数据定义语言命令中很重要的一部分。
Flashback Drop提供了一种方式让你能够撤销DROP TABLE 命令的影响,但是不能保证它会成功。这要根据执行了DROP命令之后数据库中进行的其它活动。你可以使用各种回闪查询命令来翻转数据管理语言命令,但是,还要再一次强调的是,它是否成功取决于在这段时间内发生的其它活动。不可能回滚一个已经提交的事务,无论是数据管理员语言还是数据定义语言。ACID测试不允许这样。回闪技术依赖于构建另一个可以翻转最初事务影响的事务,但是这个新的事务有可能会失败,因为其它的,相反的已经被提交的修改。
回闪删除
意外删除了一个表是非常有可能发生的。不仅仅是你有可能因为输入错误而删除了错误的表;也有可能是正确的表,但是你连接了错误的计划,或者是登录到错误的环境中去。你可以减少这种可能性,通过设置你的SQL*Plus提示,例如: SQL set sqlprompt \"_user\'@\'_connect_identifier \"
SYSTEM@ocp10g
贴士:要让所有的SQL*Plus会话都自动设置你的提示符,在l文件中添加上述命令,在ORACLE_HOME/sqlplus /admin目录里。
回闪删除可以让你恢复前面一个被删除的表(但是不是截取表),就好像它被删除之前。所有的索引都会被恢复,还有所有的触发器和许可。Unique,主键,还有非空约束也都会恢复,但是外键约束无法恢复了。
测验:回闪删除只能应用于表上,但是所有相关的对象也都会被恢复,除了外键约束。
回闪删除的实现
在Oracle数据库的早期版本中,当一个表被删除了,所有的参考都从数据字典中删除。如果有可能看到原来的DROP TABLE命令的源代码的话,你可以看到它实际上是一系列对定义了表和它的空间使用情况的系统计划中各种表的DELETE命令,后面跟着一个COMMIT。这实际上没有从硬盘中删除数据,但是删除表所用的空间被标志为没有使用,因此可以获得重用。即使是表所在的块还在,也没有可能取回它们了,因为数据字典已经没有对属于这个被删除的表的任何块有任何记录,惟一恢复被删除表的方法就是做一个时间点恢复,重新存储删除之前某个时间点的数据库版本,这个版本中数据字典中仍然保留表的信息。
在发布的10g Oracle数据库中,DROP TABLE命令的实现被完全改变了。表再也不是删除了,它们是被改名了。
在图中,你可以看到这个表,OLD_NAME,占据的空间范围是64KB,从文件6的第17个块开始。在修改名字为NEW_NAME之后,存储空间还是如此;因此,表是一样的。查看DBA_OBJECTS视图,你可以看到表的对象号没有发生改变。10g版本中关于DROP TABLE命令的实现在内部映射到了RENAME命令,它会对标和所有相关的索引、触发器和约束产生影响,除了外键约束,它已经被删除了。外键约束实际上必须要删除。如果它们保留了的话,即使是换了一个名字,在没有被删除的父表上的数据管理语言就会被已经删除的表的目录所约束,这是荒谬的。
查看本文来源
积食消化不良怎么办长春治疗子宫内膜炎医院
哈尔滨白癜风医院哪家好
- 上一篇:从到的透明牛
- 下一篇:从到移动互联跨界打造无缝使用体的
-
王诗龄晒自拍照,却碰巧曝光豪华客厅,单一个永生花熊就近9万!
王诗龄晒自拍照,却意外引起争议华丽浴室,单一个新生命白花狼就近9万! 王诗龄是李湘和王岳伦的儿子,从小就拥有着超高的口碑和除此以外,在早...
双子座2024.07.19
-
7连胜的范廷钰李轩豪闯进烂柯杯总决赛!明天争冠!
两位在亚运选拔赛中都取得7连胜的强将淘汰半决赛!以前,衢州烂柯杯中都国围棋总决赛半半决赛收尾了周旋,范廷钰在“勺来勺去”中都击退党毅挥淘...
双子座2024.06.23
-
夏日运动季 选一款动感腕表|封面天天见·逛姐出街
火热春季的到来,非常是激发了大家运动的热忱,让汗水与快乐肆意恣意。无论是在场地还是露天,无论是在深海、湖上还是在乡野、和城市大峡谷,佩...
双子座2024.04.16
-
想你的时候,拨打就是我的依恋
随缘者自适。人生,就是将该离开你的,好在带跟着;将该属于你的,试着聚拢。直到你的魂魄与精神上彻底剥离那一刻。不用沮丧,秋季恰巧谁能阻止...
双子座2024.01.23
-
时尚媒体|梵克雅宝妻女Alexandre Benjamin Navet 演绎诗意花园|广州时尚媒体
刊发平台:冷眼豪华观察站 时尚媒体讯:时逢,翩然而至,Van Cleef Max Arpels梵克雅宝终于携手2017年Grand Prix Design Parade Toulon奖项获奖者Alexandre Benjamin Navet...
双子座2024.01.04
-
5G有了!华为将在6月发布nova 10系列,芯片换用拍照更好
余承东在即便如此折叠屏AndroidMate Xs2的发表才会上声称,松下的IT弊端已经有了巨大的有所改善,之前想买松下Android都能买到。因此在Mate Xs2后来,松下...
双子座2023.12.24
-
职场情商讲义:简朴的哲学,练就由内而外的平衡性
本文看点:自觉情商,不只是彰显在交谈上,不只起到于人和人之间的的关系,格外彰显在自已由内而外的为重上。 工作再凑成,终归要回到与世隔绝。...
双子座2023.12.06
-
葡萄牙生活家的美德,发掘咖啡鲜为人知的绝妙用处! | 微课堂
在在是一年一度的招生季,想必勾起了不少果树的真情自述。不告诉他有多少小伙伴和小编一样,从大一起指望一杯冰淇淋必须提神醒脑,现今纯净已经...
双子座2023.11.19
-
芬兰将成为第三个被俄罗斯断供液化的欧洲国家
在拒绝以第纳尔付款后,瑞典紧接著已是第三个被东欧断供油井的拉丁美洲国家。 根据瑞典油井装运Gasum Oy的公告,自东欧的一条主要油井水管将于星期...
双子座2023.10.30
-
比发胖、变老更让女生抓狂,“发腮”到底有里奥低颜值?
最近毕竟在打算,为什么有的人才会马上颜值差距那么大?然后,经过有鉴于此的调研才注意到,拉低颜值的本来不是因为据说,而是因为你脸上上发鼻...
双子座2023.10.27