ITPub博客

首页 > 应用开发 > IT综合 > sys可以登陆,其它用户登陆就hang住的处理

sys可以登陆,其它用户登陆就hang住的处理

原创 IT综合 作者:liang573728 时间:2019-07-05 22:45:06 0 删除 编辑

刚才在itpub里闲逛,看到这个帖子.又学习了.赶紧纪录下来.

ref: http://www.itpub.net/viewthread.php?tid=1102426&extra=&page=1

[@more@]猪面人心同学在群里说sys用户登陆的时候,可以正常登陆,其它用户登陆的时候就hang,这样的情况经常是由于归档过不出而出现这种状况,由于不清楚具体的情况,于是叫朋友给出v$session_wait的结果,输出的等待事件如下:
SQL*Net message from client
jobq slave wait
Streams AQ: qmn slave idle wait
resmgr:become active
SQL*Net message from client
resmgr:become active
Streams AQ: waiting for time management or cleanup tasks
resmgr:become active
Streams AQ: qmn coordinator idle wait
resmgr:become active
SQL*Net message to client
rdbms ipc message
rdbms ipc message
rdbms ipc message
rdbms ipc message
smon timer
rdbms ipc message
rdbms ipc message
rdbms ipc message
rdbms ipc message
rdbms ipc message
pmon timer

这些等待事件中除了resmgr:become active 这个等待事件比较可疑外,别的等待事件都是很常见的等待事件,属于idle event,一般不会是引起这个问题的原因,最后把问题定位在resmgr:become active这个等待事件上.

resmgr:become active
这个等待事件的解释 
The session is waiting for a resource manager active session slot. This event occurs when the resource manager is enabled and the number of active sessions in the session's current consumer group exceeds the current resource plan's active session limit for the consumer group.

从描述上看这个等待事件的原因和resource manager有关,由于不是很熟悉这东西,自然请google帮忙,在搜索
resmgr:become active过程中找到一个论坛上(http://kr.forums.oracle.com/forums/thread.jspa?threadID=647564),有个人遇到很类似的问题.于是叫朋友查询

select * from V$RSRC_PLAN ;  
4840 INTERNAL_QUIESCE TRUE 

至此就明白了问题的原因,解决的方法很简单
alter system SET resource_manager_plan = '';

INTERNAL_QUIESCE:
INTERNAL_QUIESCE - freezes all sessions out (by setting max number of sessions to 0) except for SYS_GROUP

起用了INTERNAL_QUIESCE后只允许SYS_GROUP中的user登陆

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/640706/viewspace-1014966/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2005-10-15

  • 博文量
    152
  • 访问量
    113355