1.老库生成pfile,复制到新库,修改相关得目录和参数,启动到nomount。
主要注意修改以下参数:

*.compatible='19.0.0.0'
*.cluster_database=false

复制代码
2.老库生成或者利用现有的rman全备,传输到新库的服务器上。
3.rman 恢复控制文件

RMAN> restore controlfile from '/rman_backup/data/8rv53kaa_1_1.bak';

复制代码
4.新库到mount状态

RMAN> alter database mount;

复制代码
5.注册复制过来得rman备份文件

RMAN> catalog start with '/rman_backup/data';

复制代码
6.清理备份信息

RMAN> crosscheck bakcup;
delete noprompt expired backup;
list bakcup summary;

复制代码
7.restore database
如果新老环境卷组或者数据文件名不一致,可以用以下sql批量改名,如果卷组和名称一致,则不需要修改

select 'set newname for datafile '''|| name ||''' to ''+DATA/orcl/datafile/'||substr(name,23) ||''';' from v$datafile;

复制代码
编辑restore脚本并执行

[oracle@rac11 rman_backup]$ cat restoredb.sh
rman target / cmdfile='/rman_backup/restoredb.rcv' log=/rman_backup/restoredb.log

[oracle@rac11 rman_backup]$ cat restoredb.rcv
run{
allocate channel 'd1' type disk;
allocate channel 'd2' type disk;
allocate channel 'd3' type disk;
allocate channel 'd4' type disk;
allocate channel 'd5' type disk;
allocate channel 'd6' type disk;
set newname for datafile 语句省略…
restore database;
switch datafile all;
release channel d1;
release channel d2;
release channel d3;
release channel d4;
release channel d5;
release channel d6;
}

复制代码
8.监控rman进度
现在数据库是mount状态,在sqlplus中执行以下语句查看rman进度

SET ECHO        OFF
SET FEEDBACK    6
SET HEADING     ON
SET LINESIZE    180
SET PAGESIZE    50000
SET TERMOUT     ON
SET TIMING      OFF
SET TRIMOUT     ON
SET TRIMSPOOL   ON
SET VERIFY      OFF

CLEAR COLUMNS
CLEAR BREAKS
CLEAR COMPUTES

COLUMN instance_name      FORMAT a10      HEADING 'Instance'
COLUMN sid                                HEADING 'Oracle|SID'
COLUMN serial_num                         HEADING 'Serial|#'
COLUMN opname             FORMAT a30      HEADING 'RMAN|Operation'
COLUMN start_time         FORMAT a18      HEADING 'Start|Time'
COLUMN totalwork                          HEADING 'Total|Work'
COLUMN units              FORMAT a10      HEADING 'units'
COLUMN sofar                              HEADING 'So|Far'
COLUMN pct_done                           HEADING 'Percent|Done'
COLUMN elapsed_seconds                    HEADING 'Elapsed|Seconds'
COLUMN time_remaining                     HEADING 'Seconds|Remaining'
COLUMN done_at            FORMAT a18      HEADING 'Done|At'

break on report
COMPUTE sum OF totalwork  ON report

SELECT
    i.instance_name                                 instance_name
  , sid                                             sid
  , serial#                                         serial_num
  , b.opname                                        opname
  , TO_CHAR(b.start_time, 'mm/dd/yy HH24:MI:SS')    start_time
  , b.totalwork                                     totalwork
  , units                                           units
  , b.sofar                                         sofar
  , ROUND( (b.sofar/DECODE(   b.totalwork
                            , 0
                            , 0.001
                            , b.totalwork)*100),0)  pct_done
  , b.elapsed_seconds                               elapsed_seconds
  , b.time_remaining                                time_remaining
  , DECODE(   b.time_remaining
            , 0
            , TO_CHAR((b.start_time + b.elapsed_seconds/3600/24), 'mm/dd/yy HH24:MI:SS')
            , TO_CHAR((SYSDATE + b.time_remaining/3600/24), 'mm/dd/yy HH24:MI:SS')
    ) done_at
