oracle 控制文件损坏处理

时间:2021-01-10 17:40:33

一, 故障模拟

  oracle 控制文件损坏处理

  控制文件损坏

  oracle 控制文件损坏处理

  发现关闭不了

  

  强制关闭

    oracle 控制文件损坏处理

故障恢复

        oracle 控制文件损坏处理

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

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

  oracle 控制文件损坏处理

查看alert_orcl.log日志

vim alert_orcl.log

oracle 控制文件损坏处理

报错信息

 ORA-: cannot open the specified control file
ORA-: control file: '/oradata/orcl/control01.ctl'
ORA-: unable to obtain file status

处理方法一:

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

  oracle 控制文件损坏处理

处理方法二:  

  配置文件删除一个

  oracle 控制文件损坏处理

  删除少了的就行

  

启动:

  oracle 控制文件损坏处理

二, 重新创建控制文件  

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

  查看数据文件

  oracle 控制文件损坏处理

  查看日志文件地址

  oracle 控制文件损坏处理

  

  

备份: 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

  oracle 控制文件损坏处理

修复:

  查看刚刚备份文件的信息

 STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS NOARCHIVELOG
MAXLOGFILES
MAXLOGMEMBERS
MAXDATAFILES
MAXINSTANCES
MAXLOGHISTORY
LOGFILE
GROUP '/oradata/orcl/redo01.log' SIZE 50M BLOCKSIZE ,
GROUP '/oradata/orcl/redo02.log' SIZE 50M BLOCKSIZE ,
GROUP '/oradata/orcl/redo03.log' SIZE 50M BLOCKSIZE
-- STANDBY LOGFILE
DATAFILE
'/oradata/orcl/system01.dbf',
'/oradata/orcl/sysaux01.dbf',
'/oradata/orcl/undotbs01.dbf',
'/oradata/orcl/users01.dbf'
CHARACTER SET AL32UTF8
;

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

  

  进入数据库

  oracle 控制文件损坏处理

  启动数据库到nomont阶段

  startup

  执行tarce出来的命令行

  oracle 控制文件损坏处理

    

    开启数据库

    oracle 控制文件损坏处理

    

    查询信息

    oracle 控制文件损坏处理

    完成恢复

    

    查看控制文件是否存在

    oracle 控制文件损坏处理

相关文章