优化Oracle停机时间及数据库恢复
创始人
2024-07-29 09:51:42
0

这里会讨论令Oracle停机时间最小化的步骤,Oracle数据库中停机时间的优化是提高Oracle数据库工作效率的有效做法,各种形式的停机--计划的或者是非计划的--总是不断地发生,一个DBA应该有正确的备份策略,这样在数据库出现问题时就可以更快地恢复

以下是假定的备份策略和数据库的运作条件:

控制文件是镜像的

数据库运行在archivelog模式

每个星期都进行冷备份

每日都进行热备份

每日都进行一次全数据库导出

事件1:完整的数据库重构

在这种情形下,你可以使用全数据库导出或者冷热备份结合的方式来重构数据库。要注意的是无论你选择哪种方式,在线redo log中的事务都会丢失。

事件2:恢复部分的表空间

可以使用以下的步骤来恢复:

1、以restrict模式启动数据库

2、重新创建表空间

3、使用***的全数据库导出来导入,并且使用ignore=y的选项;

4.关闭并且重新以normal的模式启动数据库实例

事件3:丢失一般的数据文件

丢失一般数据文件的恢复步骤根据所丢失的数据文件包含的表空间类型而定;例如:回滚段,用户表空间,索引表空间或者是只读的表空间、你可能会遇到以下的错误:

. 尝试启动数据库并且碰到错误的信息ORA-1157, ORA-1110,可能还有一个操作系统的错误

. 尝试以normal或者immediate的模式关闭数据库,可能会碰到ORA-1116, ORA-1110的错误信息,还有一个系统错误

以下的步骤可以用作恢复:

1、关闭数据库

2、由热备份中恢复丢失的数据文件

3、Startup mount数据库

4、执行以下的查询来得到所有你的在线redo log文件和它们相应的次序和***修改号:

SELECT X.GROUP#, MEMBER, SEQUENCE#, FIRST_CHANGE#
FROM V$LOG X, V$LOGILE Y
WHERE X.GROUP# = Y.GROUP#;

5、如果得到的CHANGE#比在线redo log最小的FIRST_CHANGE# 还小,那么该文件不能被完全恢复,你可以有两个选择:

如果可以接受丢失最近一次冷备份以来的数据库修改,装入备份并且继续恢复

如果不能接受丢失数据库的修改,那么必须重新创建表空间

6、通过使用存档和在线的redo log来恢复数据文件

7、打开数据库

事件4:恢复一个特别的表

可以采用以下的步骤恢复:

1、使用最近的一次全数据库导出来导入表,并且使用owner=和tables=的选项

2、考虑到性能的原因,可能需要重建表索引

关于优化Oracle停机时间及数据库恢复的讲解就为大家介绍到这里,希望上文中涉及到的内容对大家能够有所帮助,大家掌握了上文中介绍的知识之后,在以后的工作中遇到类似问题就能够轻松解决了。

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...