记录一次Oracle19RAC恢复到单机文件系统

本文详细记录了一次从Oracle 19RAC双节点集群恢复到19.3版本的单实例文件系统的过程。包括修改监听、参数文件、恢复控制文件、重定向数据文件路径、恢复数据库等关键步骤,以及在恢复过程中遇到的问题和解决方案,如设置恢复时间点来避免数据异常。
摘要由CSDN通过智能技术生成

记录一次Oracle19RAC恢复到单机文件系统(rac19.6---单机19.3)

源端库:rac19c(双节点RAC)

版本:19.6.0.0.0

操作系统:centos7.5

 

目标库:rac19c(单实例文件系统)

版本:19.3.0.0.0

操作系统:centos7.5

 

客户需求,生产库数据发生变化,需要使用昨天备份恢复一套单实例做数据对比加数据恢复

19RAC 19.6 恢复至单实例文件系统19c 19.3

(同时验证19c可以跨小版本恢复)

 

---批量数据文件重命名,适合rac到单实例,重定向路径

异机查看执行:

SQL>select 'SET NEWNAME FOR DATAFILE '|| file# ||' to ' ||''''|| name ||''''|| ';' from v$datafile;

---批量日志文件重命名,适合rac到单实例,重定向路径

SQL> select 'alter database rename file '''||member||q'[' to '/u01/app/oracle/fast_recovery_area/redo';]' from v$logfile;

 

---

1.监听:动静结合

#listener.ora

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = rac19cdg)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

 

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME =/u01/app/oracle/product/19.3.0/db_1)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (GLOBAL_DBNAME = rac19c)

      (ORACLE_HOME = /u01/app/oracle/product/19.3.0/db_1)

      (SID_NAME =rac19c)

    )

  )

#tnsnames.ora

RAC19C =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.159.33.6)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = rac19c)

    )

  )

 

 

 

 

2.修改参数文件initrac9c.ora并启动到nomount状态

$sqlplus / as sysdba

SQL>startup nomount;

SQL>exit

 

3.恢复控制文件

rman target /

RMAN>restore controlfile from '/archi/backup/backup/rac19c/rac19c_ctl_l0_13848_1_1067904730';

RMAN>alter database mount;

RMAN>catalog start with '/archi/backup/backup/rac19c';

 

4.重定向数据文件路径restore数据库

