Oracle 查询阻塞
2015-08-27 10:14
369 查看
-- Start
如果你的 SQL 或系统突然 hang 了,很有可能是因为一个 session 阻塞了另一个 session,如何查询是否发生阻塞了呢?看看下面的 SQL吧。
如果上面的语句返回了结果,表明发生了阻塞,这个时候你可以把使用 blocksession 的程序停掉。如果还是不能解决问题,那只能让 DBA 帮你把 blocksession kill 掉,如何 kill 呢? 试一试下面的语句吧。
如果没有发生阻塞,系统就是很慢,该怎么办呢?在"Oracle 查询耗时 SQL"找答案吧。
--更多参见:Oracle SQL 优化精萃
-- 声明:转载请注明出处
-- Last edited on 2015-08-28
-- Created by ShangBo on 2015-08-07
-- End
如果你的 SQL 或系统突然 hang 了,很有可能是因为一个 session 阻塞了另一个 session,如何查询是否发生阻塞了呢?看看下面的 SQL吧。
select blocksession.sid as block_session_sid, blocksession.serial# as block_session_serial#, blocksession.username as block_session_username, blocksession.osuser as block_session_osuser, blocksession.machine as block_session_machine, blocksession.status as block_session_status, blockobject.object_name as blocked_table, waitsession.sid as wait_session_sid, waitsession.serial# as wait_session_serial#, waitsession.username as wait_session_username, waitsession.osuser as wait_session_osuser, waitsession.machine as wait_session_machine, waitsession.status as wait_session_status from v$lock blocklock, v$lock waitlock, v$session blocksession, v$session waitsession, v$locked_object lockedobject, dba_objects blockobject where blocklock.block = 1 and blocklock.sid != waitlock.sid and blocklock.id1 = waitlock.id1 and blocklock.id2 = waitlock.id2 and blocklock.sid = blocksession.sid and waitlock.sid = waitsession.sid and lockedobject.session_id = blocksession.sid and lockedobject.object_id = blockobject.object_id;
如果上面的语句返回了结果,表明发生了阻塞,这个时候你可以把使用 blocksession 的程序停掉。如果还是不能解决问题,那只能让 DBA 帮你把 blocksession kill 掉,如何 kill 呢? 试一试下面的语句吧。
ALTER SYSTEM KILL SESSION '<block_session_sid>,<block_session_serial#>'; ALTER SYSTEM KILL SESSION '113,55609';
如果没有发生阻塞,系统就是很慢,该怎么办呢?在"Oracle 查询耗时 SQL"找答案吧。
--更多参见:Oracle SQL 优化精萃
-- 声明:转载请注明出处
-- Last edited on 2015-08-28
-- Created by ShangBo on 2015-08-07
-- End
相关文章推荐
- 使用PL/SQL连接oracle数据库
- oracle函数trunc的使用
- ORACLE日期时间函数大全
- itext生成PDF文件报错“Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.”
- 受到Oracle database 和RAC database 支持的 虚拟化技术和分区技术(partitioning Technologies )
- 关于Oracle 产品(database,中间件等等)在vmware虚拟化环境中的支持情况
- Oracle索引,B树索引、哈希索引等
- java连接Oracle数据库的示例代码
- Oracle exp,imp
- oracle group by的扩展
- Oracle Exp/Imp 和 Expdp/Impdp
- Oracle Workflow Demo (1) - 一个简单的请假申请工作流
- Oracle中的PLsql的符号解释大全
- JDBC连接Oracle RAC
- Oracle RAC 客户端连接负载均衡(Load Balance)
- oracle ORA-12560: TNS: 协议适配器错误的问题
- linux操作oracle数据库
- oracle存储过程常用的技巧(详)
- pl/sql链接远程oracle
- 詩經甲骨文解讀:羔羊(引入麥田圈兒信息)