ORA 00031 標記要刪去的會話

2021-08-30 20:58:33 字數 788 閱讀 2458

今天做資料清洗,在做資料操作的時候突然發現了乙個小問題需要立即停止在執行的儲存過程。於是狂點取消,結果是停下來了,但是發現表被鎖起來了,而且是tm鎖(表級)。鬱悶!!一kill就給我來個ora-00031: 標記要刪去的會話。鬱悶!到網上狂搜解決辦法,發現出現這問題的同僚還蠻多。呵~在這寫下解決辦法:

第一:確認有那些鎖,並的出相應的sid和serial#。以便kill

select /*+ rule */

s.username,

decode(l.type, 'tm', 'table lock', 'tx', 'row lock', null) lock_level,

o.owner,

o.object_name,

o.object_type,

s.sid,

s.serial#,

s.terminal,

s.machine,

s.program,

s.osuser

from v$session s, v$lock l, dba_objects o

where l.sid = s.sid

and l.id1 = o.object_id(+)

and s.username is not null

第二:使用kill語句

alter system kill session 'sid,serial#'

第二步的過程時間會根據資料量的大小而定,我開始以為這個語句沒用,而且用一次給我拋一次ora-00031: 標記要刪去的會話的異常。我的800w條資料大概等了十幾份鐘吧。

Oracle學習筆記 0003

1 ora 32004解決方法 我在修改引數 log archive start true後啟動資料庫,報告錯誤ora 32004,我以為是我改錯了,又改回了false,後來重啟還是報這個錯,檢視了官方文件之後才知道原來這個引數在10g已經廢除了,我等於是加了一條沒有的引數在spfile裡面,後來我...

0003 使用者登入和登出

使用者登入流程 使用者輸入 頁面校驗資料後提交表單 判斷是否已經登入 判斷輸入是否合法 查詢資料庫是否有對應使用者 返回登入結果 先對頁面表單提交位址和方式進行調整,輸入項新增required必填項屬性。因為要使用actionerror,在useraction繼承actionsupport類新增lo...

0003 簡單的a b問題

寫在後面 0003 簡單的a b問題 難度級別 a 執行時間限制 1000ms 執行空間限制 256000kb 長度限制 2000000b 試題描述 輸入兩個不超過10000的正整數,輸出這兩個數的和。輸入只有一行包括兩個正整數,由乙個空格隔開。輸出只有乙個數表示輸入的兩個數的和。輸入示例 23 4...