Oracle 12C升级至Oracle 19C

本文介绍Oracle 12C RAC(CDB模式)升级迁移至Oracle 19C 单机(CDB模式)迁移方法,采用DG FAILOVER+DBUA的方式升级迁移。

  1. 环境介绍

在这里插入图片描述

  1. 生产库全备
[oracle@node0 ydhl]$ pwd
/u02/app/oracle/oradata/datbdb/rman/ydhl
[oracle@node0 ydhl]$ cat rmandaiv.sh 
source $HOME/.bash_profile
export NLS_DATE_FORMAT='YYYYMMDD HH24:MI:SS'
#####if in defferent,it is need to configuration three:
#####LOG_PATH   RMAN_PATH    `date +%Y%m%d-%H%M`
LOG_PATH=/u02/app/oracle/oradata/datbdb/rman/ydhl
RMAN_FILE=/u02/app/oracle/oradata/datbdb/rman/ydhl
LOG_FILE=$LOG_PATH/rmandaiv-`date +%Y%m%d-%H%M`.log

$ORACLE_HOME/bin/rman log  $LOG_FILE<<EOF
connect target /;
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
allocate channel c5 type disk;
backup as compressed backupset full database filesperset = 5 format "$RMAN_FILE/full_%d_%T_%s";
}
exit
EOF
date >>$LOG_FILE

  1. 传输备份集

通过SFTP等方式将备份集传输至备库。

  1. 备库注册备份集并恢复
[oracle@ydhl rman]$ rman target /

Recovery Manager: Release 12.1.0.2.0 - Production on Mon Nov 29 11:31:05 2021

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.

connected to target database: CDB (DBID=2042340674, not open)

RMAN> catalog start with '/u01/app/oracle/rman/';


