数据迁移_老集群RAC迁移数据恢复到新集群RAC

作者:Eric
微信:loveoracle11g

1、把老集群RAC备份的数据远程拷贝到新集群RAC
[root@old-rac-node1 ~]# cd /backup/rman/orcl
[root@old-rac-node1 orcl]# ls -l *1119*
[root@old-rac-node1 orcl]# scp *1119* root@192.168.10.10:/backup/rman/orcl
密码:oracle

[root@rac-node1 ~]# su - oracle
[oracle@rac-node1 ~]$ cd /backup/rman/orcl
[oracle@rac-node1 orcl]$ ll
total 7357616
-rw-r----- 1 oracle asmadmin  242676224 Nov 16 02:55 arch_5dtiajdc_1_1_20181115.bak
-rw-r----- 1 oracle asmadmin  241586176 Nov 16 02:55 arch_5etiajdc_1_1_20181115.bak
-rw-r----- 1 oracle asmadmin  203652096 Nov 16 02:55 arch_5ftiajdg_1_1_20181115.bak
-rw-r----- 1 oracle asmadmin   19202048 Nov 16 02:55 ctl_file_5gtiajdi_1_1_20181115.bak
-rw-r----- 1 oracle asmadmin 5939224576 Nov 16 02:56 data_level0_59tiajbk_1_1_20181115.bak
-rw-r----- 1 oracle asmadmin  868433920 Nov 16 02:56 data_level0_5atiajbk_1_1_20181115.bak
-rw-r----- 1 oracle asmadmin   19202048 Nov 16 02:56 data_level0_5btiajbr_1_1_20181115.bak
-rw-r----- 1 oracle asmadmin      98304 Nov 16 02:56 data_level0_5ctiajbu_1_1_20181115.bak
-rw-r----- 1 oracle asmadmin      98304 Nov 16 02:56 orcl_spfile_5htiajdl_1_1_20181115.bak

[oracle@rac-node1 orcl]$ pwd
/backup/rman/orcl

2、新集群要恢复的数据库,要开启归档
# su - grid
# srvctl stop database -d orcl

---------------------------------------->node1
# su - oracle
# export ORACLE_SID=orcl1
# sqlplus / as sysdba
SQL> startup mount ;
SQL> alter database archivelog ;

---------------------------------------->node2
# su - oracle
# export ORACLE_SID=orcl2
# sqlplus / as sysdba
SQL> startup mount ;
SQL> alter database archivelog ;

---------------------------------------->node1
SQL> alter database open ;
---------------------------------------->node2
SQL> alter database open ;

3、停掉要恢复的数据库orcl
直接停掉 # srvctl stop database -d orcl
# su - grid
# crs_stat -t -v
# crsctl stat res -t

	[oracle@rac-node1 ~]$ export ORACLE_SID=orcl1
	[oracle@rac-node1 ~]$ sqlplus / as sysdba
	SQL> shutdown immediate ;

	[oracle@rac-node2 ~]$ export ORACLE_SID=orcl2
	[oracle@rac-node2 ~]$ sqlplus / as sysdba
	SQL> shutdown immediate ;

启动到mount状态
[oracle@rac-node1 orcl]$ rman target /
RMAN> shutdown immediate ;
RMAN> startup mount ;

4、恢复参数文件spfile
RMAN> restore spfile to '+DATA/spfileorcl.ora' from '/backup/rman/orcl/orcl_spfile_5htiajdl_1_1_20181115.bak';
RMAN> shutdown immediate ;
RMAN> exit ;

[oracle@rac-node1 orcl]$ sqlplus / as sysdba

SQL> startup force nomount ;

ALTER SYSTEM SET DB_CREATE_FILE_DEST='+DATA' SID='*';
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=100G SID='*';
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='+FRA' SID='*';
ALTER SYSTEM SET CONTROL_FILES='+DATA','+FRA' SCOPE=SPFILE SID='*';

5、恢复控制文件controlfile
[oracle@rac-node1 orcl]$ rman target /

RMAN> startup force nomount ;

RMAN> restore controlfile from  '/backup/rman/orcl/ctl_file_5gtiajdi_1_1_20181115.bak' ;

RMAN> alter database mount ;

6、恢复数据文件datafile
RMAN> catalog start with '/backup/rman/orcl/' ;
输入:yes

