注意升级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
Oracle 20C 关于Security安全的行为改变
Oracle 20-22c是12c后的下一个大版本集,也有了大的改变,如本身就云架构数据库定位从20c起不再支持非多租户,了解新版本可以了解数据库的发展方向,减少不必要的麻烦,如短时间内再次升级功能不再支持应用程序又要重写, 对于安全方面同样也有一些变化,这里简单的记录。
Troubleshooting Active Dataguard Hangs waiting for library cache lock on DBINSTANCE namespace
Oracle 11G r2 active dataguard端突然产生较大GAP,日志停止应用,大量前台查询进程等待”library cache load lock”, hanganalye 显示’rdbms ipc message’<='library cache lock' 等待链, library cache lock是一个parse lock,要知道在ADG 环境中也只有一个进程会在X-mode 持有lock,同时在ADG环境中存在一个相关bug, 这里记录一下这个问题。
Troubleshooting 11.2.0.4 show error ORA-12592, ORA-3137, ORA-3106
Network/TTC related error ORA-12592, ORA-3137, ORA-3106 may be signaled on SQL*Net TCP/IP transport.
Usually this problem is seen with following circumstances.
– Sending large size data to database server, for example, using sqlldr, expdp
– Database version is 11.2.0.4
Troubleshooting long wait “enq: US – contention” & “enq: IV – contention” after DDL, alert show “libcache interrupt action by LCK”
一套12C R2版本的4节点RAC数据库,记录一起高并发业务繁忙时,DDL导致数据库出现大量前台会话长时间等待”enq: US – contention” & “enq: IV – contention” ,该SQL(INSRT VALUE)的只是一个Children cursor无法执行(sql_start_exec 时间已过去数小时),第二个的children cursor执行效率正常,最终KILL 这些长时间运行前端会话解决。