查詢長事物下的時間、以及占用undo,根據時間判斷當前的sid與serial#
set linesize 200
set pagesize 5000
col transaction_duration format a40
col program format a15
col username format a15
with transaction_details as
( select inst_id
,start_date
, ses_addr
, sysdate - start_date as diff
,xidusn
from **$transaction
order by start_date)
select
t.inst_id
,s.username
, to_char(trunc(t.diff))
|| ' days, '
|| to_char(trunc(mod(t.diff * 24,24)))
|| ' hours, '
|| to_char(trunc(mod(t.diff * 24 * 60,24)))
|| ' minutes, '
|| to_char(trunc(mod(t.diff * 24 * 60 * 60,60)))
|| ' seconds' as transaction_duration
, s.program
, s.terminal
, s.status
, s.sid
, s.serial#
,t.start_date
, r.rssize/1024/1024
from **$session s
, transaction_details t
,**$rollstat r
where s.inst_id = t.inst_id
and s.saddr = t.ses_addr
and t.xidusn = r.usn
order by t.diff desc
/
在資料庫中查詢長事物下的時間、以及占用undo、以及當前的sql,根據sid與serial#,判斷當前沒有sql,同時對業務的影響做出判斷。
set linesize 200
set pagesize 5000
col transaction_duration format a40
col program format a15
col username format a15
with transaction_details as
( select inst_id
,start_date
, ses_addr
, sysdate - start_date as diff
,xidusn
from **$transaction
)select s.username
, to_char(trunc(t.diff))
|| ' days, '
|| to_char(trunc(mod(t.diff * 24,24)))
|| ' hours, '
|| to_char(trunc(mod(t.diff * 24 * 60,24)))
|| ' minutes, '
|| to_char(trunc(mod(t.diff * 24 * 60 * 60,60)))
|| ' seconds' as transaction_duration
, s.program
, s.terminal
, s.status
, s.sid
, s.serial#
,t.start_date
, r.rssize/1024/1024
,sq.sql_text
from **$session s
, transaction_details t
,**$rollstat r
,**$sqltext sq
where s.inst_id = t.inst_id
and s.saddr = t.ses_addr
and t.xidusn = r.usn
and s.sql_address=sq.address
order by t.diff desc
/
如果沒有,即對會話進行kill
alter system kill session '999,40840' immediate;
Oracle資料庫事物隔離級別
事務隔離級別 乙個事務對資料庫的修改與並行的另乙個事務的隔離程度。兩個併發事務同時訪問資料庫表相同的行時,可能存在以下三個問題 1 幻想讀 事務t1讀取一條指定where條件的語句,返回結果集。此時事務t2插入一行新記錄,恰好滿足t1的where條件。然後t1使用相同的條件再次查詢,結果集中可以看到...
資料庫事物
事務 sqlite預設一條語句就是乙個事務,有多少條資料就有多少次磁碟操作,比如10條計入就要10次讀寫磁碟操作。解決方法 新增事務處理,把10條操作看做乙個事務。1.sqlitedatabase 方法 public void begintransaction 開始事務 注意 事務可以巢狀,通過se...
資料庫事物
1.事物處理順序事物的sql語句 用事務 事務開始和事物提交 sql語句包裹主要執行的sql語句 事物處理可以保證一組相關操作要麼都成功,要麼都失敗.1.把事務開啟 2.寫你要執行語句 3.把事務進行提交 4.把事務回滾 rollback 遇到斷電 事務沒有提交 那麼事務會自動回滾 例如 begin...