1、开启数据库到mount状态
startup
SQL> select checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
919031
919031
919031
919031
919031
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
919031
919031
919031
919031
919031
2、重建控制文件
此时数据文件的scn号和控制文件的scn号一致,但是控制文件记录了redo信息,abort关闭时,开启数据库时会查找redo进行一致性恢复)
rm -rf *.ctl
startup force
3、恢复控制文件
RMAN> restore controlfile from '/home/oracle/bak/data/ctl_0buvvndc_1_1';
Starting restore at 12-MAY-20
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=10 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
output file name=/u01/app/oracle/oradata/PROD4/PROD4/control01.ctl
output file name=/u01/app/oracle/oradata/PROD4/PROD4/control02.ctl
Finished restore at 12-MAY-20
RMAN> alter database mount;
SQL> select checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
919031
919031
919031
919031
919031