将数据库由单实例变为双节点rac
1、将数据库变为mount状态,将文件copy进asm
rman target /
backup as copy datafile 1 format '+DATADG';
backup as copy datafile 2 format '+DATADG';
backup as copy datafile 3 format '+DATADG';
backup as copy datafile 4 format '+DATADG';
backup as copy datafile 5 format '+DATADG';
backup as copy datafile 6 format '+DATADG';
backup as copy datafile 7 format '+DATADG';
backup as copy datafile 8 format '+DATADG';
2、修改数据文件路径
alter database rename file '/u01/app/oracle/oradata/DATA_265.f' to '+DATADG/rac10/datafile/SYSTEM.261.1002984807';
alter database rename file '/u01/app/oracle/oradata/DATA_261.f' to '+DATADG/rac10/datafile/undotbs1.263.1002984885';
alter database rename file '/u01/app/oracle/oradata/DATA_264.f' to '+DATADG/rac10/datafile/sysaux.264.1002985065';
alter database rename file '/u01/app/oracle/oradata/DATA_266.f' to '+DATADG/rac10/datafile/undotbs2.266.1002985211';
alter database rename file '/u01/app/oracle/oradata/DATA_259.f' to '+DATADG/rac10/datafile/users.268.1002985295';
alter database rename file '/u01/app/oracle/oradata/DATA_260.f' to '+DATADG/rac10/datafile/bj_test_backup.269.1002985317';
alter database rename file '/u01/app/oracle/oradata/DATA_258.f' to '+DATADG/rac10/datafile/test1.270.1002985339';
alter database rename file '/u01/app/oracle/oradata/DATA_278.f' to '+DATADG/rac10/datafile/ogg.271.1002985345';
3、将控制文件restore进asm
查看数据文件位置
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------/u01/app/oracle/oradata/DATA_267.f
将数据库状态改变为nomount,restore控制文件
rman target /
restore controlfile to '+datadg' from '/u01/app/oracle/oradata/DATA_267.f';
shutdown immediate
4、修改pfile(*.cluster_database=true、*.control_files='+datadg/rac10/controlfile/current.265.1002986747'、rac101.thread=1、rac102.thread=2)
5、启动到nomount通过pfile生成spfile
SQL> create spfile='+DATADG/rac10/spfile.ora' from pfile;
File created.
shutdown
6、 修改pfile为 spfile='+DATADG/rac10/spfile.ora'
7、修改cluster数据库注册信息
srvctl modify database -d rac10 -o $ORACLE_HOME -p +DATADG/rac10/spfile.ora -y automatic -a DATADG,OCR,OGG
8、重启集群
[grid@rac2 ~]$ srvctl remove diskgroup -g DATA
集群状态正常