首先 库位分析库 ORACLE 10G R 2 01
其次 开发了两个过程暂时称为属性过程和交易过程。 从同一个大表获取相关的数据 然后插入不同的表。应该说该两个过程不锁相关对象!
其二 这两个过程测试中都跑的好好的。
后来用TOAD 把过程的运行日志表
ALTER TABLE BA.T_BASE_SP_RUNLOG CACHE;
ALTER TABLE BA.T_BASE_SP_RUNLOG STORAGE ( BUFFER_POOL KEEP );
没多久 其中从EM看到 已经有个过程在运行中 它是属性过程。再启动交易过程 从EM上发现 属性过程既然阻塞了交易过程。
交易过程等待事件 LIBCACHE LOCK AND library cache pin
属性过程 则是DB FILE 顺序读!
这就很纳闷了,它们虽然同时访问流水表,只是SELECT而已,并不能发生冲突啊!
下面语句看被锁定的对象
select xidusn, object_id, session_id, locked_mode from v$locked_object;
属性过程是151会话 在做 update b set time=(select min(addtime) from user_pay_bak where f_username=:B )
只是锁定了B表而已
select * from v$session_wait where sid=64 交易过程 library cache LOCK
交易过程 正在等待 对象 P_BASE_DAY_I_SPRUN_LOG
SELECT KGLNAOWN,KGLNAOBJ
FROM x$kglob
WHERE kglhdadr in( select P1RAW from v$session_wait where sid=64);
而它只是把过程运行的信息写进日志表的过程而已!
属性过程:
update b set time=(select min(addtime) from user_pay_bak where f_username=:B )
前面有四个事务
1 INSERT INTO.... COMMIT; P_BASE_DAY_I_SPRUN_LOG(.....);
2 FOR CUR() LOOP UPDATE B SET CUSTIME=() END LOOP; COMMIT; P_BASE_DAY_I_SPRUN_LOG(.....);
3 FOR CUR() LOOP UPDATE B SET EMAILTIME=() END LOOP; COMMIT; P_BASE_DAY_I_SPRUN_LOG(.....);
4 FOR CUR() LOOP UPDATE B SET MOBILETIME=() END LOOP; COMMIT; P_BASE_DAY_I_SPRUN_LOG(.....);
既然已经执行到第五步:update b set time=(select min(addtime) from user_pay_bak where f_username=:B )
那么前面四个应该都执行完了,同时也调用了写日志过程
难道写日志过程 被 属性过程给霸占不释放吗?
用TOAD 释放运行日志表 还是不行,再把交易表终止,再运行 也不行。
最后终止属性过程,然后再运行就OK 了
难道表被CACHE 。。。。。。
分享到:
相关推荐
library cache lock等待事件分析处理
与此同时还有另一个会话,我们姑且称之为会话2(session 2),这个会话2正在执行会话1所修改的package中的Procedure或者Function,会话1就会hang住,这时,你查询会话1的等待事件就是'Library cache lock'。...
Oracle利用Library cache lock和Library cache pin来实现并发控制,Library cache lock是在handle上获取的,而Library cache pin则是在data heap上获取。访问对象时,首先必须获取handle上的lock,然后将访问的数据...
针对oracle性能问题中的library cache pin lock,给出解决方案。
library cache pin 事件是用来管理library cache的并发访问的, pin一个object会引起相应的heap被载入内存中,如果客户端需要修改或检测这个object它就必须在锁住后取得一个pin.library cache pin的等待时间为3秒钟,...
造成数据库性能下降或挂起的原因很多,”library cache pin”等待是其中之一.当数据库性能严重下降或挂起时,我们通过查询v$session_wait,发现大量的”library cache pin”等待,查询的SQL语句如下
等待事件row cache lock,latch row cache objects处理过程
详解library cache 自己手工整理 有latch pin cursor leap 等的论述
关于oracle share pool 中library cache的详解
Library Cache Internals
你也在为LatchFree、Librarycache争用那些事头疼吗,快来看看本文作者是怎么解决的。
确定系统慢的原因: select * from v$session_wait where event != 'client message' and event not like '%NET%' and wait_time = 0 and sid > 5;
An Android library which can be used for implementing PIN lock mechanism in Android applications. Usage First, add PinLock dependency to your build.gradle. PinLock is available in both Maven and ...
The C++ Standard Library: A Tutorial and Reference, Second Edition, describes this library as now incorporated into the new ANSI/ISO C++ language standard (C++11). The book provides comprehensive ...
案例一:Library cache lock等待 问题背景: 严重的Library cache lock等待,导致SQL执行的很慢 问题分析: Library cache lock等待常见场景: DDL、统计信息搜集 Namespace→1:table/view/sequence/synonym/ 错误...
The C++ standard library provides a set of common classes and interfaces that greatly extend the core C++ language. The library, however, is not self-explanatory. To make full use of its components - ...
The C++ Standard Library - A Tutorial and Reference not only provides comprehensive documentation of each library component, it also offers clearly written explanations of complex concepts, describes ...
轻量级 Swift Cache Library.zip,swift缓存库