恢复实战:用完整的数据库文件恢复数据库

win7系统中的oracle数据库可能会出现一些莫名的问题,最终数据库和监听服务都无法启动,但是数据文件是完好无损的。此时如何快速恢复数据库?最近刚碰到这样的事情,正好实战一把。

 先看一下我的数据文件,原来安装在D:\ORACLE\oradata\YAODB目录下,有3个文件夹CONTROLFILE、DATAFILE、ONLINELOG,分别存放控制文件、数据文件、redo日志(我这个数据库是非归档模式,如果是归档模式的数据库,还会有一个ARCHIVELOG文件夹)

 

现在尝试恢复

1.安装oracle11g软件

步骤略。最后安装的位置ORACLE_HOME=D:\ORACLE\product\11.2.0\dbhome_1

安装完成后,用nectca配置了监听

但没有数据库实例

 

2.手工写一个参数文件pfile,可以从其他数据库create一个出来修改。(如果controlfile是完整的,这一步都不需要)

一般在%ORACLE_HOME%\dbs 目录下有个init.ora的模板,可以在这个基础上改。只需要保留最必要的参数就可以了。比如我是这么做的,先将init.ora复制一个,命名为pfile.ora,修改内容如下,只有db_name、memory_target、control_files这3个参数

3.创建实例

oradim -new -sid YAODB  -STARTMODE auto

(我实际做的时候没加 –STARTMODE auto,windows服务启动后,实例不会自动启动,还需要手工startup一下。当然后续也可以用命令改oradim -EDIT -SID YAODB -STARTMODE auto)

 如果没有controlfile,需要用pfile来创建实例(没有controlfile后面的操作会更复杂,下次再演练)

去看“服务”,发现oracle数据库服务已启动

4.用pfile启动数据库到nomount状态

先设置SID参数,然后用sqlplus连上实例

 启动到nomount状态

此时,oracle自动为我们设置了很多参数,比如dump文件目录

各种name

 

5.直接mount数据库

 

6.Open数据库


监听程序已经捕捉到新的实例

 

这效率快赶上linux里的操作了!自己都没有想到这么顺利。

 

下次要尝试的是没有controlfile、没有system、systemaux表空间等状况,有机会再实战过

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值