[oracle@ydhl ~]$ cat restore1126.sh 
rman target / log /u01/app/oracle/rman/restorefull-`date +%Y%m%d-%H%M`.log<<EOF
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
allocate channel c5 type disk;
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/datafile/o1_mf_system_d0jnlkq4_.dbf' to '/u01/app/oracle/oradata/cdb/o1_mf_system_d0jnlkq4_.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/3F45FA179EB0067FE0531400A8C09803/datafile/o1_mf_system_d0jnlos0_.dbf' to '/u01/app/oracle/oradata/cdb/seed/o1_mf_system_d0jnlos0_.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/datafile/o1_mf_sysaux_d0jnlrqm_.dbf' to '/u01/app/oracle/oradata/cdb/o1_mf_sysaux_d0jnlrqm_.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/3F45FA179EB0067FE0531400A8C09803/datafile/o1_mf_sysaux_d0jnlw27_.dbf' to '/u01/app/oracle/oradata/cdb/seed/o1_mf_sysaux_d0jnlw27_.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/datafile/o1_mf_undotbs1_d0jnlxp4_.dbf' to '/u01/app/oracle/oradata/cdb/o1_mf_undotbs1_d0jnlxp4_.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/datafile/o1_mf_undotbs2_d0jnmkm3_.dbf' to '/u01/app/oracle/oradata/cdb/o1_mf_undotbs2_d0jnmkm3_.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/datafile/o1_mf_users_d0jnmlt1_.dbf' to '/u01/app/oracle/oradata/cdb/o1_mf_users_d0jnmlt1_.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/health/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/health/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/health/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/health/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/health/datafile/users01.dbf' to '/u01/app/oracle/oradata/cdb/health/users01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/KYEEMIS_DATA.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/KYEEMIS_DATA.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/TSP_KYEEHLJX.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/TSP_KYEEHLJX.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/TSP_KYEEMIS.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/TSP_KYEEMIS.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/TSP_MHEALTH.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/TSP_MHEALTH.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/USERS01.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/USERS01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/mandala/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/mandala/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/mandala/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/mandala/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/mandala/datafile/users01.dbf' to '/u01/app/oracle/oradata/cdb/mandala/users01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/docare/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/docare/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare5/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/docare5/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare5/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/docare5/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare/datafile/ TSP_MEDCOMM.dbf' to '/u01/app/oracle/oradata/cdb/docare/TSP_MEDCOMM.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare/datafile/TSP_MEDICU.dbf' to '/u01/app/oracle/oradata/cdb/docare/TSP_MEDICU.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare/datafile/TSP_MEDSURGERY01.dbf' to '/u01/app/oracle/oradata/cdb/docare/TSP_MEDSURGERY01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare/datafile/users01.dbf' to '/u01/app/oracle/oradata/cdb/docare/users01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare5/datafile/TSP_MEDCOMM.dbf' to '/u01/app/oracle/oradata/cdb/docare5/TSP_MEDCOMM.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare5/datafile/TSP_MEDICU.dbf' to '/u01/app/oracle/oradata/cdb/docare5/TSP_MEDICU.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare5/datafile/TSP_MEDSURGERY.dbf' to '/u01/app/oracle/oradata/cdb/docare5/TSP_MEDSURGERY.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare5/datafile/USERS01.dbf' to '/u01/app/oracle/oradata/cdb/docare5/USERS01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/TS_HOPETARGLE.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/TS_HOPETARGLE.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/TS_HOPETARGLE_ACC.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/TS_HOPETARGLE_ACC.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/TS_HOPETARGLE_BI.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/TS_HOPETARGLE_BI.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/TS_HOPETARGLE_CRM.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/TS_HOPETARGLE_CRM.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/TS_HOPETARGLE_HR.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/TS_HOPETARGLE_HR.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/TS_HOPETARGLE_OA.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/TS_HOPETARGLE_OA.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/TS_HOPETARGLE_PE01.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/TS_HOPETARGLE_PE01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/TS_HOPETARGLE_SCM.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/TS_HOPETARGLE_SCM.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/empi/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/empi/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/empi/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/empi/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/empi/datafile/USERS01.dbf' to '/u01/app/oracle/oradata/cdb/empi/USERS01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/SUPHISV3_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/SUPHISV3_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_CPR_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_CPR_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_INPADM_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_INPADM_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/ TSP_INSURANCE_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_INSURANCE_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_INPBILL_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_INPBILL_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_MEDREC_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_MEDREC_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_LAB_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_LAB_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_NURSING_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_NURSING_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_ORDADM_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_ORDADM_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_OUTPADM_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_OUTPADM_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_OUTPBILL_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_OUTPBILL_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/USER_DATA_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/USER_DATA_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_PHARMACY_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_PHARMACY_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ncsys/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/ncsys/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ncsys/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/ncsys/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ncsys/datafile/NNC_DATA01.dbf' to '/u01/app/oracle/oradata/cdb/ncsys/NNC_DATA01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ncsys/datafile/NNC_INDEX01.dbf' to '/u01/app/oracle/oradata/cdb/ncsys/NNC_INDEX01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/mandala/datafile/mandala.dbf' to '/u01/app/oracle/oradata/cdb/mandala/mandala.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/mandala/datafile/philan.dbf' to '/u01/app/oracle/oradata/cdb/mandala/philan.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/ICU/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/ICU/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/MED_SPACE2013_01.dbf' to '/u01/app/oracle/oradata/cdb/ICU/MED_SPACE2013_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/MED_SPACE2014_01.dbf' to '/u01/app/oracle/oradata/cdb/ICU/MED_SPACE2014_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/MED_SPACE2015_01.dbf' to '/u01/app/oracle/oradata/cdb/ICU/MED_SPACE2015_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/MED_SPACE2016_01.dbf' to '/u01/app/oracle/oradata/cdb/ICU/MED_SPACE2016_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/TSP_MEDCOMM_01.dbf' to '/u01/app/oracle/oradata/cdb/ICU/TSP_MEDCOMM_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/TSP_MEDICU_01.dbf' to '/u01/app/oracle/oradata/cdb/ICU/TSP_MEDICU_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/TSP_MEDSURGERY_01.dbf' to '/u01/app/oracle/oradata/cdb/ICU/TSP_MEDSURGERY_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/TSP_COMM_01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/TSP_COMM_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/bagl/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/bagl/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/bagl/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/bagl/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/bagl/datafile/MHIS_01.dbf' to '/u01/app/oracle/oradata/cdb/bagl/MHIS_01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/TSP_NQSYS.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/TSP_NQSYS.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/TSP_NQHLZL.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/TSP_NQHLZL.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/TSP_NEWHLJX.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/TSP_NEWHLJX.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/TSP_NEWKYEE.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/TSP_NEWKYEE.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/system01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/system01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/sysaux01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/sysaux01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_OUTPADM01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_OUTPADM01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_LAB01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_LAB01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_GUARANT01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_GUARANT01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_SUPMATERIAL01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_SUPMATERIAL01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_REPORT01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_REPORT01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_OUTPBILL01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_OUTPBILL01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_ELSE01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_ELSE01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_CP01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_CP01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_INPADM01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_INPADM01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_ECONSTAT01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_ECONSTAT01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/SUPSYSTEM01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/SUPSYSTEM01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/SUPHISV301.dbf' to '/u01/app/oracle/oradata/cdb/orcl/SUPHISV301.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_SUPCOMM01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_SUPCOMM01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/STATSPACK01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/STATSPACK01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_SUPAPPOINT01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_SUPAPPOINT01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_TEC01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_TEC01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/QMTAB01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/QMTAB01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_CPR01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_CPR01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_QC01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_QC01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_DC01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_DC01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_EXAM01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_EXAM01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_ACCT01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_ACCT01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_EQUIPMENT01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_EQUIPMENT01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_BLDBANK01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_BLDBANK01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_SUPBLOOD01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_SUPBLOOD01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_DS01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_DS01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_COMM01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_COMM01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_MEDREC01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_MEDREC01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_ORDADM01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_ORDADM01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_MEDADM01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_MEDADM01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_NURSING01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_NURSING01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_HISDB01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_HISDB01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_PE01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_PE01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_SURGERY01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_SURGERY01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_INFECT01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_INFECT01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_SYS01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_SYS01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_NS01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_NS01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_PHARMACY01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_PHARMACY01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_INPBILL01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_INPBILL01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_INSURANCE01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_INSURANCE01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/USER_DATA01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/USER_DATA01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/LABOUR_SPACE01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/LABOUR_SPACE01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_BHHS01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_BHHS01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_MR01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_MR01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/USERS01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/USERS01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/tsp_back01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/tsp_back01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datcdb/cdb/CDB/datafile/TSP_TEMP_NEW.dbf' to '/u01/app/oracle/oradata/cdb/TSP_TEMP_NEW.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/eifdb/datafile/eifdb_o1_mf_system_d0jnlos0_.dbf' to '/u01/app/oracle/oradata/cdb/eifdb/eifdb_o1_mf_system_d0jnlos0_.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/eifdb/datafile/eifdb_o1_mf_sysaux_d0jnlw27_.dbf' to '/u01/app/oracle/oradata/cdb/eifdb/eifdb_o1_mf_sysaux_d0jnlw27_.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/eifdb/datafile/eifdb_users01.dbf' to '/u01/app/oracle/oradata/cdb/eifdb/eifdb_users01.dbf';
set newname for datafile '/u02/app/oracle/oradata/datbdb/bdb/BDB/eifdb/datafile/eif_data01.dbf' to '/u01/app/oracle/oradata/cdb/eifdb/eif_data01.dbf';
restore database;
switch datafile all;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
}
exit
EOF


  1. 备库开启MRP数据同步
