Oracle 11g:备份与恢复的设计理念(上)

 
   | |

导读:本文节选自John Watson所著的《OCA认证Administration I考试指南》,本章详细阐述在Oracle备份和恢复机制背后的设计理念:无论你的组织需要什么级别的……

关键词:Oracle 11g Oracle备份与恢复 Oracle备份与恢复设计理念

正在加载数据... 【TechTarget中国原创】本文节选自John Watson所著的《OCA认证Administration I考试指南》(该书由McGraw-Hill公司Oracle出版社2008年出版,版权所有。)第十五章。点击此处下载该章完整内容。 【TechTarget中国原创】

本文节选自John Watson所著的《OCA认证Administration I考试指南》(该书由McGraw-Hill公司Oracle出版社2008年出版,版权所有。)第十五章。点击此处下载该章完整内容。

  可能数据库管理员最重要的工作内容是确保数据库不丢失数据。Redo和undo机制保证了无论DBA(Database Administrator,数据库管理员)做了什么,或没做什么,都不可能破坏数据库,(当然,我们假定没有物理损坏)。在你读完Instance Recovery(实例恢复)这章的这部分内容后,你就可以证实这一点。当然,如果DBA不事先采取适当的安全措施,Oracle数据库也是可能丢失数据的。

  在Oracle 9i以上的版本中,Oracle数据库可以被适当配置,数据库决不会丢失哪怕一行已提交的数据。我们也可以把它配置为百分之百的可用。这种理想的配置需要使用Data Guard(Oracle为确保企业数据高可用性,数据保护以及灾难恢复开发的工具)和RAC(Real Application Cluster,真正应用集群),RAC可由Oracle Streams(Oracle提供的一体化信息共享功能)替代。单实例并且非分布式环境的数据库做不到这样的程度,但差距不大。

  本章详细阐述在Oracle备份和恢复机制背后的设计理念:无论你的组织需要什么级别的数据安全性和可用性级别,都可以在开放结构里配置。接下来两章的内容包括备份,修复和恢复的实践操作。但是,一定要知道,这只是简单的处理方式;OCP考试对备份和恢复有更多细节要求。而且即使通过了考试,也并不表示绝对掌握了这部分知识。这个领域的技能要求你不断学习,研究,最重要的是不断实践。

  认识Oracle数据库可能出现的失败类型:

  语句失败

  单独的SQL语句执行失败有很多种原因,DBA并不需要对所有这些出错原因负责。但是即便如此,DBA也必须有处理这些错误的准备。最好的处理方式是自动处理。无论SQL语句何时失败,负责执行语句的服务器会检测到问题,然后回滚该语句。一条语句可能更改很多行,出现失败时可能其中一部分更新已经执行通过了,语句失败前已更新的所有行会通过undo功能把他们的变更回退。这些工作都是自动完成的。如果该SQL语句是一个事务中多个SQL语句的一部分,那么所有成功的语句会保持原封不动,但是并不提交。理想情况下,程序员会在代码中包含异常处理段,在异常处理代码段中捕获和管理所有可能出现的问题。但总是会有一些错误不能被预置的错误处理机制覆盖到。

  SQL语句失败的常见原因之一是无效的数据,比如格式不符合要求或违反约束限制。写的好的代码会包含特殊处理以避免格式问题,比如试图给数值类型变量插入字符数据。当对从第三方系统中来的数据执行批量插入任务时,这种情况常常出现。Oracle本身会尝试通过自动类型转换来解决格式问题,但这种做法效果不是太好,我们不能依赖Oracle的这一机制而忽略这类问题。违反约束限制的问题也会被检测到,但Oracle没办法解决这类问题。显然,由无效数据引起的问题不在DBA的职责范围内,但是你必须做好准备与用户一起验证和纠正这些数据,与程序员一起想办法尽量把对问题的处理自动化,进而解决这些问题。

  第二种与DBA无关的语句类错误是应用程序中的逻辑错误。程序员写的代码可能在某些情况下在数据库中执行良好。本书第十章中描述了一个完美的关于死锁的例子:代码运行完全没有问题,除非在运气不好时,两个数据库连接在同一刻时间对同一数据行做相同的操作。死锁不是数据库错误,它是由程序员编写的代码引起的,在特定的情况下才会出现。

 
查看全文
 
 
 
 
 

Oracle备份与恢复

 
一个示例脚本是如何在无人操作的情况下,进行空闲时间的数据库备份的?Oracle专家分两个平台,进行了介绍。
 
如何在Oracle中使用损坏控制文件进行数据库还原,在还原时应该注意哪些问题,专家将给出解答。
 
在Windows环境下,能否通过一个客户机来进行Oracle服务器备份,是否有特定的工具可以完成这一任务,专家将给出答案。
 
使用Oracle导出工具可以完成15天之内的数据导出备份,但是导出工具并没有“时间意识”,如何解决这个问题?专家将给出解答。
 
当用户把表单从一种模式转换到另一种模式时,要如何修改表单的索引,专家举出实例为用户解答。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录