Oracle 12cR2 RAC新特性”fast index split wait” 引入gc index split transaction增长导致ora-4031

几日朋友有套数据库升级到oracle 12C r2后出现了ORA-4031, 是一套on Linux x86 64-bit 2节点的RAC数据库,Hard parse并不高,并且没有使用AMM, ASMM。SGA分配80G, shared pool固定在13Gb.”gc index split transaction”也是在持续增长,符合bug 27163928.

案例: checkpoint hang等待log file switch(checkpoint incomplete) 11.2.0.4 on Solaris OS 5.11

前段时间遇到的一个案例,朋友开始给我说是数据库连接数很高,让我帮分析一下。这是一套 11.2.0.4 2nodes RAC on Sun OS 5.11环境,大多数会话等待enq: sq – contention, log file switch (checkpoint incomplete) , checkpoint 无法完成…

预警:2019年ORACLE SCN 兼容性特性( Compatibility)自动改变的影响

Oracle MOS中新发布预警对于版本和对应版本的已安装PSU高于11.1.0.7.20,11.2.0.7.57(for Windows), 11.2.0.3.9,11.2.0.3.29 (for Windows), 11.2.0.3 BP22(for Exadata), 11.2.0.4,12.1.0.2 ,12.2.0.1 的Oracle 数据库, 将在2019年06月23日后自动调整SCN的增长速率为更大的上限,DBLINK 在不同数据库之间访问时会同步SCN, 为了避免不同SCN 上限数据库之间因SCN拒接访问,建议所有DBLINK访问的数据库升级为相同的SCN 兼容性。

Know more about Temporary Tablespaces ORA-1652 and event 60025 temp space never release

众所周知, oracle临时表空间是用于存储数据库的排序数据和全局临时表数据,tempfile不同于datafile因为不存在控制文件中,在恢复数据库后需要重建tempfile,也可以在standby环境中配置不同的temp表空间。用监控数据表空间间的脚本也许看到临时表空间使用率100%,但并且有时并非真实,DBA_FREE_SPACE 不会记录临时表空间的可用空间,使用v$sort_segments, V$TEMP_SPACE_HEADER 和v$tempseg_usage监控临时表空间的使用,如果临时表空间不足会提示ORA-1652错误。

Exadata Instance crash ORA-600 [ksz_cln_proc1] and restart fail due to breakdown of one CellServer (案例)

cell03存储主机的文件系统异常,导致ASM Hang,数据库实例crash, 虽然是NORMAL级别的冗余,但是数据库实例此时不能于ASM通信,重启CRS进程恢复,可使用剩余的2条CELL继续为数据库提供服务。 在延长了disk_repair_time时间后,等待时间后强置重启CELL03主机操作系统后,一切恢复。

案例: RAC Hang wait ‘library cache lock’ & ‘latch: row cache objects’ 在做了大量的表分区DDL后

点1的活动会话已接近4000,几乎全是Library cache lock的会话,blocker session 在等待DFS lock handle ,当shared pool里的对象需要为新的对象释放空间时如sql cursor, LCK进程降低Row Cache 大小期间使数据库临时hang, 因为在RAC环境中LCK进程负责释放持有row cache的用户进程协调工作及Library cache 的请求, 如果LCK出现性能问题也就会导致library cache object无法请求和会话补KILL后的释放row cache堵塞。

Oracle 12.2 DB alert show “WARNING: too many parse errors” or “__Oracle_JDBC_internal_ROWID__” in sql

alert log中出现了大量的”WARNING: too many parse errors”,是以前的版本中从未见过,这也是12.2的新特性,自动生成解析失败的信息写入db alert log, 即使没有在数据库启用event 10035,当JDBC 中scroll sensitive resultset 启用时,JDBC驱动就会在用户SQL中自动增加ROWID