Oracle10g 統計資訊的自動收集
出處: http://orchidllh.itpub.net/post/4020/461278
10g開始,週一-週五晚上10點,週六的凌晨會進行統計資訊的收集,以確保執行計劃的正確性。
但是並不是所有的資料庫都需要如此頻繁的進行統計資料的收集,有時候我們可能需要修改這個job執行的頻度或者執行的時間。
預設的執行時間可能正好和我們的應用高峰在相同時間,會對應用有所影響。
下面是修改GATHER_STATS_JOB的執行時間的大致步驟:
首先,我們可以看到這個scheduler_jobs的一些基本情況:
set linesize 400
col job_name for a24
col program_name for a24
col schedule_name for a24
col schedule_type for a12
col fc for 9
col stop_on_window_close for a5
col enabled for a5
select t.job_name,t.program_name,t.schedule_name,t.schedule_type,t.enabled,t.stop_on_window_close,t.failure_count fc,t.last_run_duration
from sys.dba_scheduler_jobs t
where job_name='GATHER_STATS_JOB';
JOB_NAME PROGRAM_NAME SCHEDULE_NAME SCHEDULE_TYP ENABL STOP_ FC LAST_RUN_DURATION
------------------------ ------------------------ ------------------------ ------------ ----- ----- -- ---------------------------------------------------------------------------
GATHER_STATS_JOB GATHER_STATS_PROG MAINTENANCE_WINDOW_GROUP WINDOW_GROUP TRUE TRUE 0 +000000000 00:28:32.513804
1 rows selected.
可以看到這個SCHEDULE使用的是MAINTENANCE_WINDOW_GROUP視窗組,當視窗關閉的時候會結束,失敗次數為0,最後一次執行耗費的時間是28分鐘。
然後我們可以看看這個視窗組對應的視窗資訊:
SQL> select * from sys.dba_scheduler_wingroup_members t;
WINDOW_GROUP_NAME WINDOW_NAME
------------------------------ ------------------------------
MAINTENANCE_WINDOW_GROUP WEEKNIGHT_WINDOW
MAINTENANCE_WINDOW_GROUP WEEKEND_WINDOW
可以看到這個視窗組包括兩個視窗,分別是每天執行的視窗和週末執行的視窗。
下一步我們查詢每個視窗具體的資訊:
set linesize 400
col window_name for a24
col repeat_interval for a70
col window_priority for a4
col enabled for a5
col active for a5
select t.window_name,t.window_priority,t.enabled,t.active,t.repeat_interval,t.duration
from sys.dba_scheduler_windows t;
WINDOW_NAME WIND ENABL ACTIV REPEAT_INTERVAL DURATION
------------------------ ---- ----- ----- ---------------------------------------------------------------------- ---------------------------------------------------------------------------
WEEKNIGHT_WINDOW LOW TRUE FALSE freq=daily;byday=MON,TUE,WED,THU,FRI;byhour=22;byminute=0; bysecond=0 +000 08:00:00
WEEKEND_WINDOW LOW TRUE FALSE freq=daily;byday=SAT;byhour=0;byminute=0;bysecond=0 +002 00:00:00
REPEAT_INTERVAL為視窗的開啟時間和頻率,DURATION為視窗開啟的持續時間,enabled是視窗是否開放的標誌,active則表示視窗當前是否正在開放。
如果要修改某個視窗的開啟時間,需要使用DBMS_SCHEDULER.SET_ATTRIBUTE:
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE(
name=>'SYS.WEEKEND_WINDOW',
attribute=>'REPEAT_INTERVAL',
value=>'FREQ=WEEKLY;BYDAY=MON;BYHOUR=3;BYMINUTE=0;BYSECOND=0');
END;
如果該視窗當前是活躍的,則需要先disable才能修改:
BEGIN
DBMS_SCHEDULER.DISABLE(
name=>'SYS.WEEKEND_WINDOW',
force=>TRUE);
END;
修改以後再enable:
BEGIN
DBMS_SCHEDULER.ENABLE(
name=>'SYS.WEEKEND_WINDOW');
END;
如果每週只想執行一次,則可以將兩個視窗改到相同時間開啟,相同時間只能開啟一個視窗,所以一個視窗開啟後另外一個不會再開啟,也可以關閉一個視窗,只留一個視窗開啟:
BEGIN
DBMS_SCHEDULER.DISABLE(
name=>'SYS.WEEKEND_WINDOW',
force=>TRUE);
END;
可以透過檢視DBA_SCHEDULER_WINDOW_LOG監控視窗的開啟、關閉和修改的情況。
可以透過檢視dba_scheduler_job_log監控job的執行情況。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-617211/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 手動收集——收集統計資訊
- [統計資訊系列7] Oracle 11g的自動統計資訊收集Oracle
- 啟用與禁用統計資訊自動收集
- 【統計資訊】Oracle常用的收集統計資訊方式Oracle
- 最佳實踐:解讀GaussDB(DWS) 統計資訊自動收集方案
- Oracle 11g系統自動收集統計資訊的一些知識Oracle
- 收集統計資訊方案
- Oracle收集統計資訊Oracle
- 收集全庫統計資訊
- 微課sql最佳化(3)、統計資訊收集(2)-如何收集統計資訊SQL
- 6 收集資料庫統計資訊資料庫
- Oracle統計資訊的收集和維護Oracle
- oracle 統計資訊檢視與收集Oracle
- Sqlserver關於統計資訊自動建立自動更新的知識點SQLServer
- Oracle運維指令碼-收集統計資訊Oracle運維指令碼
- Win10系統關閉“小娜自動收集個人資訊”功能的方法Win10
- 微課sql最佳化(8)、統計資訊收集(6)-統計資訊查詢SQL
- Nebula Graph 特性講解——RocksDB 統計資訊的收集和展示
- ORACLE19c新特性-實時統計資訊收集Oracle
- 資訊收集
- 收集 Kubernetes 資源統計資料的新工具
- 微課sql最佳化(6)、統計資訊收集(4)-關於動態取樣SQL
- [20200819]12c Global Temporary table 統計資訊的收集的疑問.txt
- 【TUNE_ORACLE】定製化收集統計資訊SQL參考OracleSQL
- kali常用的資訊收集
- 【統計資訊】Oracle統計資訊Oracle
- MySQL對所有表收集統計資訊(Python 2指令碼)MySqlPython指令碼
- 基於Python的滲透測試資訊收集系統的設計和實現Python
- ORACLE表統計資訊與列統計資訊、索引統計資訊Oracle索引
- GUI程式設計--班級資訊收集系GUI程式設計
- GUI程式設計--班級資訊收集系..GUI程式設計
- 多檔案自動收集,1秒收集1000份!
- 自動刪除過期的statspack統計資料
- 微課sql最佳化(2)-為什麼需要收集統計資訊SQL
- 內網資訊收集內網
- 資訊收集流程
- 資訊收集11——nmap
- Linux本地資訊收集Linux
- 企業微信教程:如何匯出和檢視收集到的資訊統計