关于系统崩溃后的Oracle恢复

昨天客户叫我过去帮个忙,说是数据库坏掉了,看能不能帮助恢复,看他一脸期盼的样子我给他过去看了一下(客户以为我是高手,其实我很菜的啦),后来听说,由于他偷懒,两个月以来都没有备份数据(我晕,这家伙难道不怕下岗?)。

上去看了一下情况,发现情况还是比较好的,由于客户的Rad5坏了一块,客户在build的过程中又坏了一块,最后没有办法只好找数据恢复的公司来进行数据恢复,恢复过来后发现操作系统不能用了,但是数据库文件还存在。

我用了以下办法恢复数据:

1、找一台没有装过Oracle的机器,按照客户原有的安装配置安装Oracle。(包括表空间创建和用户创建)

2、停止所有Oracle服务(2000/xp),改自动为手动(这个可作可不做,只要服务停了就行)。

3、用恢复过来的数据库文件覆盖刚刚安装的数据库文件。

4、用恢复过来的admin目录下的文件覆盖刚刚安装好的admin目录下文件。

重新启动数据库,发现服务可以起来,但是数据库没有起来,用企业管理器察看,说是数据库没有起来。

5、接下来进入命令行 输入命令 sqlplus "/nolog as sysdba"

6、输入命令 shutdown immediate;

卸载数据库成功

7、输入命令 startup mount

最后命令行界面提示了一些问号,另外带了一个文件名称,看样子是这个文件没有覆盖造成的,一看我就晕了,这好像是pwd文件嘛!!!

8、停止服务

用恢复的pwd和init文件覆盖新装的文件pwd和init文件(oracle安装目录/ora90/database)

9、重新启动服务,发现问题解决了

结论:在弄得过程中走了很多弯路,最后才弄成,分析原因是对Oracle的文件结构不够熟悉造成的,这个东西看来还是要多操作多练习,熟能生巧嘛,另外,理论学习还是必不可少的。

另外:如果磁盘坏掉的时机正好是Oracle在进行数据写入的情况的话,在这种情况下可能会造成数据文件的物理损坏,这种损坏好像是无法恢复的,只能通过重做日志来恢复。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值