oracle查大事务语句,查询Oracle 中死事务的语句
查詢Oracle 中死事務的語句
SQL> SELECT KTUXEUSN, KTUXESLT, KTUXESQN, /* Transaction ID */
2? KTUXESTA Status,? ? KTUXECFL Flags ,KTUXESIZ
3? FROM x$ktuxe
4? WHERE ktuxesta!='INACTIVE';
KTUXEUSN? KTUXESLT? KTUXESQN STATUS? ? ? ? ? FLAGS? ? ? ? ? ? ? ? ? ? ? KTUXESIZ
---------- ---------- ---------- ---------------- ------------------------ ----------
13? ? ? ? ? 5? ? ? 47447 ACTIVE? ? ? ? ? DEAD? ? ? ? ? ? ? ? ? ? ? ? 2819919
39? ? ? ? ? 0? ? ? ? 502 ACTIVE? ? ? ? ? NONE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
43? ? ? ? 45? ? ? ? 480 ACTIVE? ? ? ? ? NONE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0
SQL> /
KTUXEUSN? KTUXESLT? KTUXESQN STATUS? ? ? ? ? FLAGS? ? ? ? ? ? ? ? ? ? ? KTUXESIZ
---------- ---------- ---------- ---------------- ------------------------ ----------
13? ? ? ? ? 5? ? ? 47447 ACTIVE? ? ? ? ? DEAD? ? ? ? ? ? ? ? ? ? ? ? 2819919
39? ? ? ? ? 0? ? ? ? 502 ACTIVE? ? ? ? ? NONE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
43? ? ? ? 45? ? ? ? 480 ACTIVE? ? ? ? ? NONE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0
查詢v$px_session和v$fast_start_servers,顯示很多并行進程在rollback,根據以往的工程經驗:
于是改為
SQL>alter system set fast_start_parallel_rollback=false scope=both;
之后,再次運行
SQL> SELECT KTUXEUSN, KTUXESLT, KTUXESQN,/* Transaction ID */
2? KTUXESTA Status,? ? KTUXECFL Flags ,KTUXESIZ
3? FROM x$ktuxe
4? WHERE ktuxesta!='INACTIVE';
KTUXEUSN? KTUXESLT? KTUXESQN STATUS? ? ? ? ? FLAGS? ? ? ? ? ? ? ? ? ? ? KTUXESIZ
---------- ---------- -------------------------- ------------------------ ----------
13? ? ? ? ? 5? ? ? 47447 ACTIVE? ? ? ? ? DEAD? ? ? ? ? ? ? ? ? ? ? ? 2033516
35? ? ? ? 29? ? ? ? 502 ACTIVE? ? ? ? ? NONE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
SQL> /
KTUXEUSN? KTUXESLT? KTUXESQN STATUS? ? ? ? ? FLAGS? ? ? ? ? ? ? ? ? ? ? KTUXESIZ
---------- ---------- -------------------------- ------------------------ ----------
13? ? ? ? ? 5? ? ? 47447 ACTIVE? ? ? ? ? DEAD? ? ? ? ? ? ? ? ? ? ? ? 2033433
35? ? ? ? 29? ? ? ? 502 ACTIVE? ? ? ? ? NONE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
使用如下腳本查看回滾完畢的預計時間(以天為單位):
SQL> set serveroutput on
SQL> declare
2? l_start number;
3? l_end number;
4? begin
5? select ktuxesiz into l_startfrom x$ktuxe where KTUXEUSN=13 and KTUXESLT=5;
6? dbms_lock.sleep(60);
7? select ktuxesiz into l_endfrom x$ktuxe where KTUXEUSN=13 and KTUXESLT=5;
8? dbms_output.put_line('time estDay:'|| round(l_end/(l_start -l_end)/60/24,2));
9? end;
10? /
time est Day:.21
24*0.21=5.04小時。即:預計5.04小時后回滾完畢。
另外注意:在其他環境使用時,請注意替換KTUXEUSN=13和KTUXESLT=5
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
總結
以上是生活随笔為你收集整理的oracle查大事务语句,查询Oracle 中死事务的语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: joomla 3.4.5 php版本,J
- 下一篇: oracle存储过程循环单列,Oracl