前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试491】如何判断一个存储过程是否正在运行?

【DB笔试面试491】如何判断一个存储过程是否正在运行?

作者头像
AiDBA宝典
发布2019-09-30 16:14:24
7300
发布2019-09-30 16:14:24
举报
文章被收录于专栏:小麦苗的DB宝专栏
题目部分

在Oracle中,如何判断一个存储过程是否正在运行?

答案部分

有两种方式可以判断一个存储过程是否正在运行,其查询SQL语句分别如下所示,若有结果返回,则说明存储过程正在运行。

方法1:

代码语言:javascript
复制
SELECT A.SID,
       B.SERIAL#,
       A.OWNER,
       A.OBJECT,
       A.TYPE,
       B.SERVER,
       B.MODULE,
       B.ACTION,
       B.LOGON_TIME
FROM  V$ACCESS  A,
       V$SESSION B
WHERE  A.SID = B.SID(+)
AND    A.TYPE = 'PROCEDURE'
AND    B.STATUS = 'ACTIVE'
AND    A.OBJECT = 'P_TEST_LHR' --注意这里修改成存储过程的名称
;

方法2:

代码语言:javascript
复制
SELECT *
FROM   V$DB_OBJECT_CACHE
WHERE  TYPE = 'PROCEDURE'
AND    NAME = 'P_TEST_LHR'
AND    LOCKS > 0
AND    PINS > 0;

本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档