- 最后登录
- 2016-2-19
- 在线时间
- 27 小时
- 威望
- 0
- 金钱
- 109
- 注册时间
- 2013-4-11
- 阅读权限
- 10
- 帖子
- 5
- 精华
- 0
- 积分
- 0
- UID
- 1037
|
1#
发表于 2013-12-20 14:36:44
|
查看: 5100 |
回复: 4
本帖最后由 thinking.qi 于 2013-12-20 14:42 编辑
OS:AIX 6.1 ORACLE:11.2.0.1 rac ,用户一直处于等待DFS lock handle,
原因是root定义的一个crontab 在00:05分执行,脚本内容如下:
05 00 * * * /home/oracle/jyc/lymxsolrjob.sh
#
#
# cat /home/oracle/jyc/lymxsolrjob.sh
su - oracle -c "sqlplus 'admin/admin@JXDB' <<EOF
exec SP_LOUYU_MINGXI_TONGBU;
exec SP_LOUYU_MINGXI_SOLR_AUTO;
EOF
"
查询这个事件产生的时间和脚本执行的时间一致都 是 00:05 如下:
可相应的进程的用户怎么变成grid了,,不理解中,求指导:
select PADDR,inst_id,event,status,username,sid,serial#,machine,program,SQL_ID,SQL_HASH_VALUE,TERMINAL
,LOGON_TIME,SQL_EXEC_START,PDML_STATUS,BLOCKING_SESSION,STATE,SEQ#,SECONDS_IN_WAIT
from gv$session where sid=370;
1 07000005B8800800 1 SQL*Net message from client INACTIVE JXGL 370 5308 WINDOWS-GG66BZR JDBC Thin Client 0 unknown 2013-12-19 18:38:12 DISABLED WAITING 4744 111
2 07000005E47A6A30 2 DFS lock handle ACTIVE ADMIN 370 1018 JXDB2 sqlplus@JXDB2 (TNS V1-V3) 0 2013-12-20 0:05:00 DISABLED 2134 WAITING 43971 46727
SELECT inst_id,SPID ,PNAME,USERNAME,PID,SERIAL#,TERMINAL,PGA_USED_MEM FROM gV$PROCESS WHERE ADDR='07000005E47A6A30';
1 2 37159396 grid 522 4 UNKNOWN 2792445
ps -ef | grep 37159396
oracle 28180880 40894794 0 14:08:46 pts/7 0:00 grep 37159396
grid 37159396 1 0 00:05:00 - 0:04 oraclejxdb2 (LOCAL=NO)
等待事件如下:
SQL> select username,event,count(*) from v$session where username is not null and status='ACTIVE' group by username,event order by 1;
USERNAME EVENT COUNT(*)
------------------------------ ---------------------------------------------------------------- ----------
ADMIN DFS lock handle 1
ADMIN SQL*Net break/reset to dblink 1
ADMIN Streams AQ: waiting for messages in the queue 1
JXGL SQL*Net message to client 2
LYJK buffer busy waits 1
SYS SQL*Net message to client 1
6 rows selected.
SQL> select username,event,p1,p2,p3 from v$session where username is not null and status='ACTIVE' order by 1;
USERNAME EVENT P1 P2 P3
------------------------------ ---------------------------------------------------------------- ---------- ---------- ----------
ADMIN Streams AQ: waiting for messages in the queue 796367 5.0440E+17 3000
ADMIN DFS lock handle 1146617861 201495984 0
ADMIN SQL*Net break/reset to dblink 1413697536 0 0
JXGL SQL*Net message from dblink 675562835 1 0
LYJK buffer busy waits 47 455515 1
SYS SQL*Net message to client 1650815232 1 0
6 rows selected.
SQL>
SQL> select chr(bitand(1146617861,-16777216)/16777215) || chr(bitand(1146617861, 16711680)/65535) "Lock",
2 to_char(bitand(1146617861, 65536)) "Mode" from dual;
Lo M
-- -
DX 0
SQL>
目前的问题是:
1.oracle用户执行的脚本,产生的进程的owner怎么变成了 grid?
2.目前怎么消除这个事件?不能kill 进程,这们实例都挂掉了,有过一次经历。
附件是相应时段的awr 和进程对应的trc
|
|