- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * 总结:数据库故障处理中,如果发现是定位到的SQL语句执行计划有问题,大表需要重新采样的,要冷静,考虑避免在生产中立即进行分析,也不可考虑改代码加HINT,可以考虑用dbms_stats.SET_table_stats临时骗过ORACLE的方法来灵活的解决,然后在业务低峰期再考虑用分析表的方法彻底解决问题。 * * 更新并提交后的数据也能找回 描述 很多人认为,对表记录进行DML操作后,如delete+commit后,不能再rollback回来了,数据也就丢了,其实并非如此。如果数据库在正确的备份恢复策略下,可以通过恢复数据库到误删除时间点的方式来恢复,不过这个较麻烦,不到万不得以不考虑这样操作,ORACLE有了一个很好很实用的机制,就是闪回机制,可以将数据闪回到你误操作前的时间点,让你找回你的数据。。 点击打开---实验文档 创建测试表 SQL create table wqq_test (id int); 闪回数据 insert into wqq_test select * from wqq_test as of timestamp to_timestamp17:09:00,yyyymmdd hh24:mi:ss); 实验 更新并提交后的数据也能找回(续) 总结 不过现实中要考虑的问题是很多的,你是否有考虑过可以恢复多久以前的数据?比如我今天删除了一些记录,过好几天后才发现,可以闪回吗?比如我把表drop了,可以闪回吗?truncate了,可以闪回吗? 这里不多讨论了,简单说一下,9i中闪回的功能比较弱,?drop和truncate无能为力了,如果是10g的话,表drop了,可以通过垃圾站回收,truncate则是通过闪回整个数据库来找回,至于过好几天才发现能否闪回,取决于回滚段中的记录是否被重写,可以了解参数undo_retention,单位为秒,表示记录被保护多长时间不被重写,设置大点,能闪回历史数据就更多些。 SQL show parameter undo_retention NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ undo_retention integer 900 drop表能恢复 描述 上一幻灯片我介绍了找回删除提交后数据的方法,介绍了闪回功能,大家一定记得我还说了10g可以从回收站找回被drop的表。这是10g新特性,只有数据库开启回收站的功能,drop的表就有可能会恢复,下面一起进行恢复实验操作。 点击打开---实验文档 创建测试表 SQL create table wqq_test_drop as select * from dba_objects; 恢复drop的表 FLASHBACK TABLE wqq_test_testdrop TO BEFORE DROP; 实验 总结 这回收站的功能有点有像windows下的回收站,我觉得ORACLE在人性化方面还是做的不错!误删并提交了记录能帮你找回,误删了整个表在10g中还有回收站助你一臂之力。 小心DDL提交事务 描述 大家都知道DDL语句,比如create index create table alter table drop table alter index 等等,但是大家是否能很强烈的意识到,做这个动作时,同时就在当前session做了commit的动作,而且即便这个DDL操作失败了,比如create table语法错,drop 的table不存在,这个commit动作也已完成! 点击打开---实验文档 创建测试表 SQL create table wqq_test as select * from dba_objects; 实验 总结 至此大家应该明白,DDL语句执行的第一步就是COMMIT,然后才是执行DDL本身,命令本身能否执行不管,只要DDL关键字出现,系统就提交!很多人喜欢在过程里用DDL语句,要是对这点没有强烈的意识,就很容易出错,比如你是执行一些列更新语句,但是要在一个事务里,就是一起成功或失败。如果语句中间任何一个地方出现了DDL,那这个事务的原子性就被破坏了,而你却毫不知情! sequence中的cache 描述 sequence的cache是把后面要用的序列先保存到cache 中缓存起来,以便下一次从内存中读出来,加快速度!例如cache 20就是缓存20个序号 在开发
您可能关注的文档
最近下载
- 美国总统全传——乔治·布什.pdf VIP
- 制造业员工培训提升产品质量与工艺技能.pptx VIP
- ISO 9001(DIS)-2026《质量管理体系——要求》(含附录使用指南-中文版-译-2025年9月).docx VIP
- 2.2-全国森林草原湿地荒漠化普查技术规程.pdf VIP
- 美国总统全传-西奥多-罗斯福.pdf VIP
- 2021年物业管理员(师)职业能力等级评价考试题库(含答案).pdf VIP
- STM32考试习题及答案 (2).doc VIP
- ___《公共政策概论》形考任务1-4参考答案.pdf VIP
- 会议服务工作承包合同9篇.docx VIP
- stm32考试题库(完整版).pdf VIP
原创力文档


文档评论(0)