RMAN> run{

allocate channel ch0 type disk;

SET NEWNAME FOR DATAFILE 1 to '/oradata/DATAFILE/system01.dbf';

SET NEWNAME FOR DATAFILE 2 to '/oradata/PDBSEED/system01.dbf';

SET NEWNAME FOR DATAFILE 3 to '/oradata/DATAFILE/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 4 to '/oradata/PDBSEED/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 5 to '/oradata/DATAFILE/undotbs101.dbf';

SET NEWNAME FOR DATAFILE 6 to '/oradata/PDBSEED/undotbs101.dbf';

SET NEWNAME FOR DATAFILE 7 to '/oradata/DATAFILE/undotbs201.dbf';

SET NEWNAME FOR DATAFILE 8 to '/oradata/DATAFILE/users01.dbf';

SET NEWNAME FOR DATAFILE 143 to '/oradata/PDBFINDASHBOARDWEB/system01.dbf';

SET NEWNAME FOR DATAFILE 144 to '/oradata/PDBFINDASHBOARDWEB/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 145 to '/oradata/PDBFINDASHBOARDWEB/undotbs101.dbf';

SET NEWNAME FOR DATAFILE 146 to '/oradata/PDBFINDASHBOARDWEB/undotbs201.dbf';

SET NEWNAME FOR DATAFILE 147 to '/oradata/PDBFINDASHBOARDWEB/user01.dbf';

SET NEWNAME FOR DATAFILE 9 to '/oradata/B1CAE8A885CB7611E05301219F0ACD15/DATAFILE/system.dbf';2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16>

SET NEWNAME FOR DATAFILE 10 to '/oradata/B1CAE8A885CB7611E05301219F0ACD15/DATAFILE/sysaux.dbf';

SET NEWNAME FOR DATAFILE 11 to '/oradata/B1CAE8A885CB7611E05301219F0ACD15/DATAFILE/undotbs1.dbf';

SET NEWNAME FOR DATAFILE 12 to '/oradata/B1CAE8A885CB7611E05301219F0ACD15/DATAFILE/undo_2.dbf';

SET NEWNAME FOR DATAFILE 13 to '/oradata/B1CAE8A885CB7611E05301219F0ACD15/DATAFILE/users.dbf';

SET NEWNAME FOR DATAFILE 56 to '/oradata/B1D995DC534113D6E05301219F0AB165/DATAFILE/system.dbf';

SET NEWNAME FOR DATAFILE 57 to '/oradata/B1D995DC534113D6E05301219F0AB165/DATAFILE/sysaux.dbf';

SET NEWNAME FOR DATAFILE 58 to '/oradata/B1D995DC534113D6E05301219F0AB165/DATAFILE/undotbs1.dbf';

SET NEWNAME FOR DATAFILE 59 to '/oradata/B1D995DC534113D6E05301219F0AB165/DATAFILE/undo_2.dbf';

SET NEWNAME FOR DATAFILE 60 to '/oradata/B1D995DC534113D6E05301219F0AB165/DATAFILE/users.dbf';

SET NEWNAME FOR DATAFILE 61 to '/oradata/B1D995DC534113D6E05301219F0AB165/DATAFILE/ykspace.dbf';

SET NEWNAME FOR DATAFILE 66 to '/oradata/PDBOA/system01.dbf';17> 18> 19> 20> 21> 22> 23> 24> 25> 26> 27>

SET NEWNAME FOR DATAFILE 67 to '/oradata/PDBOA/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 69 to '/oradata/PDBOA/undotbs102.dbf';

SET NEWNAME FOR DATAFILE 70 to '/oradata/PDBOA/user01.dbf';

SET NEWNAME FOR DATAFILE 71 to '/oradata/PDBOA/ecology01.dbf';

SET NEWNAME FOR DATAFILE 137 to '/oradata/PDBEHR/system01.dbf';

SET NEWNAME FOR DATAFILE 138 to '/oradata/PDBEHR/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 139 to '/oradata/PDBEHR/undotbs101.dbf';

SET NEWNAME FOR DATAFILE 140 to '/oradata/PDBEHR/undotbs201.dbf';

SET NEWNAME FOR DATAFILE 141 to '/oradata/PDBEHR/user01.dbf';

SET NEWNAME FOR DATAFILE 142 to '/oradata/PDBEHR/ykspace01.dbf';

SET NEWNAME FOR DATAFILE 148 to '/oradata/PDBFINDASHBOARD/system01.dbf';

SET NEWNAME FOR DATAFILE 149 to '/oradata/PDBFINDASHBOARD/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 150 to '/oradata/PDBFINDASHBOARD/undotbs101.dbf';

SET NEWNAME FOR DATAFILE 151 to '/oradata/PDBFINDASHBOARD/undotbs201.dbf';

SET NEWNAME FOR DATAFILE 152 to '/oradata/PDBFINDASHBOARD/user01.dbf';

SET NEWNAME FOR DATAFILE 153 to '/oradata/PDBEQUIP/system01.dbf';28> 29> 30> 31> 32> 33> 34> 35> 36> 37> 38> 39> 40> 41> 42> 43>

SET NEWNAME FOR DATAFILE 154 to '/oradata/PDBEQUIP/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 155 to '/oradata/PDBEQUIP/undotbs101.dbf';

SET NEWNAME FOR DATAFILE 156 to '/oradata/PDBEQUIP/undotbs201.dbf';

SET NEWNAME FOR DATAFILE 157 to '/oradata/PDBEQUIP/user01.dbf';

SET NEWNAME FOR DATAFILE 158 to '/oradata/PDBEQUIP/user02.dbf';

SET NEWNAME FOR DATAFILE 159 to '/oradata/PDBOA/ecology02.dbf';

SET NEWNAME FOR DATAFILE 167 to '/oradata/PDBSHOP/system01.dbf';

SET NEWNAME FOR DATAFILE 168 to '/oradata/PDBSHOP/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 169 to '/oradata/PDBSHOP/undotbs101.dbf';

SET NEWNAME FOR DATAFILE 170 to '/oradata/PDBSHOP/undotbs201.dbf';

SET NEWNAME FOR DATAFILE 171 to '/oradata/PDBSHOP/user01.dbf';

SET NEWNAME FOR DATAFILE 182 to '/oradata/PDBHEALTH/system01.dbf';

SET NEWNAME FOR DATAFILE 183 to '/oradata/PDBHEALTH/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 184 to '/oradata/PDBHEALTH/undotbs101.dbf';

SET NEWNAME FOR DATAFILE 185 to '/oradata/PDBHEALTH/undotbs201.dbf';44> 45> 46> 47> 48> 49> 50> 51> 52> 53> 54> 55> 56> 57> 58>

SET NEWNAME FOR DATAFILE 186 to '/oradata/PDBHEALTH/user01.dbf';

SET NEWNAME FOR DATAFILE 187 to '/oradata/PDBEQUIP/user03.dbf';

SET NEWNAME FOR DATAFILE 188 to '/oradata/PDBCMS/system01.dbf';

SET NEWNAME FOR DATAFILE 189 to '/oradata/PDBCMS/sysaux01.dbf';

SET NEWNAME FOR DATAFILE 190 to '/oradata/PDBCMS/undotbs101.dbf';

SET NEWNAME FOR DATAFILE 191 to '/oradata/PDBCMS/undotbs201.dbf';

SET NEWNAME FOR DATAFILE 192 to '/oradata/PDBCMS/user01.dbf';

SET NEWNAME FOR DATAFILE 193 to '/oradata/PDBCMS/bpmou5301.dbf';

SET NEWNAME FOR DATAFILE 194 to '/oradata/PDBCMS/bpmapp5301.dbf';

SET NEWNAME FOR DATAFILE 195 to '/oradata/PDBCMS/bpmdef5301.dbf';

SET NEWNAME FOR DATAFILE 196 to '/oradata/PDBEQUIP/user04.dbf';

SET NEWNAME FOR DATAFILE 197 to '/oradata/PDBEQUIP/user05.dbf';

SET NEWNAME FOR DATAFILE 199 to '/oradata/PDBOA/undotbs101.dbf';

restore database;

switch datafile all;

switch tempfile all;

release channel ch0;

}59> 60> 61> 62> 63> 64> 65> 66> 67> 68> 69> 70> 71> 72> 73> 74> 75> 76>

 

using target database control file instead of recovery catalog

allocated channel: ch0

channel ch0: SID=1137 device type=DISK

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值