暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle控制文件异常的几种恢复方法(二)

rundba 2021-04-08
431

0. ENV

RHEL6.4/ORACLE 12.2.0.1 单机文件系统

强大的oracle出现控制文件异常的几率是比较小的,但是人为误操作的可能性就相对比较大。

上期模拟存在多个冗余控制文件时,一个控制文件被误删除的恢复过程。

本次模拟当所有控制文件被删除时,采用文件描述符方式对控制文件进行恢复。

下篇采用重建控制文件方式对控制文件进行恢复。


1. 删除所有控制文件

模拟操作,误操作rm -rf control0*.ctl删除全部控制文件          

SYS@orcl> show parameter control_files


NAME     TYPE    VALUE

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

control_filesstring    oradata/orcl/control01.ctl, 

                                        oradata/orcl/control02.ctl


$ rm -rf oradata/orcl/control01.ctl oradata/orcl/control02.ctl


2. 采用文件描述符方式对控制文件进行恢复

2.1 查看检查点进程

[oracle@db ~]$ ps -ef | grep ckpt | grep -v grep

oracle     6510      1  0 23:11 ?        00:00:00 ora_ckpt_orcl


2.2 查看控制文件描述符文件

[oracle@db ~]$ cd proc/6510/fd

[oracle@db fd]$ ls -lrt

total 0

lr-x------. 1 oracle oinstall 64 Mar 22 23:50 8 -> u01/app/oracle/product/12.2.0/db_1/rdbms/mesg/oraus.msb

lrwx------. 1 oracle oinstall 64 Mar 22 23:50 7 -> u01/app/oracle/product/12.2.0/db_1/dbs/lkORCL

lrwx------. 1 oracle oinstall 64 Mar 22 23:50 6 -> /u01/app/oracle/product/12.2.0/db_1/dbs/hc_orcl.dat

lr-x------. 1 oracle oinstall 64 Mar 22 23:50 5 -> /proc/6510/fd

lr-x------. 1 oracle oinstall 64 Mar 22 23:50 4 -> /u01/app/oracle/product/12.2.0/db_1/rdbms/mesg/oraus.msb

lr-x------. 1 oracle oinstall 64 Mar 22 23:50 3 -> /dev/null

lrwx------. 1 oracle oinstall 64 Mar 22 23:50 257 -> /oradata/orcl/control02.ctl        #控制文件2缓存

lrwx------. 1 oracle oinstall 64 Mar 22 23:50 256 -> /oradata/orcl/control01.ctl        #控制文件1缓存

l-wx------. 1 oracle oinstall 64 Mar 22 23:50 2 -> /dev/null

l-wx------. 1 oracle oinstall 64 Mar 22 23:50 1 -> /dev/null

lr-x------. 1 oracle oinstall 64 Mar 22 23:50 0 -> /dev/null


2.3 采用文件描述符方式对控制文件进行恢复

$ cp 257 /oradata/orcl/control02.ctl

$ cp 256 /oradata/orcl/control01.ctl


2.4 关闭数据库异常

SYS@orcl> shut immediate;

Database closed.

ORA-03113: end-of-file on communication channel

Process ID: 6555

Session ID: 379 Serial number: 54017


2.5 启动数据库正常

SYS@orcl> startup

ORACLE instance started.


Total System Global Area  587202560 bytes

Fixed Size    8623352 bytes

Variable Size  339741448 bytes

Database Buffers  230686720 bytes

Redo Buffers    8151040 bytes

Database mounted.

Database opened.


数据库恢复正常。


3. 结论

当控制文件被误删除时,此时紧急补救措施是使用文件描述符方式对控制文件进行恢复。


最后修改时间:2021-04-08 15:25:26
文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论