日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Oracle 存储过程 无法编译 解决方法(转载)

發(fā)布時間:2023/11/27 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle 存储过程 无法编译 解决方法(转载) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

聲明:本文為轉(zhuǎn)載,如果有侵犯知識版本,請通知本人,本人將即刻停止侵權(quán)行為:

http://blog.csdn.net/tianlesoftware/article/details/7412555

Oracle存儲過程無法編譯,在PL/SQL中編譯,總是掛住了,這個原因可能是要編譯的對象被會話給鎖住了:

1、查看無效對象:

1 SELECT Object_Name, Object_Type, Status
2   FROM All_Objects
3  WHERE Status = 'INVALID'
4    AND Owner = 'SCOTT';

2、查看正在訪問無效對象的會話,這里我們需要使用v$access

? ? ? V$ACCESS?displaysinformation about locks that are currently imposed on library cache objects.The locks are imposed to ensure that they are not aged out of the library cachewhile they are required for SQL execution.

1 SELECT * FROM V$ACCESS WHERE OBJECT='CREATE_VIEW_P';

查詢出來的結(jié)果顯示是:會話ID為143的會話當前持有該對象。

3、查詢143號的會話的狀態(tài)

1 SELECT Sid, Serial#, Status, Process FROM V$session WHERE Sid = '143';

4、殺掉進程:

1 alter system kill session '143,397';

5、查詢進行的狀態(tài):

1 select sid,serial#,status,process from v$session where sid='958';

session的狀態(tài)在剛剛殺掉的時候為KILLED,但是被標記為killed 的進程由PMON 進程kill,但是這個也是有條件的:

PMON will notdelete the session object itself until the client connected to that sessionnotices that it has been killed.如果session 被標記為killed,并且長時間不能被清楚,MOS上給出的解決方法是在OS級別kill 進程。?

6、獲取session的spid(系統(tǒng)進程ID)

V$PROCESS中的常用列
ADDR:進程對象地址
PID:oracle進程ID
SPID:操作系統(tǒng)進程ID

V$PROCESS中的連接列
Column View Joined Column(s)?
ADDR V$SESSION PADDR

網(wǎng)址:http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2022.htm

1 SELECT Spid, Osuser, s.Program
2   FROM V$session s, V$process p
3  WHERE s.Paddr = p.Addr
4    AND s.Sid = 143;

查詢系統(tǒng)進行ID,使用系統(tǒng)級別的KILL命令:

可參考:

windows命令:

?To kill the session on the Windows operating system, first identify the session, then substitute the relevant?SID?and?SPID?values into the following command issued from the command line.

1  C:> orakill ORACLE_SID(數(shù)據(jù)庫實例名) spid(v$process表中獲取)

成功----

轉(zhuǎn)載于:https://www.cnblogs.com/caroline/archive/2012/05/19/2508965.html

總結(jié)

以上是生活随笔為你收集整理的Oracle 存储过程 无法编译 解决方法(转载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。