oracle 控制文件损坏处理

 

一, 故障模拟

  

  控制文件损坏

  

  发现关闭不了

   

 

 

  强制关闭

    

 

故障恢复

        

  发现已经执行到mont阶段,因为这个不依靠控制文件

 

  进入整段日志  cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace/

  

查看alert_orcl.log日志

vim alert_orcl.log

 

报错信息

1 ORA-00210: cannot open the specified control file
2 ORA-00202: control file: '/oradata/orcl/control01.ctl'
3 ORA-27037: unable to obtain file status

 

 

处理方法一:

  复制一个文件  从上一个文件复制一个过来

  

 

处理方法二:  

  配置文件删除一个

  

  删除少了的就行

  

 

启动:

  

 

 

二, 重新创建控制文件  

  损坏的时候还是可以查查询的

  查看数据文件

  

  查看日志文件地址

  

  

  

 

 

备份: alter database backup controlfile to trace

查看文本文件路径:

select tracefile from v$process where addr in (select paddr from v$session where sid in (select sid from v$mystat));  

 

 

故障模拟

 

控制文件移除:

  /oradata/orcl/control01.ctl','/u01/app/oracle/fast_recovery_area/orcl/control02.ctl','/u01/app/oracle/control03.ctl','/u01/app/oracle/control04.ctl

  

 

 

修复:

  查看刚刚备份文件的信息

 1 STARTUP NOMOUNT
 2 CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  NOARCHIVELOG
 3     MAXLOGFILES 16
 4     MAXLOGMEMBERS 3
 5     MAXDATAFILES 100
 6     MAXINSTANCES 8
 7     MAXLOGHISTORY 292
 8 LOGFILE
 9   GROUP 1 '/oradata/orcl/redo01.log'  SIZE 50M BLOCKSIZE 512,
10   GROUP 2 '/oradata/orcl/redo02.log'  SIZE 50M BLOCKSIZE 512,
11   GROUP 3 '/oradata/orcl/redo03.log'  SIZE 50M BLOCKSIZE 512
12 -- STANDBY LOGFILE
13 DATAFILE
14   '/oradata/orcl/system01.dbf',
15   '/oradata/orcl/sysaux01.dbf',
16   '/oradata/orcl/undotbs01.dbf',
17   '/oradata/orcl/users01.dbf'
18 CHARACTER SET AL32UTF8
19 ;
View Code

  从start到设置字符集那这段截取

  

 

  进入数据库

  

  启动数据库到nomont阶段

  startup

  执行tarce出来的命令行

  

    

     开启数据库

    

    

    查询信息

    

    完成恢复

    

    查看控制文件是否存在

    

 

posted on 2018-12-07 16:47  kingle-l  阅读(874)  评论(0编辑  收藏  举报

levels of contents