rman備份產生等待事件

kunlunzhiying發表於2017-06-24
最近資料庫升級後rman備份出現了很多等待事件
SQL> select * from v$version;

BANNER
------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

SQL> 
SQL> SELECT sid,event FROM v$session WHERE wait_class#<>6;

       SID EVENT
---------- ----------------------------------------------------------------
      1165 Backup Restore Throttle sleep
      1208 Backup Restore Throttle sleep
      1292 Backup Restore Throttle sleep
      1379 Backup Restore Throttle sleep
      1552 Backup Restore Throttle sleep
      2239 resmgr:cpu quantum
      2542 SQL*Net message to client


查詢alert日誌資訊
Tue Oct 23 22:00:00 2012
Setting Resource Manager plan SCHEDULER[0x256B668]:DEFAULT_MAINTENANCE_PLAN via scheduler window
Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter
Tue Oct 23 22:00:00 2012
Starting background process VKRM
Tue Oct 23 22:00:00 2012
VKRM started with pid=120, OS id=16419 
Tue Oct 23 22:00:02 2012
Begin automatic SQL Tuning Advisor run for special tuning task  "SYS_AUTO_SQL_TUNING_TASK"
Tue Oct 23 22:00:34 2012
Thread 1 advanced to log sequence 18849 (LGWR switch)
  Current log# 1 seq# 18849 mem# 0: /oradata/finance/datafile/redo01.log
  Current log# 1 seq# 18849 mem# 1: /oradata/finance/datafile/redo01_1.log
Tue Oct 23 22:00:38 2012
Archived Log entry 19993 added for thread 1 sequence 18848 ID 0x99d4983c dest 1:
Tue Oct 23 23:00:05 2012
End automatic SQL Tuning Advisor run for special tuning task  "SYS_AUTO_SQL_TUNING_TASK"
Tue Oct 23 23:30:10 2012
Thread 1 advanced to log sequence 18850 (LGWR switch)
  Current log# 4 seq# 18850 mem# 0: /oradata/finance/datafile/redo04.log
  Current log# 4 seq# 18850 mem# 1: /oradata/finance/datafile/redo04_4.log
Tue Oct 23 23:30:14 2012
Archived Log entry 19994 added for thread 1 sequence 18849 ID 0x99d4983c dest 1:
Wed Oct 24 01:17:07 2012
Thread 1 advanced to log sequence 18851 (LGWR switch)
  Current log# 5 seq# 18851 mem# 0: /oradata/finance/datafile/redo05.log
  Current log# 5 seq# 18851 mem# 1: /oradata/finance/datafile/redo05_5.log
Wed Oct 24 01:17:17 2012
Archived Log entry 19995 added for thread 1 sequence 18850 ID 0x99d4983c dest 1:
Wed Oct 24 02:00:00 2012
Closing scheduler window
Closing Resource Manager plan via scheduler window
Clearing Resource Manager plan via parameter
Wed Oct 24 07:23:20 2012


從這裡可以看出來,因為SCHEDULER定時啟動和關閉資源管理的DEFAULT_MAINTENANCE_PLAN從而導致在晚上10點到2點Resource Manager plan處於啟用狀態,所有rman執行任務,Backup Restore Throttle sleep等待是因為Resource Manager plan啟用導致(使用SCHEDULER控制其啟用和關閉),很多情況下資料庫跑的應用比較單一,不是十分的需要啟動資源管理.

在11g中關閉方法如下:
1. Set the current resource manager plan to null (or another plan that is not restrictive):
 
alter system set resource_manager_plan='' scope=both;
 
2. Change the active windows to use the null resource manager plan (or other nonrestrictive plan) using:
 
execute dbms_scheduler.set_attribute('WEEKNIGHT_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEEKEND_WINDOW','RESOURCE_PLAN','');
 
3. Then, for each window_name (WINDOW_NAME from DBA_SCHEDULER_WINDOWS), run:
 
execute dbms_scheduler.set_attribute('<window name>','RESOURCE_PLAN','');


SQL> select WINDOW_NAME  from DBA_SCHEDULER_WINDOWS;

WINDOW_NAME
------------------------------
WEEKNIGHT_WINDOW
WEEKEND_WINDOW
MONDAY_WINDOW
TUESDAY_WINDOW
WEDNESDAY_WINDOW
THURSDAY_WINDOW
FRIDAY_WINDOW
SATURDAY_WINDOW
SUNDAY_WINDOW

9 rows selected.

execute dbms_scheduler.set_attribute('WEEKNIGHT_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEEKEND_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('MONDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('TUESDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEDNESDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('THURSDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('FRIDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('SATURDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('SUNDAY_WINDOW','RESOURCE_PLAN','');

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2141191/,如需轉載,請註明出處,否則將追究法律責任。

相關文章