ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 编译存储过程的时候,執行很慢﹐處理對策

编译存储过程的时候,執行很慢﹐處理對策

原创 Linux操作系统 作者:golden_zhou 时间:2011-03-16 08:06:04 0 删除 编辑

编译存储过程的时候,執行很慢﹐好像hang住一樣

1.可能被锁住

查看v$locked
select b.sid,b.serial#,b.machine,b.terminal,b.program,b.process,b.status from v$lock a , v$session b

where a.SID = b.SID

得到死锁session的SID,SERIAL#参看这个是否为你自己用户下的,然后kill掉session

2.可能被挂起

查看v$session_wait
select b.serial#,a.* from v$session_wait a,v$session bwhere a.sid = b.sid得到等待的session的sid和serial#

3.查看dba_ddl_locks
select session_id sid, owner, name, type, mode_held held, mode_requested request

from dba_ddl_locks where name = '&your_package_name'

有对象失效,或者子过程什么的被调用中,所以会等待

原因已查明﹕

job(143)定期執行DFMS.SP_KB_AUTO_SEND_SIGNAL﹐而該SP會調用DFMS.SP_KB_UPDATE_STATUS_FOR_USING﹐該JOB每10分鐘運行一次﹐JOB運行期間相應的SP亦補調用﹐在SP執行期間不能被編譯﹐就會出現此種現象

對策﹕

編譯暫停JOB運行.

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

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

注册时间:2011-03-09

  • 博文量
    238
  • 访问量
    307373