SQL> alter database recover managed standby database using current logfile disconnect from session;

Database altered.

SQL> select process,thread#,sequence#,block# from v$managed_standby;

PROCESS      THREAD#  SEQUENCE#     BLOCK#
--------- ---------- ---------- ----------
ARCH               0          0          0
ARCH               0          0          0
ARCH               0          0          0
ARCH               0          0          0
RFS                0          0          0
RFS                0          0          0
RFS                0          0          0
RFS                0          0          0
RFS                0          0          0
RFS                0          0          0
RFS                2       2098    3573918

PROCESS      THREAD#  SEQUENCE#     BLOCK#
--------- ---------- ---------- ----------
RFS                1       2253    4045570
MRP0               2       2094    4765642

13 rows selected.

SQL> select process,thread#,sequence#,block# from v$managed_standby;

PROCESS      THREAD#  SEQUENCE#     BLOCK#
--------- ---------- ---------- ----------
ARCH               0          0          0
ARCH               0          0          0
ARCH               0          0          0
ARCH               0          0          0
RFS                0          0          0
RFS                0          0          0
RFS                0          0          0
RFS                0          0          0
RFS                0          0          0
RFS                0          0          0
RFS                2       2098    3573955

PROCESS      THREAD#  SEQUENCE#     BLOCK#
--------- ---------- ---------- ----------
RFS                1       2253    4045613
MRP0               2       2094    4767292

  1. 备库库修改临时表空间文件
