精算业务死锁的具体分析
真实表名、字段名、函数名、机器名、实例名已经替换截取trace文件的片段:trace文件是42号进程——也就是后面的 sid 777生成的。Instance name: PRODRedo thread mounted by this instance: 1Oracle process number: 42Unix process pid: 4620, image: oracle@hostname ...
library cache pin导致业务阻断
(用户名,表、机器名已经被替换)有用户反映一个大量session并发执行一个函数的精算业务执行不下去了,现场DBA发现后台大量等待library cache xxx和mutex s wait on x等。查看blocking session,形成一条链条,顶端是session 930简单取了几个session21:42:17 SQL> select...
library cache pin业务阻断
(用户名,表、机器名已经被替换)有用户反映一个大量session并发执行一个函数的精算业务执行不下去了,现场DBA发现后台大量等待library cache xxx和mutex s wait on x等。查看blocking session,形成一条链条,顶端是session 930简单取了几个session21:42:17 SQL> select...
加快dba_hist_active_sess_history的查询速度
核心数据库的快照保留时间提高到1个月,导致从dba_hist_active_sess_history这张表里找点东西非常慢。从v$session里看发型是对WRH$_ACTIVE_SESSION_HISTORY走direct path read,很吃IO,而且速度也不快。看一下WRH$_ACTIVE_SESSION_HISTORY的定义:17:01:51 SQL> select dbms_metadata.get_ddl('TABLE','WRH$_ACTIVE_SES...
报表数据库4031
报表数据库11.2.0.3凌晨3点多 ORA-4031初步分析如下SQL> show parameter shared_poolNAME TYPE VALUE------------------------------------ ----------- ----------...
连接条件是两个字段“or”关系的SQL优化
下午发现一条SQL,消耗大量IO。SQL文本(部分表名和字段名做了替换)SELECT "A3"."apptype", "A3"."appno", "A2"."edate", "A3"."cno", "A1"."rcode", "A3"."chnl", &nb...
大表范围扫描走SORT MERGE JOIN的SQL优化
SQL文本(部分表名字段名做了替换)select XXXXX from t1 a where 1 = 1 and a.flag = '0' and a.flag2 = '1' and exists (select 'x' from t2 b where b.startno...
cursor_sharing=force导致sql profile部分hint失效
SQL文本(部分表名字段名做了替换)select * from (select prop1 , prop2, (select codename from code d1 &nbs...
用push_subq优化批处理统计SQL
用户反映有一条统计SQL好几个小时跑不完SQL原文(部分表名字段名被替换掉了)(t1和t2都是100多G的大表)select * from t1 awhere 1 = 1 and not exists (select 'X' from t2 where date1 is null and s...
RAC环境并行insert,当触发内部清理回收站时导致ORA-00600 [ktssdrp1]
Errors in file /u01/app/oracle/diag/rdbms/btas/btas1/trace/btas1_p001_130280.trc (incident=176570):ORA-00600: ????????????????????????, ????????: [ktssdrp1], [0], [0], [0], [], [], [], [], [], [], [], []Incident details in: /u01/app/oracle/dia...
ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled
环境是oracle 10.2.0.5 RAC+DG+测试机操作是从standby备份,恢复到测试机。当时是想用重建控制文件的方式,然后resetlogs打开数据库,结果遇到bug 4355382ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled解决方法1 先给thread 2添加两组redo...
一次WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK
alert报错信息:>>> WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! pid=57System State dumped to trace file /opt/app/oracle/product/10.2.0/db_1/admin/ XXXXXX/bdump/XXXXXXX2_j001_16704.trc报错的是 j001进程,是一个后台job进程。当时执行的是 8938号job ,根据s...
解决set newname 极慢的问题
将RAC的备份恢复到单机。数据库恢复时, set newname极慢的原因,初步分析如下:查询各 session的等待事件:SQL> select s.sid, s.serial#, s.paddr, p.pid, s.event, s.p1, s.program from v$session s, v$process p where s.paddr = p.addr ;………………………. ...