91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

參數fast_start_parallel_rollback調整oracle回滾的速度

發布時間:2020-08-16 00:52:50 來源:ITPUB博客 閱讀:276 作者:不一樣的天空w 欄目:關系型數據庫
https://blog.csdn.net/hijk139/article/details/21543127

回滾的速度快慢通過參數fast_start_parallel_rollback來實現,此參數可以動態調整

參數fast_start_parallel_rollback決定了回滾啟動的并行次數,在繁忙的系統或者IO性能較差的系統,如果出現大量回滾操作,會顯著影響系統系統,可以通過調整此參數來降低影響。官方文檔的定義如下:

FAST_START_PARALLEL_ROLLBACK specifies the degree of parallelism used when recovering terminated transactions. Terminated transactions are transactions that are active before a system failure. If a system fails when there are uncommitted parallel DML or DDL transactions, then you can speed up transaction recovery during startup by using this parameter.  
 
Values:  
    FALSE :  Parallel rollback is disabled  
 
    LOW   :  Limits the maximum degree of parallelism to 2 * CPU_COUNT  
 
    HIGH  :  Limits the maximum degree of parallelism to 4 * CPU_COUNT  
 
If you change the value of this parameter, then transaction recovery will be stopped and restarted with the new implied degree of parallelism.  


回滾過程中,回滾的進度可以通過視圖V$FAST_START_TRANSACTIONS來確定

SQL> select usn, state, undoblocksdone, undoblockstotal, CPUTIME, pid,xid, rcvservers from v$fast_start_transactions;

       USN STATE            UNDOBLOCKSDONE UNDOBLOCKSTOTAL    CPUTIME        PID XID              RCVSERVERS
---------- ---------------- -------------- --------------- ---------- ---------- ---------------- ----------
       454 RECOVERED                110143          110143        210            01C600210027E0D9          1
       468 RECOVERED                   430             430         17            01D40000001F3A36        128
       
USN:事務對應的undo段
STATE:事務的狀態,可選的值為(BE RECOVERED, RECOVERED, or RECOVERING)       
UNDOBLOCKSDONE:事物中已經完成的undo塊
UNDOBLOCKSTOTAL:總的需要recovery的undo數據塊
CPUTIME:已經回滾的時間,單位是秒
RCVSERVERS:回滾的并行進程數


--補充,查詢回滾時間更好的腳本  
SQL> select undoblockstotal "Total",
       undoblocksdone "Done",
       undoblockstotal - undoblocksdone "ToDo",
       decode(cputime,
              0,
              'unknown',
              to_char(sysdate + (((undoblockstotal - undoblocksdone) /
                      (undoblocksdone / cputime)) / 86400),
                      'yyyy-mm-dd hh34:mi:ss')) "Estimated time to complete",to_char(sysdate, 'yyyy-mm-dd hh34:mi:ss')
  from v$fast_start_transactions;
      
     Total  MB       Done       ToDo Estimated time to complete             TO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MI:SS'  
    ---------- ---------- ---------- -------------------------------------- --------------------------------------  
        36,767      36767          0 2014-03-19 16:59:19                    2014-03-19 16:59:19  
         7,209       7209          0 2014-03-19 16:59:19                    2014-03-19 16:59:19  
         3,428       3428          0 2014-03-19 16:59:19                    2014-03-19 16:59:19  
        34,346       1604      32742 2014-03-19 17:25:31                    2014-03-19 16:59:19  


下面是一次大量wait for a undo record等待事件的處理過程

1,某用戶使用plsql執行某 insert操作異常,導致表空間不斷增長,于是手工kill該回滾停掉,kill后大量wait for a undo record,大約100多個


2,查詢v$fast_start_transactions視圖,由于fast_start_parallel_rollback參數設置為HIGH,且cpu為32個,因此并行進程為32×4=128個

SQL> select usn, state, undoblocksdone, undoblockstotal, CPUTIME, pid,xid, rcvservers from v$fast_start_transactions;  
 
       USN STATE            UNDOBLOCKSDONE UNDOBLOCKSTOTAL    CPUTIME        PID XID              RCVSERVERS  
---------- ---------------- -------------- --------------- ---------- ---------- ---------------- ----------  
       454 RECOVERING                26922          464160        103       3744 01C600210027E0D9        128  
       468 RECOVERED                   430             430         17            01D40000001F3A36        128         
         
SQL> SHOW parameter ROLLBACK  
 
NAME                                 TYPE                             VALUE  
------------------------------------ -------------------------------- ------------------------------  
fast_start_parallel_rollback         string                           HIGH  
 
SQL> show parameter cpu  
 
NAME                                 TYPE                             VALUE  
------------------------------------ -------------------------------- ------------------------------  
cpu_count                            integer                          32  


3,由于估計還有103/(26922/464160)=30分鐘才能執行完,為了降低對系統性能的影響,對相關表進行了truncate(業務表中的數據不再需要)

SQL> truncate table user1.JT_t1_20140318;

4,truncate時,短時間內出現了row cache lock異常等待,大約幾十秒之后,恢復正常,truncat操作能結束undo回滾操作嗎?

5,其實為了減少undo的影響,可以通過設置fast_start_parallel_rollback,可以在線修改,立即生效

alter system set fast_start_parallel_rollback= FALSE;

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

四子王旗| 樟树市| 宿州市| 偏关县| 山阳县| 白河县| 固镇县| 新乡县| 蒙阴县| 南乐县| 磐安县| 泽库县| 贞丰县| 博野县| 马山县| 门源| 伊宁县| 丹棱县| 龙井市| 西贡区| 阳新县| 蕉岭县| 莎车县| 历史| 乡宁县| 淮南市| 红桥区| 河西区| 西乌珠穆沁旗| 银川市| 镇远县| 武隆县| 西充县| 兴化市| 东乌珠穆沁旗| 虹口区| 疏勒县| 壤塘县| 连江县| 伊金霍洛旗| 景东|