暂无图片
暂无图片
7
暂无图片
暂无图片
暂无图片

注意:Oracle19c DBCA 花费4个时在应用19.6 DBRU 后,怎么回事

原创 Anbob 2020-04-11
5249

上周同事在安装Oracle 19c RAC环境时,全新的软件在安装了当前最新的19.6 RU后,DBCA创建数据库居然花了4个小时左右,环境RHEL 7.5 , 本地全SSD 硬盘,共享存储是”菊厂”的高端全闪阵列,这样的速度不能忍。 目前在MOS没有相关记录的BUG, 不过最终找到的原因,这里记录分享一下这个问题。

这个有问题有一定的场景,能否遇到取决于安装方法的选择,养成好习惯受益终身。
场景1, 安装步骤

  • 1, 安装全新的Oracle 19.3 GI 和DB 环境, DB 选择只安装软件
  • 2, 安装应用19.6 RU到当前环境中GI 和DB
  • 3, 使用DBCA 创建新的数据库, 在OUI 图形的Deployment Type选项卡,如果是习惯性的选择“Custom Database”

然后接下的安装会非常顺利,不会存在任何问题。

场景2, 安装步骤

  • 1, 安装全新的Oracle 19.3 GI 和DB 环境, DB 选择只安装软件
  • 2, 安装应用19.6 RU到当前环境中GI 和DB
  • 3, 使用DBCA 创建新的数据库, 在OUI 图形的Deployment Type选项卡,选择任何现有include datafiles=Yes的库模板如DW\OLTP.
    seeddbs.jpg

借用Mike Dietrich’s的图片。

接下来可能就出现这个问题,安装的进度条在50%多,然后到安装完成可能需要等待3-4个小时。在安装完成后会发现数据库存在SDO组件处理INVALID,所有PDBS处于RESTRICTED限制访问模式,同时数据库中包含大量的Invalid 无效对象。

SQL*Plus: Release 19.0.0.0.0 - Production on Sun Feb 16 20:40:31 2020
Version 19.6.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.6.0.0.0

SQL> select count(*) from dba_objects where status='INVALID';

  COUNT(*)
----------
       256

复制

后来Google发现Mike Dietrich也在他的BLOG记录了他们客户向他反映相同的问题,解决方法是应用 OJVM 19.6 patch.

MOS 2118136.2

19.0.0.0
Description OJVM Update OJVM + DB Update OJVM + GI Update
JAN2020 (19.6.0.0.200114) 30484981 30463595 30463609
OCT2019 (19.5.0.0.191015) 30128191 30133124 30133178
JUL2019 (19.4.0.0.190716) 29774421 29699079 29699097
APR2019 (19.3.0.0.190416) 29548437 29621253 29621299

安装并应用DB OJVM patch 30484981.

su - oracle
 -- Shutdown DB and Listener
 sqlplus / as sysdba
 shutdown immediate
 exit

 lsnrctl stop

 -- Run: opatch apply 
 cd $ORACLE_HOME/OPatch
 ./opatch apply /u01/orasw/patches/30463595/30484981 -oh $ORACLE_HOME

 -- Startup DB and Listener
 sqlplus / as sysdba
 startup
 exit

 lsnrctl start

 -- Run: datapatch
 cd $ORACLE_HOME/OPatch
 ./datapatch -verbose
Check dba_registry

 COL version     FORMAT a10
 COL action      FORMAT a10
 COL status      FORMAT a10
 COL action_time FORMAT a30
 COL description FORMAT a65
 SELECT patch_id,patch_type,action,status,action_time,description FROM dba_registry_sqlpatch;

重新编译

$ cd $ORACLE_HOME/rdbms/admin
oracle@anbob:/u01/app/oracle/product/19JVM/rdbms/admin
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl --n 1 --e --b utlrp --d '''.''' utlrp.sql

SQL> select count(*) from cdb_objects where status='INVALID';

  COUNT(*)
----------
	 0
复制

或删库重新DBCA 该问题已消失.

为什么创建CUSTOM数据库不会发生这种情况?

选择创建CUSTOM数据库时,因为该模板不包含datafiles,将运行所有用于构建词典的脚本。因此,您将获得一个全新的干净字典,而预构建的DW和OLTP数据库已经带来了它的SYSTEM表空间datafile。

经验总结

在安装19c数据库 在安装了DBRU后,记的安装对应的OJVM patch。 记的DBRU中也有升级 JDK。 另外在DBUA中尽可能选择Custom database根据自己的需要选择安装对应的组件,减少不必要的升级时间。

–enjoy it

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
2人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论