1:查V$DB_OBJECT_CACHE

SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0';

注意:CUX_OE_ORDER_RPT_PKG 为存储过程的名称。

发现 locks=2

2:按对象查出sid的值

select /*+ rule*/  SID from V$ACCESS WHERE object='CUX_OE_ORDER_RPT_PKG';

注意:CUX_OE_ORDER_RPT_PKG 为存储过程的名称。

3:查sid,serial#

SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID';

4、根据会话id(sid),此会话的等待事件:

[sql] view plaincopy
  1. select * from v$session where sid=***;

event字段即为等待事件。查询后我们发现这个会话等待事件为SQL*Net message from dblink;在查看会话的logon_time为两天前。这个时间远超过我们估计时间。

5、根据会话id查看此会话正在执行的sql语句

[sql] view plaincopy
  1. select sql_text from v$sqlarea where address= (select   sql_address  from v$session where sid=***);

查询后发现正在执行的sql语句为通过dblink到远程数据库上A表查询数据,插入到B表。

6、连接远程数据库,查询当前被锁的对象

[sql] view plaincopy
  1. select * from v$locked_object lo ,
  2. all_objects  ao    where lo.OBJECT_ID= ao.object_id ;

查看后发现远程数据库中并没有涉及到A、B表被锁

7、查看远程数据的会话:

[sql] view plaincopy
  1. select * from v$session where terminal like '%机器名%'  and program='Oracle.exe'

使用dblink连接远程数据库,在远程数据库上的会话的program应该是是oracle.exe

查询后发现,两个远程库有时候根本没有相关会话,有时候可能有相关会话,但其等待事件是 SQL*Net message from client 远程库在等待本地Oracle给他发请求。

本地库等dblink远程库,远程库等待client消息。看来这个存储过程是不可能执行完了。

具体什么原因造成了,还不清楚。

这里给出的处理方法就是杀死会话

http://blog.csdn.net/fupei/article/details/7325190

具体步骤可参考上面的文章

查看Oracle中存储过程长时间被卡住的原因相关推荐

  1. oracle查询过程中卡住,查看Oracle中存储过程长时间被卡住的原因

    1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0 ...

  2. oracle 存储过程 状态,查看ORACLE中正在运行的存储过程 | 学步园

    1.如何查看ORACLE中正在运行的存储过程 select owner,name from v$db_object_cache where type like '%PROCE%' and locks ...

  3. pythontime模块计算时长_用python的time模块查看你出生多长时间了

    time模块的应用查看出生了多长时间 查看银行卡解封时间 1.查看出生了多长时间 这里我们使用time模块计算我们出生了多长时间 import time # 导入时间模块 b = input('你的出 ...

  4. oracle中存储过程和函数有什么区别,Oracle中存储过程和函数的区别

    Oracle中存储过程和函数的区别 存储过程和函数:  www.2cto.com 例子: [sql] //创建过程 create or replace procedure add_emailinfo( ...

  5. Oracle命令--如何查看oracle中创建的所有目录

    如何查看oracle中创建的所有目录 SQL> conn / as sysdba 已连接. SQL> create directory sscFjSsc as 'D:\his\data\s ...

  6. oracle如何给表上锁,【ORACLE】Oracle中发生表加锁、死锁的原因,查看,与解决方法...

    一.表加锁.死锁出现的现象 1.对数据库操作update,insert,delete时候,数据库无法更新,操作等待时长,操作结果不发生改变 2.在程序中,底层(数据访问层)操作时候,不成功,数据库连接 ...

  7. Oracle中日期和时间字段的日常使用

    本文目的是记录日常开发中用到的知识点,不涉及具体业务,只关注技术,方便自己和后来者. 目前正在做一个工厂项目,说到工厂项目肯定会有关于产线和人员的排班时长计算,一般一条排班信息包括开始时间.结束时间以 ...

  8. oracle中用于返回日期和时间,oracle中日期和时间函数的使用

    日期和时间函数的使用 1,           SYSDATE:此函数用于返回系统当前日期 2,           ADD_MONTHS(日期,n):返回指定日期之前或之后的n个月所对应的日期(n为 ...

  9. sqlserver中查找长时间未提交事务

    无论是有意无意,如果事务在数据库中保持打开,则它会阻塞其他进程对修改后的数据进行操作.同样,对事务日志进行备份也只会截断不活动事务的那部分事务日志,所以打开的事务会导致日志变多(甚至达到物理限制),直 ...

最新文章

  1. git 常用命令 方法大全
  2. leetcode 10 Regular Expression Matching
  3. 截取字符串slice(),substring() ,substr()。
  4. android 适合mvp模式,Android中的MVP:如何使Presenter层系统化?
  5. java执行linux命令
  6. [洛谷P1822]魔法指纹
  7. 第九章 隐马尔科夫模型HMM
  8. 【华为云技术分享】解密如何使用昇腾AI计算解决方案构建业务引擎
  9. HTTPS科普扫盲帖【转】
  10. STP根交换机,指定端口,根端口,阻塞端口
  11. MySQL配置文件my.cnf参数优化和中文详解
  12. 面试题:Java多线程
  13. Ansys-结构动力学分析-有预应力琴弦横向振动模态分析学习收获
  14. 数据结构导论-1.概述
  15. 鼠标右键菜单打开慢的解决方式
  16. 什么是power bi
  17. android pie mi 3 tab,前沿科技:三星Galaxy Tab S3和Tab A(2017)正在获得Android 9.0 Pie更新
  18. 能力素质有所欠缺_除了岗位培训,能力的培训也十分关键
  19. 小米平板2 win10 MIUI互刷教程
  20. 情若人间诗词主角夏当午萧楚河by丫妖炎炎全文免费在线阅读

热门文章

  1. shell中遍历目录
  2. 关于cisco与中兴三层设备ospf互连
  3. centOS下为PHP安装Xdebug
  4. 实验室启动postgresql 8.4备忘
  5. View4.5测试参考文档7--View Administrator安装、配置、创建桌面池
  6. 密码统计分析工具pipal
  7. Xamarin ios 教程 Xamarin跨平台开发 C#苹果应用开发
  8. oracle列,oracle列合并
  9. linux配置caffe环境,最全caffe安装踩坑记录(Anaconda,nvidia-docker,linux编译)
  10. sqlserver去掉密码强度验证_安装sql2008数据库引擎配置时,提示sa密码强度不满足要求怎么办?...