SQL> select name from v$tempfile order by 1;

NAME
--------------------------------------------------------------------------------
/u02/app/oracle/oradata/datcdb/cdb/CDB/datafile/o1_mf_temp_d0jnlyx7_.tmp
/u02/app/oracle/oradata/datbdb/bdb/BDB/eifdb/datafile/eifdb_o1_mf_temp_d0jnm064_
.tmp

/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_TEMP02.dbf
/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/temp01.dbf
/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/temp02.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/3F45FA179EB0067FE0531400A8C09803/datafile
/o1_mf_temp_d0jnm064_.tmp

/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/temp01.dbf

NAME
--------------------------------------------------------------------------------
/u02/app/oracle/oradata/datcdb/cdb/CDB/bagl/datafile/temp01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/docare/datafile/temp01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/docare5/datafile/temp01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/empi/datafile/temp01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/health/datafile/temp01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/temp01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/mandala/datafile/temp01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/ncsys/datafile/temp01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/ TS_HOPETARGLE_TEMP.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/temp01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/KYEEMIS_TEMP01.dbf

NAME
--------------------------------------------------------------------------------
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/KYEEMIS_TEMP02.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/MHEALTH_TEMP01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/MHEALTH_TEMP02.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/NEWHLJX_TEMP.DBF
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/NQHLZL_TEMP.DBF
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/NQSYS_TEMP.DBF
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/temp01.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/temp02.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/temp05.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/temp06.dbf

28 rows selected.


SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter system set standby_file_management=manual;

System altered.

SQL> show parameter standby_file_management

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
standby_file_management              string      MANUAL

alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/datafile/o1_mf_temp_d0jnlyx7_.tmp' to '/u01/app/oracle/oradata/cdb/o1_mf_temp_d0jnlyx7_.tmp';
alter database rename file '/u02/app/oracle/oradata/datbdb/bdb/BDB/eifdb/datafile/eifdb_o1_mf_temp_d0jnm064_.tmp' to '/u01/app/oracle/oradata/cdb/eifdb/eifdb_o1_mf_temp_d0jnm064_.tmp'; 
alter database rename file '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/TSP_TEMP02.dbf' to '/u01/app/oracle/oradata/cdb/orcl/TSP_TEMP02.dbf';
alter database rename file '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/orcl/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datbdb/bdb/BDB/orcl/datafile/temp02.dbf' to '/u01/app/oracle/oradata/cdb/orcl/temp02.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ICU/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/ICU/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/bagl/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/bagl/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/docare/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/docare5/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/docare5/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/empi/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/empi/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/health/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/health/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/lis_old/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/lis_old/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/mandala/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/mandala/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ncsys/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/ncsys/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/ TS_HOPETARGLE_TEMP.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/TS_HOPETARGLE_TEMP.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/tuteorcl/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/tuteorcl/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/KYEEMIS_TEMP01.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/KYEEMIS_TEMP01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/KYEEMIS_TEMP02.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/KYEEMIS_TEMP02.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/MHEALTH_TEMP01.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/MHEALTH_TEMP01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/MHEALTH_TEMP02.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/MHEALTH_TEMP02.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/NEWHLJX_TEMP.DBF' to '/u01/app/oracle/oradata/cdb/ydhl/NEWHLJX_TEMP.DBF';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/NQHLZL_TEMP.DBF' to '/u01/app/oracle/oradata/cdb/ydhl/NQHLZL_TEMP.DBF';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/NQSYS_TEMP.DBF' to '/u01/app/oracle/oradata/cdb/ydhl/NQSYS_TEMP.DBF';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/temp01.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/temp01.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/temp02.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/temp02.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/temp05.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/temp05.dbf';
alter database rename file '/u02/app/oracle/oradata/datcdb/cdb/CDB/ydhl/datafile/temp06.dbf' to '/u01/app/oracle/oradata/cdb/ydhl/temp06.dbf';



SQL> select name from v$tempfile order by 1;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/cdb/ICU/temp01.dbf
/u01/app/oracle/oradata/cdb/bagl/temp01.dbf
/u01/app/oracle/oradata/cdb/docare/temp01.dbf
/u01/app/oracle/oradata/cdb/docare5/temp01.dbf
/u01/app/oracle/oradata/cdb/eifdb/eifdb_o1_mf_temp_d0jnm064_.tmp
/u01/app/oracle/oradata/cdb/empi/temp01.dbf
/u01/app/oracle/oradata/cdb/health/temp01.dbf
/u01/app/oracle/oradata/cdb/lis_old/temp01.dbf
/u01/app/oracle/oradata/cdb/mandala/temp01.dbf
/u01/app/oracle/oradata/cdb/ncsys/temp01.dbf
/u01/app/oracle/oradata/cdb/o1_mf_temp_d0jnlyx7_.tmp

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/cdb/orcl/TSP_TEMP02.dbf
/u01/app/oracle/oradata/cdb/orcl/temp01.dbf
/u01/app/oracle/oradata/cdb/orcl/temp02.dbf
/u01/app/oracle/oradata/cdb/tuteorcl/TS_HOPETARGLE_TEMP.dbf
/u01/app/oracle/oradata/cdb/tuteorcl/temp01.dbf
/u01/app/oracle/oradata/cdb/ydhl/KYEEMIS_TEMP01.dbf
/u01/app/oracle/oradata/cdb/ydhl/KYEEMIS_TEMP02.dbf
/u01/app/oracle/oradata/cdb/ydhl/MHEALTH_TEMP01.dbf
/u01/app/oracle/oradata/cdb/ydhl/MHEALTH_TEMP02.dbf
/u01/app/oracle/oradata/cdb/ydhl/NEWHLJX_TEMP.DBF
/u01/app/oracle/oradata/cdb/ydhl/NQHLZL_TEMP.DBF

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/cdb/ydhl/NQSYS_TEMP.DBF
/u01/app/oracle/oradata/cdb/ydhl/temp01.dbf
/u01/app/oracle/oradata/cdb/ydhl/temp02.dbf
/u01/app/oracle/oradata/cdb/ydhl/temp05.dbf
/u01/app/oracle/oradata/cdb/ydhl/temp06.dbf
/u02/app/oracle/oradata/datcdb/cdb/CDB/3F45FA179EB0067FE0531400A8C09803/datafile
/o1_mf_temp_d0jnm064_.tmp


28 rows selected.



  1. 生产库关闭PDB,执行failover
alter pluggable database ydhl close immediate;
show pdbs;

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database recover managed standby database finish force;

Database altered.

SQL> select database_role from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY


SQL> alter database commit to switchover to primary;