run {
allocate channel c1 device type DISK;
allocate channel c2 device type DISK;
allocate channel c3 device type DISK;
allocate channel c4 device type DISK;
restore database;
switch datafile all;
switch tempfile all;
recover database delete archivelog;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 11/23/2018 04:04:48
RMAN-06054: media recovery requesting unknown archived log for thread 2 with sequence 1939 and starting SCN of 105650523

再执行下run
run {
allocate channel c1 device type DISK;
allocate channel c2 device type DISK;
allocate channel c3 device type DISK;
allocate channel c4 device type DISK;
set until sequence 1939 thread 2; # 问题在这
restore database;
switch datafile all;
switch tempfile all;
recover database delete archivelog;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}

7、重命名redolog文件
SQL> set linesize 200 ;
SQL> select  'alter database rename file '''||MEMBER||''' to '''||'+data/orcl/onlinelog/'||regexp_substr(MEMBER,'[^\/]+',1,4)||''';' from v$logfile;

'ALTERDATABASERENAMEFILE'''||MEMBER||'''TO'''||'+DATA/orcl/ONLINELOG/'||REGEXP_SUBSTR(MEMBER,'[^\/]+',1,4)||''';'
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
alter database rename file '+DATADG/orcl/onlinelog/group_1.261.967309327' to '+data/orcl/onlinelog/group_1.261.967309327';
alter database rename file '+FRADG/orcl/onlinelog/group_1.257.967309327' to '+data/orcl/onlinelog/group_1.257.967309327';
alter database rename file '+DATADG/orcl/onlinelog/group_2.265.967309327' to '+data/orcl/onlinelog/group_2.265.967309327';
alter database rename file '+FRADG/orcl/onlinelog/group_2.259.967309329' to '+data/orcl/onlinelog/group_2.259.967309329';
alter database rename file '+DATADG/orcl/onlinelog/group_3.262.967309409' to '+data/orcl/onlinelog/group_3.262.967309409';
alter database rename file '+FRADG/orcl/onlinelog/group_3.258.967309409' to '+data/orcl/onlinelog/group_3.258.967309409';
alter database rename file '+DATADG/orcl/onlinelog/group_4.266.967310049' to '+data/orcl/onlinelog/group_4.266.967310049';
alter database rename file '+FRADG/orcl/onlinelog/group_4.260.967310049' to '+data/orcl/onlinelog/group_4.260.967310049';
alter database rename file '+DATADG/orcl/onlinelog/group_5.268.967308939' to '+data/orcl/onlinelog/group_5.268.967308939';
alter database rename file '+FRADG/orcl/onlinelog/group_5.261.967308939' to '+data/orcl/onlinelog/group_5.261.967308939';
alter database rename file '+DATADG/orcl/onlinelog/group_6.269.967308939' to '+data/orcl/onlinelog/group_6.269.967308939';

'ALTERDATABASERENAMEFILE'''||MEMBER||'''TO'''||'+DATA/orcl/ONLINELOG/'||REGEXP_SUBSTR(MEMBER,'[^\/]+',1,4)||''';'
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
alter database rename file '+FRADG/orcl/onlinelog/group_6.262.967308939' to '+data/orcl/onlinelog/group_6.262.967308939';
alter database rename file '+DATADG/orcl/onlinelog/group_7.270.967308941' to '+data/orcl/onlinelog/group_7.270.967308941';
alter database rename file '+FRADG/orcl/onlinelog/group_7.263.967308941' to '+data/orcl/onlinelog/group_7.263.967308941';
alter database rename file '+DATADG/orcl/onlinelog/group_8.271.967309023' to '+data/orcl/onlinelog/group_8.271.967309023';
alter database rename file '+FRADG/orcl/onlinelog/group_8.264.967309023' to '+data/orcl/onlinelog/group_8.264.967309023';
alter database rename file '+DATADG/orcl/onlinelog/group_9.272.967309023' to '+data/orcl/onlinelog/group_9.272.967309023';
alter database rename file '+FRADG/orcl/onlinelog/group_9.265.967309025' to '+data/orcl/onlinelog/group_9.265.967309025';
alter database rename file '+DATADG/orcl/onlinelog/group_10.273.967309025' to '+data/orcl/onlinelog/group_10.273.967309025';
alter database rename file '+FRADG/orcl/onlinelog/group_10.266.967309025' to '+data/orcl/onlinelog/group_10.266.967309025';

20 rows selected.
执行上面的输出sql

alter database clear logfile group 1;
alter database clear logfile group 2;
alter database clear logfile group 3;
alter database clear logfile group 4;
alter database clear logfile group 5;
alter database clear logfile group 6;
alter database clear logfile group 7;
alter database clear logfile group 8;
alter database clear logfile group 9;
alter database clear logfile group 10;

SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING ; # 报错不管它

8、打开数据库
SQL> alter database open resetlogs ;

重启数据库
startup force ;

9、检查
检查参数文件spfile
SQL> show parameter spfile ;

检查控制文件controlfile
SQL> select NAME from v$controlfile ;

检查数据文件datafile
SQL> select NAME from v$datafile ;

检查日志文件logfile
SQL> select MEMBER from v$logfile ;

查看字符集
select userenv('LANGUAGE') FROM DUAL ;

集群实例状态
select instance_name ,status from gv$instance ;

检查集群状态
直接停掉# srvctl status database -d orcl
		# srvctl status instance -d orcl -i orcl1
		# srvctl status instance -d orcl -i orcl2
		# srvctl start database -d orcl
		# srvctl status database -d orcl

查看# su - grid
    # crs_stat -t -v
    # crsctl stat res -t

数据迁移_老集群RAC迁移数据恢复到新集群RAC的更多相关文章

  1. elasticsearch7.5.0+kibana-7.5.0+cerebro-0.8.5集群生产环境安装配置及通过elasticsearch-migration工具做新老集群数据迁移

    一.服务器准备 目前有两台128G内存服务器,故准备每台启动两个es实例,再加一台虚机,共五个节点,保证down一台服务器两个节点数据不受影响. 二.系统初始化 参见我上一篇kafka系统初始化:ht ...

  2. redis集群在线迁移第一篇(数据在线迁移至新集群)实战一

    迁移背景:1.原来redis集群在A机房,需要把其迁移到新机房B上来.2.保证现有环境稳定.3.采用在线迁移方式,因为原有redis集群内有大量数据.4.如果是一个全新的redis集群搭建会简单很多. ...

  3. 从零自学Hadoop(17):Hive数据导入导出,集群数据迁移下

    阅读目录 序 将查询的结果写入文件系统 集群数据迁移一 集群数据迁移二 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephis ...

  4. 数据迁移_把RAC环境备份的数据,恢复到另一台单机Oracle本地文件系统下

    数据迁移_把RAC环境备份的数据,恢复到另一台单机Oracle本地文件系统下 作者:Eric 微信:loveoracle11g 1.创建pfile文件 # su - ora11g # cd $ORAC ...

  5. Bash实践:抽样检测数据迁移至Redis集群后的数据一致性

    熟悉了一段时间的Bash编程,因此借此任务操作一把bash编程,主要涉及到Redis单节点与Redis集群的操作 1. 任务背景 近日有个任务需要将历史的Redis(主从节点)中的数据迁移至Redis ...

  6. Hbase 0.92.1集群数据迁移到新集群

    老集群 hbase(main):001:0> status 4 servers, 0 dead, 0.0000 average load hbase(main):002:0> list T ...

  7. Redis源码阅读(六)集群-故障迁移(下)

    Redis源码阅读(六)集群-故障迁移(下) 最近私人的事情比较多,没有抽出时间来整理博客.书接上文,上一篇里总结了Redis故障迁移的几个关键点,以及Redis中故障检测的实现.本篇主要介绍集群检测 ...

  8. redis集群在线迁移

    地址规划 主机名 ip地 端口 redis01 10.0.0.10 6379.6380 redis02 10.0.0.60 6379.6380 redis03 10.0.0.61 6379.6380 ...

  9. 相同版本的CDH集群间迁移hdfs以及hbase

    前言 由于项目数据安全的需要,这段时间看了下hadoop的distcp的命令使用,不断的纠结的问度娘,度娘告诉我的结果也让我很纠结,都是抄来抄去, 还好在牺牲大量的时间的基础上还终于搞出来了,顺便写这 ...

随机推荐

  1. linux 变量定义

    本地变量:用户自定义的变量. 环境变量:用于所有用户变量,用于用户进程前,必须用export命令导出. 位置变量:$0(脚本名),$1-$9:脚本参数. 特定变量:脚本运行时的一些相关信息. $# 传 ...

  2. Architecture options to run a workflow engine

    This week a customer called and asked (translated into my own words and shortened): “We do composite ...

  3. win10开移动热点让手机使用上网

    PC得买个无线网卡带尾部那种的,插后面,有了无线网卡能力了. 然后开启移动热点: 在设备管理器里面去,找到网络适配器,选择带有Wireless的那个,更新驱动,浏览计算机查找,从计算机的设备驱动表选取 ...

  4. 我的虚拟机静态IP配置

  5. 自建mail服务器之一:dns解析

    这个其实不是必须的 1,maradns服务器安装和设置 mararc文件 # Win32-specific MaraRC file; this makes a basic recursive DNS ...

  6. LOJ 2737 「JOISC 2016 Day 3」电报 ——思路+基环树DP

    题目:https://loj.ac/problem/2737 相连的关系形成若干环 / 内向基环树 .如果不是只有一个环的话,就得断开一些边使得图变成若干链.边的边权是以它为出边的点的点权. 基环树的 ...

  7. java Collections.sort()

    sort()是Collections中的静态方法,用于对List容器中的元素排序. 如容器list中存储的是Integer对象 List<Integer> list =Arrays.asL ...

  8. SDRAM单字写操作

    SDRAM单字写操作 1.单字写操作时序 2.写verilog程序体会 在初始状态,先写好跳转条件.If()....else... 3.通过仿顺序操作来实现连续写操作 首先完成单字写操作,然后跳转到下 ...

  9. zabbix moniter

    zabbix moniter http://blog.csdn.net/xiegh2014/article/category/6945291/2

  10. 多进程共享数据,真正的通信Manager

    Managers A manager object returned by Manager() controls a server process which holds Python objects ...