Troubleshooting query v$asm_disk v$asm_diskgroup hang

An Oracle 11.2.0.4.7 4-nodes RAC on linux env, the fourth instance has this problem just, When the monitoring tool queries the usage of ASM DISKGroup, the query of V$asm_disk and v$asm_diskgroup has not been completed. from ASM INSTANCE found that waiting for ‘enq: DD – contention’ and final blocker session is waiting for ‘GPnP Get Item’ event. but query v$asm_diskgroup_stat work fine.

, ,

Troubleshooting ORA-01640: can not make tablespace read-only

近期客户环境中有友商在测试XTTS时遇到了在把表空间修改为read only只读时遇到的ora-1640错误,说明与此表空间相关存在事务未结束,最终确认最在一个PREPARED状态的分布式事务…
ORA-01640: cannot make tablespace read-only with changes by in-doubt transactions

,

Troubleshooting DB instance start fail ‘kggpnpInit: failed to init gpnp’ after apply DB PSU 11g,12c,18c,19c

ORACLE RAC环境记的之前GI和DB的version 前4位相同是可以兼容的,甚至有时DB PSU比GI PSU新,最近有朋友遇到只安装了DB PSU后,RAC中实例启动失败的问题, db alert show:
USER(3037)]CRS-2316:Fatal error: cannot initialize GPnP, CLSGPNP_ERR (Generic GPnP error).
kggpnpInit: failed to init gpnp
WARNING: No cluster interconnect has been specified

,

Troubleshooting Ora-00600 [kjcsmpav:1],[0x7000xxxxxx], [4], [0], [211], [220]

Oracle 19.1 or 19.4 on AIX ,There are cases where this error has occurred, An instance terminated because a DBWR raised ORA-600[kjcsmpav:1] during a buffer allocation.
ORA-600: internal error code, arguments: [kjcsmpav:1], [0x7000xxxxxxx], [4], [0], [211], [220], [], [], [], [], [],

MySQL 8新特性: Random Password Generation生成随机密码

近几年数据库安全在生产管理过程中尤为重视,MySQL同样和Oracle database一样提供了一些高级安全特性如TDE, Audit, Data masking, Firewall和密码安全管理策略等.
Oracle database中有密码verify function,目前还没有生成随机密码的功能, 但MySQL 8中撮供了该功能,下面测试一下“随机密码生成”特性。

, ,

Troubleshooting Rman Errors ora-1547 ora-1152 ora-1110 During recover

Restore RMAN backup from standby database to another server create a test database, and to Database Point in Time Recovery. but faced ora-1547 ora-1152 ora-1110 During recover.

,

Troubleshooting RMAN-08137: WARNING: archived log not deleted

RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
RMAN不能再正常删除归档日志,它们都将返回RMAN-08137,这导致归档日志文件系统被填满, 最终导致数据库实例hang, 等待online redolog归档。常见于有dataguard或基于redo的逻辑同步环境。

Alert: 升级19C(19.6) impdp导入分区表使用network_link时ORA-39029 ORA-31671 ORA-00600 [qesmaGetPamR-NullCtx]

升级oracle 19c的计划基本都已提上日程,数据泵也是一种对于小型数据库常用的解决方案,但是还是有个bug在那悄悄等着,对于本地没有存放dumpfile存储空间时常常使用network_link“不落地式”的导入方式, 这里记录一个同步时遇到ORA-39014、ORA-39029、ORA-31671案例。

, ,

Alert:Oracle19c DBCA take many hours after apply 19.6 DBRU without OJVM patch (DBCA超级慢)

上周同事在安装Oracle 19c RAC环境时,全新的软件在安装了当前最新的19.6 RU后,DBCA创建数据库居然花了4个小时左右,环境RHEL 7.5 , 本地全SSD 硬盘,共享存储是”菊厂”的高端全闪阵列,这样的速度不能忍。

,

Oracle Listener(监听) connect slow performance tuning

The next bottleneck the Listener could encounter is too many concurrent connection requests. The Listener process, it is constrained by CPU speed and available memory. there are techniques that can assist in scaling the Listener. The first is to adjust the request queue-size (QUEUESIZE) of the Listener process, the second is to increase the number of Listeners.

Troubleshooting ‘ORA-28041: Authentication protocol internal error’ change password 12c R2 DB

