Oracle 查詢資料庫長事物相關資訊

2021-10-23 09:18:35 字數 2393 閱讀 7429

查詢長事物下的時間、以及占用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...