久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle出現ORA

207次閱讀
沒有評論

共計 2524 個字符,預計需要花費 7 分鐘才能閱讀完成。

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

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

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

/

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

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計2524字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 璧山县| 吴桥县| 云霄县| 湘潭县| 哈尔滨市| 兰西县| 天台县| 连云港市| 栾川县| 穆棱市| 许昌市| 杭锦后旗| 石泉县| 绥滨县| 天等县| 临西县| 上犹县| 唐海县| 绩溪县| 屏东市| 灯塔市| 遂溪县| 商洛市| 门源| 弥勒县| 南投县| 哈密市| 涞水县| 三明市| 岳阳市| 宜章县| 那坡县| 洪湖市| 临沂市| 壶关县| 定州市| 南川市| 绍兴市| 拜城县| 安义县| 海晏县|