通过trace文件重新创建控制文件

前言:

       控制文件顺坏一般有2个方法进行还原,第一如果只损坏一个控制文件的话,可以通过拷贝其他冗余的控制文件过来(一般控制文件至少保存在两个位置;

       通过语句可以查询控制文件存放的信息:

SQL> select name from v$controlfile;

NAME

--------------------------------------------------------------------------------

/oracle/PIP/origlogA/cntrl/cntrlPIP.dbf

/oracle/PIP/origlogB/cntrl/cntrlPIP.dbf

/oracle/PIP/sapdata1/cntrl/cntrlPIP.dbf

     如果控制文件都顺坏的话,但是系统有备份,可以还原相应的控制文件,然后进行不完全恢复,具体数据库的恢复已经有发帖介绍过去,请各位自行查找了;

 

但是如果是第三中情况了,所有的控制文件都损坏了,而且没有进行备份,那该怎么办?

本文介绍在这种极端情况下的极端方法,前提你对数据库的信息很熟悉了;

 

操作步骤:

1、在一台运行良好的数据库上面运行以下语句:

SQL> alter database backup controlfile to trace resetlogs; 

然后在相应的alert log下面查找trace产生的语句

2、导出相应的trace文件

       1)查找STARTUP NOMOUNT语句,将这一行上面的所有行都删除

       2)查找所有以--开始的行,把这些行删除

       3)修改所有的db_name跟原来的一致

       4)找到CREATE CONTROLFILE REUSE DATABASE...语句,将其中的REUSE修改为SET

       5)找到RECOVER DATABASE USING BACKUP CONTROLFILE语句,将其用双横线(--)注释掉

    6)修改所有的文件路径跟实际环境的路径一致

    7)把修改后的文件以*.sql方式命名,然后上传到服务器

3、启动数据库

     1) 通过脚本启动数据库   sqlplu:@/oracle/ccf.sql(例如:放在oracle目录下,并以ccf.sql方式命名)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12679300/viewspace-1129408/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12679300/viewspace-1129408/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值