如果 Oracle client version 较低(<11.2.0.3),且数据库升级到 Oracle 12.2 并且应用了 April 2018 PSU 、18C 、19C databases 后, 当用户密码过期后,使用低版本的oracle client尝试修改用户密码时会遇到下面的错误,: ORA-28041: Authentication protocol internal error.

Oracle12c R2注意事项: 又一个BUG 生成大量的trace 含 kjshash() kjqghd()

Oracle 12c R2 又一bug,DIAG目录一天生成100GB的trace文件, 之前分享过几篇,这里再记录一种情况,遇到该现象时,需要先查看生成的trace文件进程是前台还是后台, trace的文件内容,当前数据库是否有配置诊断类event. 这个trace文件是有前台进程生成的,trace文件中包含kjshash和kjqghd。

,

Oracle 如何指定作业(dbms_job, dbms_scheduler) 在指定的实例运行

在RAC环境有时需要指定JOB 只运行在某个节点,如DBMS_schduler job调用OS shell的情况等对本地节点有依赖时,这里只是简单的记录一下方法

,

注意升级Oracle 19c:SE2标准版不再支持RAC

从Oracle 19c版开始,在标准第二版(SE2)中将不再允许使用Oracle RAC,客户可以选择保留18C,而不会影响其当前的RAC配置。标准版从19C后限制更加苛刻。虽然当前的18 SE 目前支持到2021年,总之从趋势上看是在逐渐淘汰SE标准版,还在使用SE的需要提前考虑了。

Troubleshooting ORA-01017 when ABMR(auto block media recover) on physical standby

oracle 11.2.0.4 RAC physical standby env, 在Standby端DG日志同步正常,但是当standby出现坏块后,standby 做ABMR时,提示ora-17627 ora-1017 用户密码错误的提示。从主库复制了密码文件,手动登录同时也是正常的。 因为standby上有业务不能轻易尝试,这里只简单记录分享一下排查方法。

,

Alert: SEC_CASE_SENSITIVE_LOGON and ORA-1017 after upgrade to 12.2 、18c、19c

从oracle 12c R2开始SEC_CASE_SENSITIVE_LOGON=FALSE的配置会认为deprecated ,12.2默认参数值为TRUE. 如果升级后该参数还是从以前版本带到新版本中,那就使情况变的复杂,有可能会遇到ora-1017密码错误的提示, 在配置静态监听时就更有意思。

, ,

Alert: Patch 28553832(11g R2 Extended Support patch) need apply upgrade to 19c

Direct Upgrade to Oracle Database 19c的版本有11.2.0.4,12.1.0.2,12.2.0.1,18c. 在最近11G (11204)升级19C的方案测试时遇到了上面的错误, 是不是很惊喜?在GI升级19c时需要检查patch 28553832是否安装,而且不允许跳过。这个从Patches to apply before upgrading Oracle GI and DB to 19c or downgrading to previous release (Doc ID 2539751.1) 可以确认。

,

Troubleshooting performance event ‘enq: CF – contention’

CF enqueues are control file enqueues, which occur during parallel access to the control file,it is a system enqueues generally only held for a very short time. the CF locks are used to serialize controlfile transactions and read and writes on shared portions of the controlfile.Control file enqueue is an expensive operation. For operations like updating checkpoint SCNs for datafiles, for no-logging operations, such enqueue on controlfile is taken.

Alert: oracle 12\18\19\20c 不要滥用“_ORACLE_SCRIPT”=true

“_ORACLE_SCRIPT”参数首先是个隐藏参数,所以很少有文档中描述他打开了哪些开关,因为它是oracle内部维护时使用,在ORACLE_HOME下的脚本中不少都有alter session set “_oracle_script”=ture的SQL, 但是注意执行完后即使的再改回false. 千万不要为了突破oracle的默认限制而随意使用_oracle_script参数,生产库除了oracle要求更不建议修改,因为后期有可能会遇到不些不必要的麻烦。

,

Alert: Oracle 19c DDL “COMMENT on Table” sql cursor no invalidation(deferred invalidation增强)

有时我们是希望做了一些改变后希望SQL再次解析生成更好的执行计划(maybe), 通常是comment DDL或grant select on xx to system等相对影响较小的操作。但是注意“COMMENT ON” DDL 在Oracle 19c中行为貌似又改变了(12c未改变,18c不确认),SQL CURSOR不再失效invalidation

, ,