关闭

关于系统崩溃后的Oracle恢复

2422人阅读 评论(3) 收藏 举报

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

上去看了一下情况,发现情况还是比较好的,由于客户的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在进行数据写入的情况的话,在这种情况下可能会造成数据文件的物理损坏,这种损坏好像是无法恢复的,只能通过重做日志来恢复。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:244760次
    • 积分:3540
    • 等级:
    • 排名:第9661名
    • 原创:101篇
    • 转载:43篇
    • 译文:0篇
    • 评论:44条
    最新评论