本篇内容介绍了“使用DBUA升级Oracle11.2.0.4到Oracle 19C的问题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

简单记录一下升级过程中的坑:

需求:把ORACLE 11.2.0.4库迁移到新机器并升级到19C。

前期工作:

在新机器上安装11g,目录为/u01/app/oracle/product/11.2.0/home_1

19C安装在/u01/app/oracle/product/19.3.0/home_1

在老服务器上RMAN全库备份出来,备份目录NFS共享给新服务器,在新服务器上挂载上共享目录,完成恢复。11G正常打开库没有问题。

接着就是对要升级的库做5个准备工作

1、清除OLAP Catalog:$ORACLE_HOME/olap/admin/catnoamd.sql
2、清除apex:$ORACLE_HOME/apex/apxremov.sql

3、删除11G的DB control 需要使用19C的$ORACLE_HOME/rdbms/admin/emremove.sql

4、清空回收站

5、执行utlrp.sql重新编译

检查是否有失效的对象,为了保险起见,失效的对象我都删除了。

一、第一个坑:

设置/etc/oratab orcl:/u01/app/oracle/product/19.3.0/home_1:N

就是这个设置,掉进了第一个坑。

使用19C DBUA升级,开始执行过程时,本应该先用11G启动库,结果19C启动了11G的库,启动到升级模式,然后就出错了。然后再改回用11G启动,就报controlfileversion19.0.0.0.0incompatiblewithORACLEversion 11.2.0.4.再启动不了了,就此升级失败,只好把库删了,重新来一次恢复操作,从头开始做一遍。

二、第二个坑

DBUA过程中让选择升级失败的恢复模式,我选择了使用flashback 创建恢复点。

结果DBUA升级过程中,发现卡在那一直不动,打开后台看告警alert日志,发现报db recovery 目录满,赶紧用alter system set 把db recovery 目录设置一个更大的值,之后的操作就在db recovery 目录不断的满,不断的扩db recovery 目录。本来以为用不了多久就能完的操作,花费了好几个小时。以后这种升级,再不能选用使用flashback 创建恢复点了。

三、第三个坑

走到post阶段的时候,失败,报以下错误

Unabletoobtaincurrentpatchinformationduetoerror:20001,ORA-20001:Latestxmlinventoryisnotloadedintotable
ORA-06512:at"SYS.DBMS_QOPATCH",line2327
ORA-06512:at"SYS.DBMS_QOPATCH",line854
ORA-06512:at"SYS.DBMS_QOPATCH",line937
ORA-06510:PL/SQL:unhandleduser-definedexception
ORA-06512:at"SYS.DBMS_QOPATCH",line932
ORA-29913:errorinexecutingODCIEXTTABLEFETCHcallout
ORA-29400:datacartridgeerror
KUP-04095:preprocessorcommand/u01/app/oracle/product/19.3.0home_1/QOpatch/qopiprep.batencounterederror"locale:CannotsetLC_CTYPEtodefaultlocale:Nosuchfileordirectory
locale:CannotsetLC_MESSAGEStodefaultlocale:Nosuchfileordirectory
locale:Can"
ORA-06512:at"SYS.DBMS_QOPATCH",line919
ORA-06512:at"SYS.DBMS_QOPATCH",line2286
ORA-06512:at"SYS.DBMS_QOPATCH",line817
ORA-06512:at"SYS.DBMS_QOPATCH",line2309
===========================================================
Dumpingcurrentpatchinformation
===========================================================
Unabletoobtaincurrentpatchinformationduetoerror:20001

到MOS上耐心的搜索,找到了解决办法:

做这个设置:exportLC_ALL=en_US.UTF-8

问题解决。

四、第四个坑

升级完后,居然库启动到mount就失败,报以下错误:

controlfileversion19.0.0.0.0incompatiblewithORACLEversion 11.2.0.4.

仔细检查,发现启动参数里,compatible='11.2.0.4’,修改参数文件

把compatible='11.2.0.4’修改为compatible='19.3.0’。重新启动,启动成功。

检查组件状态:

selectCOMP_ID,VERSION,STATUSfromdba_registry;

COMP_IDVERSIONSTATUS
------------------------------------------------------------------------------
CATALOG19.0.0.0.0VALID
CATPROC19.0.0.0.0VALID
JAVAVM19.0.0.0.0VALID
XML19.0.0.0.0VALID
CATJAVA19.0.0.0.0VALID
APS19.0.0.0.0VALID
RAC19.0.0.0.0OPTIONOFF
OWM19.0.0.0.0VALID
CONTEXT19.0.0.0.0VALID
XDB19.0.0.0.0VALID
ORDIM19.0.0.0.0VALID

COMP_IDVERSIONSTATUS
------------------------------------------------------------------------------
SDO19.0.0.0.0VALID
XOQ19.0.0.0.0VALID

13rowsselected.

RAC组件不正常,好在是单机,不适用RAC,不做处理。

最后一步工作,把ORACLE_HOME从11G的目录修改为19C的目录。

“使用DBUA升级Oracle11.2.0.4到Oracle 19C的问题有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!