为保证数据库安全,防止因为控制文件损坏而造成实例崩溃CRASH,增加一个控制文件成员,并存放于不同于当前的ASM磁盘上,以备不时之需。
1.增加一组控制文件参数 [RAC01]
注:第2个控制文件只需要指定到其他ASM磁盘组,+DATA为原控制文件所在ASM磁盘组。
SQL>
set lines 999 pages 999
show parameter control_files
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
control_files string +DATA/orca/controlfile/curren
t.258.1140755409
alter system set control_files='+DATA/orcl/controlfile/current.258.1140755409', '+ARCH' scope=spfile;
2.关闭所有实例 [RAC01/02]
srvctl stop database -d orcl
3.重启实例1至nomount状态 [RAC01]
sqlplus / as sysdba
startup nomount;
注:这里指定已经存在的控制文件进行恢复。当然,如果出现原有控制文件损坏或丢失的情况,可用备份(新增)恢复。
rman target /
restore controlfile from '+DATA/orcl/controlfile/current.258.1140755409';
Starting restore at 23-JUN-30
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 instance=cesdb1 device type=DISK
channel ORA_DISK_1: copied control file copy
output file name=+DATA/orcl/controlfile/current.258.1140755409
output file name=+ARCH/orcl/controlfile/current.391.1140820571
Finished restore at 23-JUN-30
5.检查控制文件参数
SQL>
set lines 999 pages 999
show parameter control_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string +DATA/cesdb/controlfile/curren
t.258.1140755409, +ARCH/cesdb/
controlfile/current.391.114082
0571
6.启动数据库
alter database mount;
alter database open;
7.启动实例 [RAC01]
srvctl start instance -d orcl -i orcl02