Migrating Oracle 18c To 19c
发布时间:2021-03-18 09:06:41 所属栏目:站长百科 来源:网络整理
导读:副标题#e# 本文包含了以下两个知识点: 静默安装Oracle 19c; 通过rman升级数据库。 一、静默安装Oracle 19c 1.1 安装并配置Gird组件 创建响应文件grid.rsp,内容如下: oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_sc
使用下面的命令开始安装: [[email?protected] ~]$ cd $ORACLE_HOME [[email?protected] db_1]$ unzip /u02/software/19c/LINUX.x64_193000_db_home.zip [[email?protected] db_1]$ ./gridSetup.sh -silent -ignorePrereq -responseFile /tmp/db.rsp [[email?protected] ~]# /u01/app/oracle/product/19.0.0/db_1/root.sh 到此,整个19c的环境搭建完毕。 二、迁移准备工作注意:新旧环境的数据库实例名必须保持一致。 2.1 创建参数文件使用18c的spfile创建pfile,并复制到19c的目录。 SQL> create pfile=‘/tmp/initcdb.ora‘ from spfile; [[email?protected] ~]$ scp /tmp/initcdb.ora db03:$ORACLE_HOME/dbs 2.2 拷贝密码文件将18c的密码参数文件复制到19c的目录。 [[email?protected] ~]$ scp $ORACLE_HOME/dbs/orapwcdb db03:$ORACLE_HOME/dbs 2.3 创建adump目录必须创建19c的adumo文件夹,否则使用pfile初次启动实例会报错。 [[email?protected] ~]$ mkdir -p /u01/app/oracle/admin/cdb/adump 2.4 备份18c数据库[[email?protected] ~]$ rman target / run { allocate channel c1 device type disk; backup database format ‘/u02/orabak/rhndb_%U‘; sql ‘alter system archive log current‘; backup format ‘/u02/orabak/%d_arch_%s_%p_%h‘ archivelog all delete all input; backup format ‘/u02/orabak/controlfile_%d_%s_%p‘ current controlfile; release channel c1; } 备份后的文件名如下图所示: 三、正式迁移过程整个过程就是一个异机恢复过程。只不过在恢复完成后,要以upgrade方式打开数据库,完成后续升级操作。 3.1 恢复控制文件[[email?protected] ~]$ rman target / Recovery Manager: Release 19.0.0.0.0 - Production on Sun May 5 15:47:32 2019 Version 19.3.0.0.0 Copyright (c) 1982,2019,Oracle and/or its affiliates. All rights reserved. connected to target database (not started) RMAN> set dbid 2122265785 executing command: SET DBID RMAN> startup nomount; Oracle instance started Total System Global Area 4294965360 bytes Fixed Size 9144432 bytes Variable Size 771751936 bytes Database Buffers 3506438144 bytes Redo Buffers 7630848 bytes RMAN> restore controlfile from ‘/u02/orabak/controlfile_CDB_19_1‘; Starting restore at 05-MAY-2019 15:48:12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=773 device type=DISK channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete,elapsed time: 00:00:04 output file name=+DATA/CDB/CONTROLFILE/current.257.1007480897 output file name=+FRA/CDB/CONTROLFILE/current.256.1007480897 Finished restore at 05-MAY-2019 15:48:19 RMAN> alter database mount; released channel: ORA_DISK_1 Statement processed 3.2 创建spfile并注册资源RMAN> create spfile=‘+data/cdb/spfilecdb.ora‘ from pfile; Statement processed [[email?protected] ~]$ srvctl add database -db cdb -oraclehome /u01/app/oracle/product/19.0.0/db_1 -pwfile $ORACLE_HOME/dbs/orapwcdb -spfile ‘+DATA/CDB/spfilecdb.ora‘ -dbname cdb -diskgroup data,fra [[email?protected] ~]$ echo ‘SPFILE=‘+DATA/CDB/spfilecdb.ora‘‘ >$ORACLE_HOME/dbs/initcdb.ora 3.3 恢复整个数据库--在rman中运行如下命令进行全库恢复 run { allocate channel c1 device type disk; restore database; recover database; release channel c1; } (编辑:PHP编程网 - 湛江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