11gr2 raccreate a controlfile (resetlogs)
recreate controlfile RAC与单实例的区别:
1、recreatecontrolfile需启动单实例进行重建
2、recreatecontrolfile前、后需要设置cluster_database为false、true
3、recreate controlfile后,需要添加其他节点的thread N,redo log
环境11.2.0.1 oracle rac on redhat 5.8
启动单实例进行recreate controlfile
1、设置cluster_database=false
idle>alter system set cluster_database=false scope=spfile;
重启数据库生效,并开启到nomount状态
idle>startup nomount;
idle>select status from gv$instance;
STATUS
------------------------------------
STARTED
idle>show parameter cluster_database
NAME TYPE VALUE
-------------------------------------------------------- ------------------------------
cluster_database boolean FALSE
cluster_database_instances integer 1
2、手动recreate controlfile脚本,文件位置、名称由asmcmd查看,仅添加当前实例的thread 1 的redo log
CREATECONTROLFILE REUSE DATABASE "RACDB" RESETLOGS ARCHIVELOG
MAXLOGFILES192
MAXLOGMEMBERS4
MAXDATAFILES1024
MAXINSTANCES32
MAXLOGHISTORY292
LOGFILE
GROUP1 (
'+DATA/racdb/onlinelog/group_1.261.821458605'
)SIZE 50M BLOCKSIZE 512,
GROUP2 (
'+DATA/racdb/onlinelog/group_2.262.821458611'
)SIZE 50M BLOCKSIZE 512,
DATAFILE
'+DATA/racdb/datafile/SYSTEM.256.821458313',
'+DATA/racdb/datafile/SYSAUX.257.821458317',
'+DATA/racdb/datafile/UNDOTBS1.258.821458317',
'+DATA/racdb/datafile/UNDOTBS2.264.821458799',
'+DATA/racdb/datafile/USERS.259.821458317'
CHARACTERSET AL32UTF8;
3、使用控制文件恢复数据文件
idle> recover database using backup controlfile until cancel;
ORA-00279: change1037817 generated at 07/26/2013 20:28:24 needed for thread 1
ORA-00289:suggestion : /rman/arch/1_54_821458604.dbf
ORA-00280: change1037817 for thread 1 is in sequence #54
Specify log:{<RET>=suggested | filename | AUTO | CANCEL}
cancel
Media recoverycancelled.
4、添加其他节点的thread N的redo log
ASM,使用OMF命名规则时不能指定具体的文件名,只需指定diskgroup名即可
idle>alter database add logfile thread 2
group4 (‘+data’) size 50m blocksize 512 reuse ,
group5 (‘+data’) size 50m blocksize 512 reuse ;
5、resetlogs开启数据库
idle> alter database open resetlogs;
Database altered.
6、添加临时文件
idle> alter tablespace temp add tempfile'+data/racdb/tempfile/TEMP.263.821458639' size 50m reuse;
Tablespace altered
7、设置cluster_database=ture
idle> alter system set cluster_database=truescope=spfile;
System altered.
数据库重启生效
8、开启所有节点数据库
[oracle@dou_rac2 ~]$ srvctl start database -d racdb
SQL> select status from gv$instance;
STATUS
------------
OPEN
OPEN
9、至此RAC重建控制文件已完成!!