奇了怪了,导师出了个题,题目都读不懂 当ANN用户去执行P过程时[P过程没执行完],EBN用户去编译B过程,会出现什么问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ebn用户去编译p过程吧?编译不了,那过程被锁住 ANN执行P过程,EBN用户去编译B过程楼主打错了?P和B??如果没有打错,什么问题都不会出现。打错了的话,不同用户下的过程是同一个?还是两个用户下的同名过程?楼主讲的太简单了 当ANN用户去执行P过程时[P过程没执行完],EBN用户去编译P过程,会出现什么问题不同用户下的过程是同一个不好意思 我做得来了出现问题:library cache pin 事件等待解决办法:方法1.等待Ann执行完,Ben就可以编译了。 方法2.kill会话,重新串行执行一遍模拟:Sys假设是用户A和C:1)创建存储过程P,模拟:以sys用户登入:SQL> conn / as sysdba已连接。SQL> create or replace procedure P 2 is 3 begin 4 dbms_output.put_line('helloworld'); 5 dbms_lock.sleep(300); 6 end; 7 /提交完成。SQL> exec P打开另一个窗口,以sys用户登入,编译P过程:SQL> conn / as sysdba已连接。SQL> alter procedure sys.P compile;查看v$session_wait视图的等待事件library cache pinselect sid,seq#,event,p1,p1raw,p2,p2raw,p3,p3raw,statefrom v$session_wait where event like 'library%';利用查询出的PARAW,查询X$KGLOBselect ADDR,KGLHDADR,KGLHDPAR,KGLNAOWN,KGLNAOBJ,KGLNAHSH,KGLHDOBJfrom X$KGLOBwhere KGLHDADR ='1DAA6808'查出sid,随时可以kill进程select a.sid,a.username,a.program,b.addr,b.KGLPNADR,b.KGLPNUSE,b.KGLPNSES,b.KGLPNHDL,b.kGLPNLCK, b.KGLPNMOD, b.KGLPNREQfrom v$session a,x$kglpn bwhere a.saddr=b.kglpnuse and b.kglpnhdl = '1DAA6808' and b.KGLPNMOD<>03)300秒过去了 后SQL> exec PPL/SQL 过程已成功完成。SQL> exec sys.PPL/SQL 过程已成功完成。 oracle中新建了一个用户,不能在sql developer中使用select语句 触发器,字段值做表名 请问ORACLE10G能装在ISCSI协议映射的磁盘上吗? 如何得到所有下级id啊 我linux4.0下安装了oracle10j 但在使用startup是出现问题了 用什么方法可以提高Not in的效率? oracle精简客户端,3.69M! 大家好,问一个问题,触发器里能不能有ddl 关于ORACLE解析日志方面的问题 ORCL问题,求帮助,急用,谢谢 急急急!!!今天写不出答案就不用回家了 oracle中delete使用索引
ANN执行P过程,EBN用户去编译B过程楼主打错了?P和B??
如果没有打错,什么问题都不会出现。打错了的话,不同用户下的过程是同一个?还是两个用户下的同名过程?
楼主讲的太简单了
不同用户下的过程是同一个不好意思
出现问题:library cache pin 事件等待
解决办法:方法1.等待Ann执行完,Ben就可以编译了。
方法2.kill会话,重新串行执行一遍模拟:
Sys假设是用户A和C:
1)创建存储过程P,模拟:
以sys用户登入:
SQL> conn / as sysdba
已连接。
SQL> create or replace procedure P
2 is
3 begin
4 dbms_output.put_line('helloworld');
5 dbms_lock.sleep(300);
6 end;
7 /
提交完成。SQL> exec P打开另一个窗口,以sys用户登入,编译P过程:
SQL> conn / as sysdba
已连接。
SQL> alter procedure sys.P compile;查看v$session_wait视图的等待事件library cache pinselect sid,seq#,event,p1,p1raw,p2,p2raw,p3,p3raw,state
from v$session_wait where event like 'library%';利用查询出的PARAW,查询X$KGLOB
select ADDR,KGLHDADR,KGLHDPAR,KGLNAOWN,KGLNAOBJ,KGLNAHSH,KGLHDOBJ
from X$KGLOB
where KGLHDADR ='1DAA6808'查出sid,随时可以kill进程
select a.sid,a.username,a.program,b.addr,b.KGLPNADR,b.KGLPNUSE,b.KGLPNSES,b.KGLPNHDL,
b.kGLPNLCK, b.KGLPNMOD, b.KGLPNREQ
from v$session a,x$kglpn b
where a.saddr=b.kglpnuse and b.kglpnhdl = '1DAA6808' and b.KGLPNMOD<>03)300秒过去了 后
SQL> exec PPL/SQL 过程已成功完成。
SQL> exec sys.PPL/SQL 过程已成功完成。