数据库版本一致,环境一致,新rac没有创建数据库实例的迁移
一、原RAC:
在源库备份控制文件,并copy到新rac节点一
RMAN>backup current controlfile for standby format='/home/oracle/backup/standby_ctlfl.bak' tag='STANDBY_CTLFILE_BAK';
用create创建pfileorcl.ora文件,并copy到新rac节点一
SQL>create pfile=’/tmp/pfileorcl.ora’ from spfile;
---数据文件、临时文件、日志文件
run{
allocate channel dev1 type disk ;
allocate channel dev2 type disk ;
crosscheck archivelog all;
delete noprompt expired archivelog all;
crosscheck backup;
delete noprompt expired backup;
sql 'alter system archive log current' ;
backup as compressed backupset format '/backup/full_%d_%T_%U' database ;
sql 'alter system archive log current' ;
backup as compressed backupset format '/backup/arch_%d_%T_%U' archivelog from time 'sysdate - 2';
backup format '/backup/ctl_%d_%T_%U' current controlfile;
sql 'alter database backup controlfile to trace';
release channel dev1;
release channel dev2;
}
exit;
EOF
---控制文件
backup current controlfile for standby format='/home/oracle/backup/standby_ctlfl.bak' tag='STANDBY_CTLFILE_BAK';
---密码文件
---参数文件
注:全备复制到新rac库,注意查看空间是否足够。【备份控制文件、备份文件(检查空间是否足够)、密码文件(利用dg同步)传到目标库】
①添加archive
SQL> alter system set log_archive_config='dg_config=(orcl,orcldg,orcl)' scope=both;
SQL> alter system set log_archive_dest_3='service=newhis LGWR ASYNC valid_for=(online_logfiles,primary_role) db_unique_name=orcl' scope=both;
②(源库rac 双节点都需执行一遍)
vi /etc/hosts
加入新rac的scan ip
vi tnsnames.ora
加入新rac的scan ip
双节点用tnsping测试:tnsping newhis
原库的tnsnames.ora文件内容
目标库:创建并写入(双节点)
二、目标库(新rac)
源库的dg路径需要删除,控制文件需一致。
修改后的新库pfile:
其中*.audit_file_dest='/u01/app/oracle/admin/orcl/adump' --该文件目录没有需创建(两新节点都需要创建)
midir -p /u01/app/oracle/admin/orcl/adump
chown -R oracle:oinstall /u01/app/oracle/admin/orcl/adump
sqlplus / as sysdba
SQL>startup nomount pfile=’/tmp/pfileorcl.ora’;
rman target /
RMAN> restore standby controlfile from '/home/oracle/standby_ctlfl.bak’;
RMAN> alter database mount;
修改相关参数:(与上图的控制文件一致)
新库:在pfile文件中添加fal,删除多余的archive设置
*.log_archive_config='dg_config=(orcl,orcldg)'
*.fal_client='newhis'
*.fal_server='p'
pfile中内容指向共享存储的spfile
SQL>create spfile='+DATA/orcl/spfileorcl.ora' from pfile=‘/tmp/pfileorcl.ora’;
vi initorcl.ora
SPFILE='+DATA/orcl/spfileorcl.ora’
重新启动到mount状态:与原库的参数启动位置一致
【新rac】调整rac环境资源管理
[oracle]
srvctl add database -d orcl -o /u01/app/oracle/product/11.2.0/db_1 -p +DATA/orcl/spfileorcl.ora
srvctl add instance -d orcl -i orcl1 -n his01
srvctl add instance -d orcl -i orcl2 -n his02
srvctl config database -d orcl
crsctl stat res -t
检查备份文件:
RMAN> list backup summary;
RMAN> restore database;
在mount状态下做Database Recovery
SQL> recover managed standby database disconnect from session;
SQL> alter database recover managed standby database cancel;
SQL> alter database open read only;
SQL> recover managed standby database using current logfile disconnect from session;
SQL> select thread#,sequence#,applied from v$archived_log;
查看applied的结果,如果是YES最后为IN-MEMORY表示数据已经应用。
# DG不同步,查看已经同步到什么时候了:
SQL> select sequence#,name,applied,first_time from v$archived_log;