FROM
       gv$session         a
  JOIN gv$session_longops b USING (sid,serial#)
  JOIN gv$instance        i ON (      i.inst_id = a.inst_id
                                  AND i.inst_id = b.inst_id)
WHERE
      a.program LIKE 'rman%'
  AND b.opname LIKE 'RMAN%'
  AND b.opname NOT LIKE '%aggregate%'
  AND b.totalwork > 0
ORDER BY
    i.instance_name
  , b.start_time
/

复制代码

9.脚本跑完,检查以下数据文件

select name from v$datafile;

复制代码
10.检查是否有需要恢复的归档

SQL> select * from v$recovery_log;

复制代码
交互式追加归档

SQL> recover database using backup controlfile until cancel;
ORA-00279: change 24747113033 generated at 07/12/2020 05:22:45 needed for thread 1
ORA-00289: suggestion : /rman_backup/logs/1_6629_1030105727.dbf
ORA-00280: change 24747113033 for thread 1 is in sequence #6629

Specify log: {=suggested | filename | AUTO | CANCEL}
/rman_backup/logs/thread_1_seq_6647.1301.1045599039
ORA-00279: change 24753244620 generated at 07/12/2020 18:44:35 needed for thread 2
ORA-00289: suggestion : /rman_backup/logs/2_6391_1030105727.dbf
ORA-00280: change 24753244620 for thread 2 is in sequence #6391
ORA-00278: log file '/rman_backup/logs/thread_2_seq_6390.620.1045593875' no longer needed for this recovery

Specify log: {=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.

复制代码
11.配置redo

SQL> select member from v$logfile;

复制代码
redo修改名称

SQL> select 'alter database rename file '''|| member ||''' to ''+DATA/orcl/'||substr(member,14) ||''';' from v$logfile;

复制代码
12.配置temp

SQL> select 'alter database tempfile ''' || name || ''' drop including datafiles;' from v$tempfile;

复制代码

SQL> alter tablespace temp add tempfile  '+data/orcl/datafile/temp01.dbf' size 30g;

Tablespace altered.

复制代码
13.resetlog打开数据库

SQL> alter database open resetlogs upgrade;

Database altered.

复制代码
14.运行升级脚本

SQL> @?/rdbms/admin/catupgrd.sql
DOC>######################################################################
DOC>######################################################################
DOC>                                 ERROR
DOC>
DOC>
DOC>    As of 12.2, customers must use the parallel upgrade utility, catctl.pl,
DOC>    to invoke catupgrd.sql when upgrading the database dictionary.
DOC>    Running catupgrd.sql directly from SQL*Plus is no longer supported.
DOC>
DOC>    For Example:
DOC>
DOC>          cd $ORACLE_HOME/rdbms/admin
DOC>          catctl
DOC>
DOC>          or
DOC>
DOC>          cd $ORACLE_HOME/rdbms/admin
DOC>          $ORACLE_HOME/perl/bin/perl catctl.pl catupgrd.sql
DOC>
DOC>    Refer to the Oracle Database Upgrade Guide for more information.
DOC>
DOC>
DOC>######################################################################
DOC>######################################################################
DOC>#
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[oracle@rac11 admin]$ $ORACLE_HOME/perl/bin/perl catctl.pl -n 4 catupgrd.sql

复制代码
15.升级日志

[oracle@rac11 ~]$ cd $ORACLE_HOME/rdbms/admin                     
[oracle@rac11 admin]$ $ORACLE_HOME/perl/bin/perl catctl.pl catupgrd.sql

Argument list for [catctl.pl]
For Oracle internal use only A = 0
Run in                       c = 0
Do not run in                C = 0
Input Directory              d = 0
Echo OFF                     e = 1
Simulate                     E = 0
Forced cleanup               F = 0
Log Id                       i = 0
Child Process                I = 0
Log Dir                      l = 0
Priority List Name           L = 0
Upgrade Mode active          M = 0
SQL Process Count            n = 0
SQL PDB Process Count        N = 0
Open Mode Normal             o = 0
Start Phase                  p = 0
End Phase                    P = 0
Reverse Order                r = 0
AutoUpgrade Resume           R = 0
Script                       s = 0
Serial Run                   S = 0
RO User Tablespaces          T = 0
Display Phases               y = 0
Debug catcon.pm              z = 0
Debug catctl.pl              Z = 0

catctl.pl VERSION: [19.0.0.0.0]
           STATUS: [Production]
            BUILD: [RDBMS_19.3.0.0.0DBRU_LINUX.X64_190417]

/u01/app/oracle/product/19.0.0/db_1/rdbms/admin/orahome = [/u01/app/oracle/product/19.0.0/db_1]
/u01/app/oracle/product/19.0.0/db_1/bin/orabasehome = [/u01/app/oracle/product/19.0.0/db_1]
catctlGetOraBaseLogDir = [/u01/app/oracle/product/19.0.0/db_1]

Analyzing file /u01/app/oracle/product/19.0.0/db_1/rdbms/admin/catupgrd.sql

Log file directory = [/tmp/cfgtoollogs/upgrade20200713172526]

catcon::set_log_file_base_path: ALL catcon-related output will be written to [/tmp/cfgtoollogs/upgrade20200713172526/catupgrd_catcon_133306.lst]

catcon::set_log_file_base_path: catcon: See [/tmp/cfgtoollogs/upgrade20200713172526/catupgrd*.log] files for output generated by scripts

catcon::set_log_file_base_path: catcon: See [/tmp/cfgtoollogs/upgrade20200713172526/catupgrd_*.lst] files for spool files, if any

Number of Cpus        = 192
Database Name         = orcl
DataBase Version      = 12.1.0.2.0
catcon::set_log_file_base_path: ALL catcon-related output will be written to [/u01/app/oracle/product/19.0.0/db_1/cfgtoollogs/orcl/upgrade20200713172536/catupgrd_catcon_133306.lst]

catcon::set_log_file_base_path: catcon: See [/u01/app/oracle/product/19.0.0/db_1/cfgtoollogs/orcl/upgrade20200713172536/catupgrd*.log] files for output generated by scripts

catcon::set_log_file_base_path: catcon: See [/u01/app/oracle/product/19.0.0/db_1/cfgtoollogs/orcl/upgrade20200713172536/catupgrd_*.lst] files for spool files, if any

Log file directory = [/u01/app/oracle/product/19.0.0/db_1/cfgtoollogs/orcl/upgrade20200713172536]

Parallel SQL Process Count            = 4
Components in [orcl]
    Installed [APEX APS CATALOG CATJAVA CATPROC CONTEXT DV JAVAVM OLS ORDIM OWM RAC SDO XDB XML XOQ]
Not Installed [EM MGW ODM WK]

------------------------------------------------------
Phases [0-107]         Start Time:[2020_07_13 17:25:52]
------------------------------------------------------
***********   Executing Change Scripts   ***********
Serial   Phase #:0    [orcl] Files:1    Time: 32s
***************   Catalog Core SQL   ***************
Serial   Phase #:1    [orcl] Files:5    Time: 24s
Restart  Phase #:2    [orcl] Files:1    Time: 2s
***********   Catalog Tables and Views   ***********
Parallel Phase #:3    [orcl] Files:19   Time: 8s
Restart  Phase #:4    [orcl] Files:1    Time: 4s
*************   Catalog Final Scripts   ************
Serial   Phase #:5    [orcl] Files:7    Time: 11s
*****************   Catproc Start   ****************
Serial   Phase #:6    [orcl] Files:1    Time: 9s
*****************   Catproc Types   ****************
Serial   Phase #:7    [orcl] Files:2    Time: 7s
Restart  Phase #:8    [orcl] Files:1    Time: 2s
****************   Catproc Tables   ****************
Parallel Phase #:9    [orcl] Files:67   Time: 11s
Restart  Phase #:10   [orcl] Files:1    Time: 3s
*************   Catproc Package Specs   ************
Serial   Phase #:11   [orcl] Files:1    Time: 39s
Restart  Phase #:12   [orcl] Files:1    Time: 3s
**************   Catproc Procedures   **************
Parallel Phase #:13   [orcl] Files:94   Time: 5s
Restart  Phase #:14   [orcl] Files:1    Time: 4s
Parallel Phase #:15   [orcl] Files:120  Time: 6s
Restart  Phase #:16   [orcl] Files:1    Time: 4s
Serial   Phase #:17   [orcl] Files:22   Time: 3s
Restart  Phase #:18   [orcl] Files:1    Time: 3s
*****************   Catproc Views   ****************
Parallel Phase #:19   [orcl] Files:32   Time: 8s
Restart  Phase #:20   [orcl] Files:1    Time: 3s
Serial   Phase #:21   [orcl] Files:3    Time: 8s
Restart  Phase #:22   [orcl] Files:1    Time: 4s
Parallel Phase #:23   [orcl] Files:25   Time: 78s
Restart  Phase #:24   [orcl] Files:1    Time: 4s
Parallel Phase #:25   [orcl] Files:12   Time: 56s
Restart  Phase #:26   [orcl] Files:1    Time: 4s
Serial   Phase #:27   [orcl] Files:1    Time: 0s
Serial   Phase #:28   [orcl] Files:3    Time: 4s
Serial   Phase #:29   [orcl] Files:1    Time: 0s
Restart  Phase #:30   [orcl] Files:1    Time: 3s
***************   Catproc CDB Views   **************
Serial   Phase #:31   [orcl] Files:1    Time: 2s
Restart  Phase #:32   [orcl] Files:1    Time: 4s
Serial   Phase #:34   [orcl] Files:1    Time: 0s
*****************   Catproc PLBs   *****************
Serial   Phase #:35   [orcl] Files:293  Time: 14s
Serial   Phase #:36   [orcl] Files:1    Time: 0s
Restart  Phase #:37   [orcl] Files:1    Time: 3s
Serial   Phase #:38   [orcl] Files:6    Time: 5s
Restart  Phase #:39   [orcl] Files:1    Time: 2s
***************   Catproc DataPump   ***************
Serial   Phase #:40   [orcl] Files:3    Time: 33s
Restart  Phase #:41   [orcl] Files:1    Time: 4s
******************   Catproc SQL   *****************
Parallel Phase #:42   [orcl] Files:13   Time: 52s
Restart  Phase #:43   [orcl] Files:1    Time: 4s
Parallel Phase #:44   [orcl] Files:11   Time: 6s
Restart  Phase #:45   [orcl] Files:1    Time: 4s
Parallel Phase #:46   [orcl] Files:3    Time: 2s
Restart  Phase #:47   [orcl] Files:1    Time: 3s
*************   Final Catproc scripts   ************
Serial   Phase #:48   [orcl] Files:1    Time: 9s
Restart  Phase #:49   [orcl] Files:1    Time: 3s
**************   Final RDBMS scripts   *************
Serial   Phase #:50   [orcl] Files:1    Time: 16s
************   Upgrade Component Start   ***********
Serial   Phase #:51   [orcl] Files:1    Time: 2s
Restart  Phase #:52   [orcl] Files:1    Time: 4s
**********   Upgrading Java and non-Java   *********
Serial   Phase #:53   [orcl] Files:2    Time: 312s
*****************   Upgrading XDB   ****************
Restart  Phase #:54   [orcl] Files:1    Time: 3s
Serial   Phase #:56   [orcl] Files:3    Time: 12s
Serial   Phase #:57   [orcl] Files:3    Time: 5s
Parallel Phase #:58   [orcl] Files:10   Time: 5s
Parallel Phase #:59   [orcl] Files:25   Time: 6s
Serial   Phase #:60   [orcl] Files:4    Time: 9s
Serial   Phase #:61   [orcl] Files:1    Time: 0s
Serial   Phase #:62   [orcl] Files:32   Time: 5s
Serial   Phase #:63   [orcl] Files:1    Time: 0s
Parallel Phase #:64   [orcl] Files:6    Time: 8s
Serial   Phase #:65   [orcl] Files:2    Time: 16s
Serial   Phase #:66   [orcl] Files:3    Time: 34s
****************   Upgrading ORDIM   ***************
Restart  Phase #:67   [orcl] Files:1    Time: 4s
Serial   Phase #:69   [orcl] Files:1    Time: 5s
Parallel Phase #:70   [orcl] Files:2    Time: 21s
Restart  Phase #:71   [orcl] Files:1    Time: 3s
Parallel Phase #:72   [orcl] Files:2    Time: 5s
Serial   Phase #:73   [orcl] Files:2    Time: 4s
*****************   Upgrading SDO   ****************
Restart  Phase #:74   [orcl] Files:1    Time: 3s
Serial   Phase #:76   [orcl] Files:1    Time: 38s
Serial   Phase #:77   [orcl] Files:2    Time: 5s
Restart  Phase #:78   [orcl] Files:1    Time: 3s
Serial   Phase #:79   [orcl] Files:1    Time: 16s
Restart  Phase #:80   [orcl] Files:1    Time: 3s
Parallel Phase #:81   [orcl] Files:3    Time: 22s
Restart  Phase #:82   [orcl] Files:1    Time: 3s
Serial   Phase #:83   [orcl] Files:1    Time: 7s
Restart  Phase #:84   [orcl] Files:1    Time: 4s
Serial   Phase #:85   [orcl] Files:1    Time: 10s
Restart  Phase #:86   [orcl] Files:1    Time: 3s
Parallel Phase #:87   [orcl] Files:4    Time: 36s
Restart  Phase #:88   [orcl] Files:1    Time: 4s
Serial   Phase #:89   [orcl] Files:1    Time: 4s
Restart  Phase #:90   [orcl] Files:1    Time: 4s
Serial   Phase #:91   [orcl] Files:2    Time: 9s
Restart  Phase #:92   [orcl] Files:1    Time: 4s
Serial   Phase #:93   [orcl] Files:1    Time: 2s
Restart  Phase #:94   [orcl] Files:1    Time: 4s
*******   Upgrading ODM, WK, EXF, RUL, XOQ   *******
Serial   Phase #:95   [orcl] Files:1    Time: 10s
Restart  Phase #:96   [orcl] Files:1    Time: 3s
***********   Final Component scripts    ***********
Serial   Phase #:97   [orcl] Files:1    Time: 3s
*************   Final Upgrade scripts   ************
Serial   Phase #:98   [orcl] Files:1    Time: 137s
*******************   Migration   ******************
Serial   Phase #:99   [orcl] Files:1    Time: 506s
***   End PDB Application Upgrade Pre-Shutdown   ***
Serial   Phase #:100  [orcl] Files:1    Time: 2s
Serial   Phase #:101  [orcl] Files:1    Time: 0s
Serial   Phase #:102  [orcl] Files:1    Time: 142s
*****************   Post Upgrade   *****************
Serial   Phase #:103  [orcl] Files:1    Time: 99s
****************   Summary report   ****************
Serial   Phase #:104  [orcl] Files:1    Time: 2s
***   End PDB Application Upgrade Post-Shutdown   **
Serial   Phase #:105  [orcl] Files:1    Time: 3s
Serial   Phase #:106  [orcl] Files:1    Time: 0s
Serial   Phase #:107  [orcl] Files:1     Time: 73s

------------------------------------------------------
Phases [0-107]         End Time:[2020_07_13 18:01:37]
------------------------------------------------------

Grand Total Time: 2147s

LOG FILES: (/u01/app/oracle/product/19.0.0/db_1/cfgtoollogs/orcl/upgrade20200713172536/catupgrd*.log)

Upgrade Summary Report Located in:
/u01/app/oracle/product/19.0.0/db_1/cfgtoollogs/orcl/upgrade20200713172536/upg_summary.log

Grand Total Upgrade Time:    [0d:0h:35m:47s]

复制代码
16.升级成功后,修改集群参数,添加2节点,注册到集群,确认集群数据所有实例状态。

更多精彩文章请关注微信公众号:godba
同时又精彩电子书免费下载