Database altered.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 6.8719E+10 bytes
Fixed Size                  6877112 bytes
Variable Size            1.2616E+10 bytes
Database Buffers         5.5969E+10 bytes
Redo Buffers              127340544 bytes
Database mounted.
Database opened.
SQL> select name,open_mode,database_role from v$database;

NAME      OPEN_MODE            DATABASE_ROLE
--------- -------------------- ----------------
CDB       READ WRITE           PRIMARY

SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 AAAAA                         READ WRITE NO
         4 YDHL                           READ WRITE NO
         5 BBBBB                        READ WRITE NO
         6 TBBBB                       READ WRITE NO
         7 CCCC                         READ WRITE NO
         8 DDDD                        READ WRITE NO
         9 EEEE                           READ WRITE NO
        10 FFFF                           READ WRITE NO
        11 EEEED                        READ WRITE NO
        12 AFEQG                         READ WRITE NO

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
        13 DFQA                           READ WRITE NO
        14 ORCL                           READ WRITE NO
        15 DFEG                         READ WRITE NO


  1. 修改PDB$SEED的临时表空间文件
SQL> alter session set "_oracle_script"=true;

Session altered.

SQL> alter pluggable database pdb$seed close immediate instances=all;

Pluggable database altered.

SQL> alter pluggable database pdb$seed open read write instances=all;

Pluggable database altered.

SQL> select inst_id,open_mode,name from gv$pdbs where name='PDB$SEED';

   INST_ID OPEN_MODE  NAME
---------- ---------- ------------------------------
         1 READ WRITE PDB$SEED


SQL> alter session set container=pdb$seed;

session altered.

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ WRITE NO

SQL> create temporary tablespace temp1 tempfile '/u01/app/oracle/oradata/cdb/seed/temp1_01.dbf' size 1g autoextend on;

Tablespace created.

SQL> alter database default temporary tablespace temp1;

Database altered.

SQL> col PROPERTY_NAME for a35
SQL> col PROPERTY_VALUE for a15
SQL> col DESCRIPTION for a45
SQL> select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

PROPERTY_NAME                       PROPERTY_VALUE  DESCRIPTION
----------------------------------- --------------- ---------------------------------------------
DEFAULT_TEMP_TABLESPACE             TEMP1           Name of default temporary tablespace

SQL> drop tablespace temp including contents and datafiles;

Tablespace dropped.

SQL> create temporary tablespace temp tempfile '/u01/app/oracle/oradata/cdb/seed/temp01.dbf' size 1g autoextend on;

Tablespace created.

SQL> alter database default temporary tablespace temp;

Database altered.

SQL> col PROPERTY_NAME for a35
SQL> col PROPERTY_VALUE for a15
SQL> col DESCRIPTION for a45
SQL> select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

PROPERTY_NAME                       PROPERTY_VALUE  DESCRIPTION
----------------------------------- --------------- ---------------------------------------------
DEFAULT_TEMP_TABLESPACE             TEMP            Name of default temporary tablespace

SQL> drop tablespace temp1 including contents and datafiles;

Tablespace dropped.

SQL> shod pdbs
SP2-0042: unknown command "shod pdbs" - rest of line ignored.
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ WRITE NO
SQL>

