温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle 12C升级到18C

发布时间:2020-08-09 10:19:27 来源:ITPUB博客 阅读:185 作者:chenoracle 栏目:关系型数据库

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)

Oracle 12C升级到18C

Oracle 12C升级到18C

准备 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

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

[root@cjcos ~]# /u01/app/oracle18/product/18.0.0/dbhome_1/root.sh

Oracle 12C升级到18C

五:升级前检查

停机扩大内存到10G

Oracle 12C升级到18C

[ 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

Oracle 12C升级到18C

==================

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 12C升级到18C Oracle 12C升级到18C

[oracle@cjcos preupgrade]$ vi preupgrade.log

[oracle@cjcos preupgrade]$ pwd

/u01/app/oracle12/cfgtoollogs/cjcdb01/preupgrade

[oracle@cjcos preupgrade]$ vim preupgrade.log

Oracle 12C升级到18C

六:升级

[oracle@cjcos ~]$ cd /u01/app/oracle18/product/18.0.0/dbhome_1/bin/

[oracle@cjcos bin]$ ./dbua

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

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 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

七:验证

设置环境变量

[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 12C升级到18C

Oracle 12C升级到18C

[oracle@cjcos admin]$ pwd

/u01/app/oracle12/product/12.0.0/dbhome_1/network/admin

[oracle@cjcos admin]$ vim tnsnames.ora

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

Oracle 12C升级到18C

八:问题

一开始在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:

Oracle 12C升级到18C

Oracle 12C升级到18C

root@cjc cjcdb]# pwd

/u01/app/oracle18/cfgtoollogs/dbua/upgrade2020-01-16_10-06-36AM/cjcdb

[root@cjc cjcdb]# vim catupgrdcjcpdb0.log

Oracle 12C升级到18C

尝试手动升级PDB

[oracle@cjc ~]$ source .bash_profile

[oracle@cjc ~]$ $ORACLE_HOME/bin/dbupgrade -c cjcpdb

报错如下:

Oracle 12C升级到18C

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

Oracle 12C升级到18C

解决方案:

尝试多次安装均出现相同的问题,怀疑和操作系统版本过低,或操作系统内存过低有关,更换操作系统版本 Red Hat Enterprise Linux Server release 7.5 (Maipo) 并将内存由 4G 调大到 10G ,再次执行升级问题消失;

欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!

Oracle 12C升级到18C

Oracle 12C升级到18C


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI