Oracle 12C升级到18C

来源:这里教程网 时间:2026-03-03 15:00:31 作者:

Oracle 12C 升级 18C   一:版本检查 二: 准备18C 安装包 三:创建目录 四:安装Oracle 软件 五:升级前检查 六:升级 七:验证 八:问题 环境说明: OS:Red Hat Enterprise Linux Server release 7.5 (Maipo) DB:Oracle 12.2.0.1.0 升级到 Oracle 18.3.0.0 一:版本检测 Oracle DB 18c - 手动升级到 Non-CDB Oracle Database 18c 的完整核对清单 (Doc ID 2469647.1) 准备 18C 安装包 --- LINUX.X64_180000_db_home.zip [root@cjcos package]# pwd /package [root@cjcos package]# ll -rth total 7.5G drwxr-xr-x. 2 oracle oinstall   42 Jan 16 12:05 Oracle_1903_for_Linux -rw-r--r--  1 oracle oinstall 3.3G Jan 19 10:36 linuxx64_12201_database.zip -rw-r--r--  1 oracle oinstall 4.3G Jan 19 10:55 LINUX.X64_180000_db_home.zip :创建目录 [root@cjcos yum.repos.d]# mkdir -p /u01/app/oracle 18 [root@cjcos yum.repos.d]# chown -R oracle:oinstall /u01/app/oracle 18 [root@cjcos yum.repos.d]# chmod -R 775 /u01/app [root@cjcos yum.repos.d]# su - oracle [oracle@cjcos ~]$ mkdir -p /u01/app/oracle 18 /product/1 8 .0.0/dbhome_1 [oracle@cjcos ~]$ cd /u01/app/oracle 18 /product/1 8 .0.0/dbhome_1 四:安装Oracle 软件 [oracle@cjcos dbhome_1]$ pwd /u01/app/oracle18/product/18.0.0/dbhome_1 [oracle@cjcos dbhome_1]$ unzip -q /package/LINUX.X64_180000_db_home.zip [root@cjcos ~]# xhost + access control disabled, clients can connect from any host [oracle@cjcos dbhome_1]$ cd /package/database/ [oracle@cjcos database]$ ./runInstaller [root@cjcos ~]# /u01/app/oracle18/product/18.0.0/dbhome_1/root.sh 五:升级前检查 停机扩大内存到10G [ root@cjcos ~]# free -m               total        used        free      shared  buff/cache   available Mem:           9740         335        9088           9         317        9318 Swap:          4991           0        4991 [oracle@cjcos ~]$ export ORACLE_BASE=/u01/app/oracle12 [oracle@cjcos ~]$ export ORACLE_HOME=$ORACLE_BASE/product/12.0.0/dbhome_1 [oracle@cjcos ~]$ export ORACLE_SID=cjcdb01 [oracle@cjcos ~]$ /u01/app/oracle18/product/18.0.0/dbhome_1/jdk/bin/java -jar /u01/app/oracle18/product/18.0.0/dbhome_1/rdbms/admin/preupgrade.jar ================== PREUPGRADE SUMMARY ==================    /u01/app/oracle12/cfgtoollogs/cjcdb01/preupgrade/preupgrade.log   /u01/app/oracle12/cfgtoollogs/cjcdb01/preupgrade/preupgrade_fixups.sql   /u01/app/oracle12/cfgtoollogs/cjcdb01/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/oracle12/cfgtoollogs/cjcdb01/preupgrade/ -b preup_cjcdb01 /u01/app/oracle12/cfgtoollogs/cjcdb01/preupgrade/preupgrade_fixups.sql   2. Review logs under /u01/app/oracle12/cfgtoollogs/cjcdb01/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/oracle12/cfgtoollogs/cjcdb01/preupgrade/ -b postup_cjcdb01 /u01/app/oracle12/cfgtoollogs/cjcdb01/preupgrade/postupgrade_fixups.sql    2. Review logs under /u01/app/oracle12/cfgtoollogs/cjcdb01/preupgrade/   Preupgrade complete: 2020-01-19T14:58:18 [oracle@cjcos preupgrade]$ vi preupgrade.log [oracle@cjcos preupgrade]$ pwd /u01/app/oracle12/cfgtoollogs/cjcdb01/preupgrade [oracle@cjcos preupgrade]$ vim preupgrade.log 六:升级 [oracle@cjcos ~]$ cd /u01/app/oracle18/product/18.0.0/dbhome_1/bin/ [oracle@cjcos bin]$ ./dbua SQL> conn / as sysdba SQL> EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS; SQL>   EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; SQL> alter session set container=cjcpdb01; SQL> EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS; SQL>   EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; 七:验证 设置环境变量 [oracle@cjcos ~]$ vi .bash_profile export PATH #export ORACLE_BASE=/u01/app/oracle #export ORACLE_BASE=/u01/app/oracle12 export ORACLE_BASE=/u01/app/oracle18 #export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 #export ORACLE_HOME=$ORACLE_BASE/product/12.0.0/dbhome_1 export ORACLE_HOME=$ORACLE_BASE/product/18.0.0/dbhome_1 #export ORACLE_SID=cjcdb export ORACLE_SID=cjcdb01 # export ORACLE_SID=cjcdb02 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH [oracle@cjcos ~]$ source .bash_profile 监听状态 [oracle@cjcos ~]$ lsnrctl status [oracle@cjcos admin]$ pwd /u01/app/oracle12/product/12.0.0/dbhome_1/network/admin [oracle@cjcos admin]$ vim tnsnames.ora 八:问题 一开始在Oracle Linux Server release 6.3 系统上,将11.2.0.4.0升级到12.2.0.1.0正常,再将12.2.0.1.0升级到18.3.0.0.0时,升级任务到70%,会报错 ORA-03114: root@cjc cjcdb]# pwd /u01/app/oracle18/cfgtoollogs/dbua/upgrade2020-01-16_10-06-36AM/cjcdb [root@cjc cjcdb]# vim catupgrdcjcpdb0.log 尝试手动升级PDB [oracle@cjc ~]$ source .bash_profile [oracle@cjc ~]$ $ORACLE_HOME/bin/dbupgrade -c cjcpdb 报错如下: CJCPDB(3):Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x4] [PC:0x599B586, joevm_invokevirtual()+1414] [flags: 0x0, count: 1] 2020-01-16T14:49:57.835919+08:00 Errors in file /u01/app/oracle18/diag/rdbms/cjcdb/cjcdb/trace/cjcdb_ora_1102.trc  (incident=14465) (PDBNAME=CJCPDB): ORA-07445: exception encountered: core dump [joevm_invokevirtual()+1414] [SIGSEGV] [ADDR:0x4] [PC:0x599B586] [Address not mapped to object] [] CJCPDB(3):Incident details in: /u01/app/oracle18/diag/rdbms/cjcdb/cjcdb/incident/incdir_14465/cjcdb_ora_1102_i14465.trc CJCPDB(3):Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. 2020-01-16T14:50:09.995817+08:00 Dumping diagnostic data in directory=[cdmp_20200116145009], requested by (instance=1, osid=1102), summary=[incident=14465]. 尝试重启PDB 解决方案: 尝试多次安装均出现相同的问题,怀疑和操作系统版本过低,或操作系统内存过低有关,更换操作系统版本 Red Hat Enterprise Linux Server release 7.5 (Maipo) 并将内存由 4G 调大到 10G ,再次执行升级问题消失; 欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!

相关推荐