[oracle@ydhl ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Fri Nov 26 23:31:49 2021

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> alter session set "_oracle_script"=true;

Session altered.

SQL> alter pluggable database pdb$seed close immediate instances=all;

Pluggable database altered.

SQL> alter pluggable database pdb$seed open read only instances=all;

Pluggable database altered.

SQL> select inst_id,open_mode,name from gv$pdbs where name='PDB$SEED';

   INST_ID OPEN_MODE  NAME
---------- ---------- ------------------------------
         1 READ ONLY  PDB$SEED

SQL> alter session set "_oracle_script"=false;

Session altered.


  1. 删除多于的PDB
alter pluggable database xxxx close immediate;
alter pluggable database xxx close immediate;
alter pluggable database xxxx close immediate;
alter pluggable database xxxx close immediate;
alter pluggable database xxxx close immediate;
alter pluggable database xxxxclose immediate;
alter pluggable database vxxxx close immediate;
alter pluggable database xxxx close immediate;
alter pluggable database xxxx close immediate;
alter pluggable database xxxx close immediate;
alter pluggable database xxxx close immediate;
alter pluggable database xxxx close immediate;

drop pluggable database xxxx including datafiles;
drop pluggable database xxxx including datafiles;
drop pluggable database xxxx including datafiles;
drop pluggable database xxxx including datafiles;
drop pluggable database xxxx including datafiles;
drop pluggable databasexxxx including datafiles;
drop pluggable database xxxx including datafiles;
drop pluggable database xxxx including datafiles;
drop pluggable database xxxx including datafiles;
drop pluggable database xxxx including datafiles;
drop pluggable database xxxxL including datafiles;
drop pluggable database Exxxx including datafiles;

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         4 YDHL                           READ WRITE NO

  1. 数据库升级
    让DBUA能识别到12c的数据库,需要在/etc/oratab中添加12C数据库的数据库名和ORACLE_HOME绝对路径。
[root@ydhl ~]# vi /etc/oratab
添加:
cdb:/u01/app/oracle/product/12.1.0/db_1:N

[oracle@ydhl admin]$ $ORACLE_HOME/jdk/bin/java -jar /u01/app/oracle/product/19.3.0/db_1/rdbms/admin/preupgrade.jar TERMINAL TEXT FILE
==================
PREUPGRADE SUMMARY
==================
  /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/preupgrade.log
  /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/preupgrade_fixups.sql
  /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/postupgrade_fixups.sql

Execute fixup scripts across the entire CDB:

Before upgrade:

1. Execute preupgrade fixups with the below command
$ORACLE_HOME/perl/bin/perl -I$ORACLE_HOME/perl/lib -I$ORACLE_HOME/rdbms/admin $ORACLE_HOME/rdbms/admin/catcon.pl -l /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/ -b preup_RZCDB /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/preupgrade_fixups.sql

2. Review logs under /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/

After the upgrade:

1. Execute postupgrade fixups with the below command
$ORACLE_HOME/perl/bin/perl -I$ORACLE_HOME/perl/lib -I$ORACLE_HOME/rdbms/admin $ORACLE_HOME/rdbms/admin/catcon.pl -l /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/ -b postup_RZCDB /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/postupgrade_fixups.sql

2. Review logs under /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/

Preupgrade complete: 2021-11-26T23:58:10

执行fixup脚本:
[oracle@ydhl ~]$ $ORACLE_HOME/perl/bin/perl -I$ORACLE_HOME/perl/lib -I$ORACLE_HOME/rdbms/admin $ORACLE_HOME/rdbms/admin/catcon.pl -l /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/ -b preup_RZCDB /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/preupgrade_fixups.sql
catcon: ALL catcon-related output will be written to /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade//preup_RZCDB_catcon_46012.lst
catcon: See /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade//preup_RZCDB*.log files for output generated by scripts
catcon: See /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade//preup_RZCDB_*.lst files for spool files, if any
catcon.pl: completed successfully


启动DBUA升级

[oracle@ydhl ~]$ export DISPLAY=x.x.x.x:0.0
[oracle@ydhl ~]$ /u01/app/oracle/product/19.3.0/db_1/bin/dbua 
Logs directory:  /u01/app/oracle/cfgtoollogs/dbua/upgrade2021-11-27_12-15-25AM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 执行升级后脚本
[oracle@ydhl ~]$ ./19.sh 
[oracle@ydhl ~]$ . .bash_profile
[oracle@ydhl ~]$ env | grep ORACLE
ORACLE_SID=cdb
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1
[oracle@ydhl ~]$ $ORACLE_HOME/perl/bin/perl -I$ORACLE_HOME/perl/lib -I$ORACLE_HOME/rdbms/admin $ORACLE_HOME/rdbms/admin/catcon.pl -l /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/ -b postup_RZCDB /u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/postupgrade_fixups.sql
catcon::set_log_file_base_path: ALL catcon-related output will be written to [/u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/postup_RZCDB_catcon_38846.lst]

catcon::set_log_file_base_path: catcon: See [/u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/postup_RZCDB*.log] files for output generated by scripts

catcon::set_log_file_base_path: catcon: See [/u01/app/oracle/cfgtoollogs/RZCDB/preupgrade/postup_RZCDB_*.lst] files for spool files, if any

catcon.pl: completed successfully

  1. 升级后工作

重建监听
拷贝tnsnames.ora文件
拷贝sqlnet.ora文件
编译失效对象
收集统计信息

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装Oracle 19c 首先,需要安装Oracle 19c数据库,安装过程可以参考官方文档或者其他相关的教程。 2. 安装Oracle GoldenGate 12cOracle 19c数据库所在的服务器上安装GoldenGate 12c,可以参考官方文档或者其他相关的教程。 3. 配置GoldenGate 12c 配置GoldenGate 12c的步骤如下: - 创建GoldenGate目录 创建GoldenGate目录,比如/opt/goldengate。 - 设置环境变量 在用户的.bashrc文件中添加以下环境变量: export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:/usr/lib export GG_HOME=/opt/goldengate export PATH=$PATH:$GG_HOME - 创建GoldenGate用户 在Oracle 19c数据库中创建GoldenGate用户,并赋予必要的权限。 - 创建GoldenGate目录结构 在GoldenGate用户下创建以下目录结构: cd $GG_HOME mkdir dirprm mkdir dirdat mkdir dirrpt mkdir dirtmp - 创建GoldenGate参数文件 在dirprm目录下创建以下参数文件: - GLOBALS GGSCI> edit params globals TRANLOGOPTIONS ALTLOGDEST /u02/oradata/ogg/altlog LAGREPORTMINUTES 1 LAGINFOMINUTES 10 LAGCRITICALMINUTES 30 LAGCRITICALTHRESHOLD 100000 LAGINFOEXCLUDE *.* LAGINFO /GGATE/reports/gginfo.htm, APPEND LAGCRIT /GGATE/reports/ggcrit.htm, APPEND REPLICATOPTIONS ASSUMETARGETDEFS REPLICATOPTS ENABLE_INSTANTIATION_FILTERING REPLICATOPTS DISCARDFILE ../dirrpt/rep_discard.txt, PURGE REPLICATOPTS REPORT ../dirrpt/rep_report.txt, APPEND REPLICATOPTS MAXTRANSOPS 1000 REPLICATOPTS MAXTRANSFILES 10 - DBLOGIN GGSCI> edit params DBLOGIN USERID gguser, PASSWORD gguser, ENCRYPTKEY DEFAULT - EXTRACT GGSCI> edit params ext1 EXTRACT ext1 SETENV (ORACLE_SID=ORCL) SETENV (ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1) SETENV (NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS) SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) USERID gguser, PASSWORD gguser EXTTRAIL ./dirdat/ex TABLE hr.*; - REPLICAT GGSCI> edit params rep1 REPLICAT rep1 SETENV (ORACLE_SID=ORCL) SETENV (ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1) SETENV (NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS) SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) USERID gguser, PASSWORD gguser ASSUMETARGETDEFS MAP hr.*, TARGET hr.*; - 启动GoldenGate 启动GoldenGate的步骤如下: - 启动管理进程 GGSCI> start mgr - 启动抽取进程 GGSCI> start ext1 - 启动复制进程 GGSCI> start rep1 4. 测试GoldenGate 在Oracle 19c数据库中进行一些数据操作,比如插入、更新、删除等操作,然后通过GoldenGate进行同步到另一个数据库中,验证数据是否同步成功。 至此,Oracle GoldenGate 12c的迁移工作已经完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值