临危不惧:Oracle 11g数据库恢复技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

且听我说

作为一名IT从业者,除非你只为微小企业服务,否则无论你是否愿意,很难不与Oracle的产品打交道。

34年前,当时的Oracle还只是一个名叫Relational Software的小公司,它推出的第一个产品就是关系型数据库,并且是当时第一个商用的数据库(与此同时关系数据库的先驱E.F.Codd正在IBM内部遭受排挤)。

自那以后,Oracle 的数据库产品不断改进,由于其稳定、高效、灵活、功能全面、高可扩展等特点赢得了用户口碑与丰厚的资金回报,为Oracle公司的发展提供了契机,它的第一类产品——数据库可谓功不可没。Oracle 数据库也就理所当然地成为了用户使用最广的Oracle产品。

因运用Oracle数据库的多为大型企业的关键业务,保存着十分敏感的信息,备份/恢复Oracle数据库的重要性不言而喻。本书的目的就是探讨Oracle当前的数据库产品——Oracle 11g的恢复技术。并且,本书所采用的技术全都来自于Oracle本身,没有牵涉到任何第三方。

我担任Oracle University讲师期间不断地被问及:“在某个特定的情况下数据库内某个文件以一种特定的方式损坏,Oracle 数据库会发生什么?应该如何恢复?为什么这样恢复?”,上至原理下至具体的操作细节。在Oracle University的培训教室中、在WebEx的虚拟课堂中、在客户的故障现场中,我回答、解决过无数次这样的问题。在众多的解决方案日积月累之后,我从中整理出一套解决数据库各种文件损毁问题的思路和流程。

最后我将其整理成书的原因有以下4个:

(1)经过用户(包括DBA、咨询顾问、Oracle内部员工等)的实际检验,证明它们确有很高的价值。

(2)它们很有趣。

(3)它们不是公司机密。

(4)在参加了一次公司组织的培训后,我被一个讨论人生的话题触动,深刻感到应该留下些人生记号,不愿看到将来被迫“shutdown abort”的那一天被评论为此人因为很懒什么都没留下。

本书的第7章至第13章就是解决各种数据库文件(包括参数文件、控制文件、数据文件等)恢复性问题的具体方案。

根据经验,只是解决问题往往是不够的,接下来你必须回答为什么这样做。这一点在Oracle公司售后支持部门工作的员工(特别是面向日方客户的)应该更有体会。

而这些问题的答案最终会汇集于控制文件和重做日志两类文件上。在遵守公司的信息保护章程的前提下,我尽量深层次地刨析数据库的内部行为,比如,解析重做记录结构、数据块版本、SCN、RBA、控制文件序列号、各种不同的数据库检查点等帮助读者理解恢复的本质。无论是刚踏进Oracle技术领域的初学者,还是拥有多年工作经验的DBA都能从中获益。这是编写第1章至第3章的主要目的。

我还不止一次接触过仅使用Data Pump或是crontab配合操作系统命令备份数据库,完全不利用RMAN的用户;还有用户以RMAN增量备份恢复时没有归档日志速度快为理由而不使用增量备份的。种种不合理使用或闲置优秀工具的情况既造成了投资浪费又影响恢复效率。而第4章至第6章存在的理由就是详细解释数据库备份/恢复工具的正确有效的使用方式。

概括地讲,一个名为BR的Oracle 11g数据库将在本书中面临多种非正常宕机与文件损坏场景的考验,读者将体验该数据库是如何屡次面对各种磨难而又屡次挺起胸膛站起来的过程。

所有在本书中引用的恢复案例在尊重普适性原则的同时也涉及一些罕见场景(读者可能永远也不会遭遇,我也希望如此)下的恢复,但诸如特定版本的BUG等特例并非本书关心的领域,请读者原谅。

我虽不是使用图形化工具(比如Database Console或Grid Control)管理Oracle数据库的反对者,但在本书中将不会使用它们。

原因是图形工具容易屏蔽对很多重要机制的理解,而且我认为掌握了命令工具后再使用图形工具将易如反掌,反之则不然。再者,图形管理工具的截屏既浪费写作时间又浪费出版纸张,更不讨核心用户欢心。

虽然本书已经尽可能深入浅出,但若是读者完全没有Oracle数据库管理经验,也没有参加过Oracle原厂培训,可能会发现理解本书的某些内容有些困难,此时应该借助Google搜索帮助理解并延缓阅读进度同样也能收获颇丰。本书有多处值得读者慢慢品味,如果读者能做到钻研本书每一句 SQL 命令的话。请不要放弃这个近在咫尺的深层次了解 Oracle数据库的机会。

虽说只是薄书一本,还是必须在此一并感谢那些支持着我的家人、学生和朋友,没有你们的期盼和鼓励,我无法在繁忙的工作之余坚持完成此书,特别是我的同事李鑫。当然还有出版社热心的编辑,每字必究的精神令我敬佩。

如果读者在阅读本书后认为这是一本有用又有趣的书,那我的目的就达到了。当然我也不能保证本书 100%没有 BUG,欢迎有意交流的读者通过电子邮箱 toddbgl@gmail.com与我联系。

包光磊