查看Oracle中存储过程长时间被卡住的原因
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),此会话的等待事件:
- select * from v$session where sid=***;
event字段即为等待事件。查询后我们发现这个会话等待事件为SQL*Net message from dblink;在查看会话的logon_time为两天前。这个时间远超过我们估计时间。
5、根据会话id查看此会话正在执行的sql语句
- select sql_text from v$sqlarea where address= (select sql_address from v$session where sid=***);
查询后发现正在执行的sql语句为通过dblink到远程数据库上A表查询数据,插入到B表。
6、连接远程数据库,查询当前被锁的对象
- select * from v$locked_object lo ,
- all_objects ao where lo.OBJECT_ID= ao.object_id ;
查看后发现远程数据库中并没有涉及到A、B表被锁
7、查看远程数据的会话:
- 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中存储过程长时间被卡住的原因相关推荐
- oracle查询过程中卡住,查看Oracle中存储过程长时间被卡住的原因
1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0 ...
- oracle 存储过程 状态,查看ORACLE中正在运行的存储过程 | 学步园
1.如何查看ORACLE中正在运行的存储过程 select owner,name from v$db_object_cache where type like '%PROCE%' and locks ...
- pythontime模块计算时长_用python的time模块查看你出生多长时间了
time模块的应用查看出生了多长时间 查看银行卡解封时间 1.查看出生了多长时间 这里我们使用time模块计算我们出生了多长时间 import time # 导入时间模块 b = input('你的出 ...
- oracle中存储过程和函数有什么区别,Oracle中存储过程和函数的区别
Oracle中存储过程和函数的区别 存储过程和函数: www.2cto.com 例子: [sql] //创建过程 create or replace procedure add_emailinfo( ...
- Oracle命令--如何查看oracle中创建的所有目录
如何查看oracle中创建的所有目录 SQL> conn / as sysdba 已连接. SQL> create directory sscFjSsc as 'D:\his\data\s ...
- oracle如何给表上锁,【ORACLE】Oracle中发生表加锁、死锁的原因,查看,与解决方法...
一.表加锁.死锁出现的现象 1.对数据库操作update,insert,delete时候,数据库无法更新,操作等待时长,操作结果不发生改变 2.在程序中,底层(数据访问层)操作时候,不成功,数据库连接 ...
- Oracle中日期和时间字段的日常使用
本文目的是记录日常开发中用到的知识点,不涉及具体业务,只关注技术,方便自己和后来者. 目前正在做一个工厂项目,说到工厂项目肯定会有关于产线和人员的排班时长计算,一般一条排班信息包括开始时间.结束时间以 ...
- oracle中用于返回日期和时间,oracle中日期和时间函数的使用
日期和时间函数的使用 1, SYSDATE:此函数用于返回系统当前日期 2, ADD_MONTHS(日期,n):返回指定日期之前或之后的n个月所对应的日期(n为 ...
- sqlserver中查找长时间未提交事务
无论是有意无意,如果事务在数据库中保持打开,则它会阻塞其他进程对修改后的数据进行操作.同样,对事务日志进行备份也只会截断不活动事务的那部分事务日志,所以打开的事务会导致日志变多(甚至达到物理限制),直 ...
最新文章
- git 常用命令 方法大全
- leetcode 10 Regular Expression Matching
- 截取字符串slice(),substring() ,substr()。
- android 适合mvp模式,Android中的MVP:如何使Presenter层系统化?
- java执行linux命令
- [洛谷P1822]魔法指纹
- 第九章 隐马尔科夫模型HMM
- 【华为云技术分享】解密如何使用昇腾AI计算解决方案构建业务引擎
- HTTPS科普扫盲帖【转】
- STP根交换机,指定端口,根端口,阻塞端口
- MySQL配置文件my.cnf参数优化和中文详解
- 面试题:Java多线程
- Ansys-结构动力学分析-有预应力琴弦横向振动模态分析学习收获
- 数据结构导论-1.概述
- 鼠标右键菜单打开慢的解决方式
- 什么是power bi
- android pie mi 3 tab,前沿科技:三星Galaxy Tab S3和Tab A(2017)正在获得Android 9.0 Pie更新
- 能力素质有所欠缺_除了岗位培训,能力的培训也十分关键
- 小米平板2 win10 MIUI互刷教程
- 情若人间诗词主角夏当午萧楚河by丫妖炎炎全文免费在线阅读
热门文章
- shell中遍历目录
- 关于cisco与中兴三层设备ospf互连
- centOS下为PHP安装Xdebug
- 实验室启动postgresql 8.4备忘
- View4.5测试参考文档7--View Administrator安装、配置、创建桌面池
- 密码统计分析工具pipal
- Xamarin ios 教程 Xamarin跨平台开发 C#苹果应用开发
- oracle列,oracle列合并
- linux配置caffe环境,最全caffe安装踩坑记录(Anaconda,nvidia-docker,linux编译)
- sqlserver去掉密码强度验证_安装sql2008数据库引擎配置时,提示sa密码强度不满足要求怎么办?...