91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle出現ORA-00054錯誤怎么辦

發布時間:2021-10-26 15:45:09 來源:億速云 閱讀:911 作者:小新 欄目:建站服務器

這篇文章主要介紹了Oracle出現ORA-00054錯誤怎么辦,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在進行數據庫維護的過程中要刪除一個中間表,遇到如下錯誤:

sys@DW>drop table dwods.member_DELTA;

drop table dwods.member_DELTA

                 *

ERROR at line 1:

ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

發現表因為執行dml被鎖住,下面給出錯誤的處理思路和過程,具體情況而異:

1 查看被數據庫中被鎖的用戶信息:

sys@DW>select t2.username,t2.sid,t2.serial#,t2.logon_time 

  2  from v$locked_object t1,v$session t2 

  3  where t1.session_id=t2.sid order by t2.logon_time;

USERNAME                              SID    SERIAL# LOGON_TIME

------------------------------ ---------- ---------- -------------------

DWODS                                1520      42477 2011-11-17 18:00:40

DWODS                                1594       7385 2011-11-17 18:41:27

dwods 被鎖住,因為事務是18:41分發起的,所以查看一下sid 為1594的信息,

2 查詢出sql信息根據實際情況,進行操作

sys@DW>select sql_text from v$session a,v$sqltext_with_newlines b 

  2    where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value)=b.hash_value 

  3    and a.sid=&sid order by piece; 

Enter value for sid: 1594

old   3:   and a.sid=&sid order by piece

new   3:   and a.sid=1594 order by piece

SQL_TEXT

----------------------------------------------------------------

insert /*+ append +*/ into DWODS.MEMBER_delta (ACTION,

ADDRESS,

........

32 rows selected.

正是發起的那個語句,查看用戶的信息進行確認

sys@DW>@user_info 

Enter value for sid: 1594

old  12: where a.sid = &sid

new  12: where a.sid = 1594

USERNAME  SID   SERIAL# OS Process   Logon time         OSUSER  PROGRAM                 STATUS

--------- ----- ------- -----------------------------  -------- ----------------------- -----------

DWODS     1594   7385    3309      17/11/2011 18:41:27  etl     sqlplus@dw1 (TNS V1-V3)  ACTIVE

1 row selected.

3 選擇kill 掉進程 

這里知道此session 可以殺掉,所以殺掉此session

sys@DW>alter system  kill session '1594,7385'; 

System altered.

4 進行確認: 

在數據庫確認

sys@DW>@user_info

Enter value for sid: 1594

old  12: where a.sid = &sid

new  12: where a.sid = 1594

no rows selected

sys@DW>select t2.username,t2.sid,t2.serial#,t2.logon_time 

  2  from v$locked_object t1,v$session t2 

  3  where t1.session_id=t2.sid order by t2.logon_time;

USERNAME            SID SERIAL# LOGON_TIME

--------------- ------- ------- -------------------

DWODS              1520   42477 2011-11-17 18:00:40

DWODS              1520   42477 2011-11-17 18:00:40

2 rows selected.

在os層確認,進程已經被殺

oracle@dw1:/home/oracle>ps -ef | grep 3309

oracle   22565 18543  0 18:59 pts/5    00:00:00 grep 3309

再次執行刪除表的操作:

sys@DW>drop table dwods.member_DELTA;

Table dropped.

------附上:

user_info。sql 腳本的內容:

select

        a.username,

        a.sid,

        a.serial#,

        b.spid "OS Process",

        to_char(a.logon_time,'DD/MM/YYYY hh34:mi:ss') "Logon time",

        a.osuser,

        a.program,

        a.status

from v$session a, v$process b

where a.sid = &sid

and a.paddr = b.addr

/

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Oracle出現ORA-00054錯誤怎么辦”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛川县| 九寨沟县| 资阳市| 许昌市| 章丘市| 乐安县| 溧水县| 遂宁市| 东台市| 隆安县| 峨边| 山东省| 从江县| 林西县| 左贡县| 焉耆| 平邑县| 宁南县| 弥渡县| 武强县| 图们市| 嘉禾县| 德州市| 招远市| 桐城市| 新巴尔虎左旗| 高要市| 淄博市| 苏尼特左旗| 万安县| 扎鲁特旗| 迁西县| 彝良县| 文成县| 康乐县| 防城港市| 瑞昌市| 贺兰县| 磐安县| 乐东| 宁城县|