1 故障类型
一般可分为以下几类:
语句失败:单个数据库操作(选择、插入、更新或删除)失败。
用户进程失败:单个数据库会话失败。
网络故障:与数据库的连接丢失。
用户错误:用户成功完成操作,但操作(删除表或输入错误数据)不正确。
实例失败:数据库实例意外关闭。
介质故障:数据库操作所需的任何文件丢失(即文件被删除或磁盘发生故障)。
2 语句失败
当单个数据库操作失败时,可能需要DBA参与纠正用户特权或数据库空间分配方面的错误。dba可能还需要帮助进行故障排除,甚至对于与他们的任务区域不直接相关的问题也是如此。这在不同的组织中会有很大的不同。例如,在使用现成应用程序的组织中(即没有软件开发人员的组织),DBA是惟一的联系人,必须检查应用程序中的逻辑错误。
要理解应用程序中的逻辑错误,应该与开发人员一起理解问题的范围。Oracle数据库工具可以通过帮助检查审计跟踪或以前的事务来提供帮助。
注意:在许多情况下,语句失败是违背了预先设计的规则。例如,安全策略和配额规则通常是预先决定的。如果用户在尝试超过其限制时出现错误,则可能希望操作失败,并且可能不需要解决问题。
3 用户进程失败
异常断开连接的用户进程会回滚掉未提交的事务。进程监视器(PMON)后台进程定期轮询服务器进程,以确保它们的会话仍然连接。如果PMON发现用户不再连接的服务器进程,PMON将从任何正在进行的事务中恢复;它还回滚未提交的更改并释放失败会话持有的任何锁。
从用户进程失败中恢复不需要DBA的干预,但是管理员必须关注趋势。一个或两个用户不正常地断开连接并不值得关注。偶尔会发生一小部分用户流程失败。但持续性和系统性的失败表明了其他问题。很大比例的异常断开可能表明需要对用户进行培训(包括教用户登出而不是仅仅终止他们的程序)。它还可能表明网络或应用程序存在问题。
4 网络故障
网络故障的最佳解决方案是为网络连接提供冗余路径。备份监听器、网络连接和网络接口卡减少了网络故障影响系统可用性的机会。
5 用户错误
用户可能会无意中删除或修改数据。如果他们还没有提交或退出他们的计划,他们可以简单地回滚。
可以使用Oracle LogMiner通过企业管理器或SQL接口查询在线重做日志和归档重做日志。事务数据在在线重做日志中的持续时间可能比在undo段中的持续时间长;如果配置了对重做信息的归档,则重做将一直持续,直到删除归档文件为止。Oracle LogMiner将在Oracle数据库实用程序参考中讨论。
删除表的用户可以通过将表闪回到删除前的回收站来恢复该表。
如果回收站已经被清除,或者用户使用PURGE选项删除了表,那么删除的表仍然可以通过使用时间点恢复(PITR)恢复(如果正确配置了数据库)。
在Oracle数据库12c中,RMAN允许将一个或多个表或表分区恢复到指定的时间点,而不会影响其他数据库对象。




