1 案例分析
案例一:Library cache lock等待
问题背景:
严重的Library cache lock等待,导致SQL执行的很慢
问题分析:
Library cache lock等待常见场景:
- DDL、统计信息搜集
Namespace→1:table/view/sequence/synonym/ - 错误密码登陆
Namespace→79:Account status - FailureParse
Namespace→82:SQL AREA BUILD - ADG
Namespace→74:DBINSTANCE
案例二:row cache lock等待
问题背景:
大量的row cache lock等待事件,导致数据库夯住。
问题分析:
从dba_hist_active_sess_history中分析看到,数据库于17:30:28开始出现row cache lock(dc_user),从中可以看到,1号节点的会话4901阻塞了3052,4901是一个sqlplus程序,在执行grant object操作。
分析数据库audit日志XXXX1_ora_25757616_1.aud如下:
因为这个系统业务期间每个节点每秒大概有5、6次的login,两个节点加起来每秒大概有10到12次的login。在因此导致了大量的row cache lock等待事件。
DC_USERS This may occur if a session issues a GRANT to a user and that user is in the process of logging on to the database. Investigate why grants are being made while the users are active.
解决方案:
避免在业务期间进行grant/revoke操作。
案例三:truncate大表
问题背景:
truncate大表,导致业务等待