Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

29

积分

0

好友

5

主题
1#
发表于 2013-8-15 15:12:42 | 查看: 5092| 回复: 3
本帖最后由 overmars 于 2013-8-15 15:32 编辑

2.GIF

上图是通过dba_hist_active_sess_history查看得到,想问下,为啥P3的值如此大? 通过P3能通到Lock mode吗?
图片看不清楚,这些写下吧:
event=library cache lock
Event_id=916468430
Seq#=59
P1TEXT=handle address
P1=5.04403183962014E17
P2TEXT=lock address
P2=5.04403177064603E17
P3TEXT=100*mode+namespace
P3=242867515752450    ==我觉得这个P3异常,一般是3位数的
Wait_class=Concurrency
2#
发表于 2013-8-16 11:11:42
create or replace procedure vv
as
begin
execute immediate 'alter procedure vv compile';
end;


create or replace procedure zz
as
begin
execute immediate 'alter procedure zz compile';
end;


exec zz;

exec vv;

     0: waiting for 'library cache pin'
        handle address=0x7ff536a0e80, pin address=0x7ff59750338, 100*mode+namespace=0x1c8a800010003
               
               
               
             0: waiting for 'library cache pin'
        handle address=0x7ff5b61e548, pin address=0x7ff53a85118, 100*mode+namespace=0x1c8a900010003
               
                0x1c8a9 =>116905
                0x1c8a8 => 116904
               
  1* select object_id,object_name from dba_objects  where object_name in ('ZZ','VV')
SQL> /

OBJECT_ID OBJECT_NAME
---------- --------------------
    116905 ZZ
    116904 VV
       
       
             0: waiting for 'library cache pin'
        handle address=0x7ff536a0e80, pin address=0x7ff5beb9890, 100*mode+namespace=0x1c8a800010003         ==>RequestMode=X
               
                     0: waiting for 'library cache pin'
        handle address=0x7ff536a0e80, pin address=0x7ff59a0e278, 100*mode+namespace=0x1c8a800010002        ==>RequestMode=S
               
               
               

回复 只看该作者 道具 举报

3#
发表于 2013-8-16 11:16:29
library cache lock 和 library cache pin  针对 procedure 、function 等PLSQL 对象时(注:10.2.0.3开始cursor默认 使用mutex pin)
看起来p3的公式 其实变了
0x1c8a900010003

==>  (object_id << 32 ) + (namespace << 16) +( mode)

1c8a9  <<32=>11100100010101001 00000000 00000000 00000000 00000000 = 502103151738880

namespace << 16 =>  1 00000000 00000000 = 65536

mode = excl = 3

502103151738880 + 65536 + 3= 0x1C8A900010003

回复 只看该作者 道具 举报

4#
发表于 2013-8-16 17:26:01
高。实在是高!

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2025-1-1 10:51 , Processed in 0.051969 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569