oracle儲存過程被鎖,解決方法。
1.檢視是哪乙個儲存過程被鎖住
2.檢視是哪乙個sid,通過sid可以知道是哪乙個session查v$db_object_cache檢視
select
* from v$db_object_cache
where owner=
'過程的所屬使用者'
and locks!=
'0'
查v$access檢視
3.查出sid和serial#select * from v$access where owner='過程的所屬使用者'
and name='剛才查到的過程名'
4.殺程序查 v$session 檢視
select sid,serial#,paddr from v$session
where sid='剛才查到的sid';
查v$process檢視
select sid,serial#,paddr from v$session
where sid='剛才查到的sid';
查v$process檢視
select spid from v$process where addr='剛才查到的paddr';
4.1先殺oracle程序
alter system kill session 『查出的sid,查出的serial#』;
4.2再殺作業系統程序
如果是unix
kill -9 剛查出的spid
如果是windows
orakill 剛查出的sid 剛查出的spid
oracle表被鎖,解決方法。
誤刪資料庫中的表如何找回select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s
where l.object_id = o.object_id and l.session_id=s.sid;
解鎖命令:
alter system kill session
'1160,34425';
--(其中165 ,14117 分別是上面查詢出的sid,serial#)
檢視表某個時刻的資料select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;
flashback table "bin$mhdy0qa/tbjguxunawrbna==$0" to before drop rename to d_indexcoderela_0505;
select * from dm.f_channelkpi as
oftimestamp to_timestamp('20160430 10:00:00','yyyymmdd hh24:mi:ss');
ORACLE 儲存過程被鎖 解鎖方法
一些oracle中的程序被殺掉後,狀態被置為 killed 但是鎖定的資源很長時間不釋放,有時實在沒辦法,只好重啟 資料庫。現在提供一種方法解決這種問題,那就是在oracle中殺不掉的,在os一級再殺。1.下面的語句用來查詢哪些物件被鎖 select object name,machine,s.si...
儲存過程解鎖
1.檢視是哪乙個過程被鎖住 查v db object cache檢視 select from v db object cache where owner 過程的所屬使用者 and locks 0 2.檢視是哪乙個sid,通過sid可以知道是哪乙個session 查v access檢視 select ...
oracle鎖表與解鎖表方法
以下幾個為主要相關表 select from v lock select from v sqlarea select from v session select from v process select from v locked object select from all objects se...