oracle 11g中的自动维护任务管理
因為人員緊缺,最近又忙著去搞性能優化的事情,有時候真的是不想再搞這個事情,只是沒辦法,我當前的績效幾乎取決于這個項目的最終成績,所以不管是人的事還是事的事,都得去讓他順利推進。
前段時間發生還有幾臺服務器晚上10點多awr里面還一直在跑DBMS_SCHEDULER的任務,如下:
| DECLARE job BINARY_INTEGER := :job; next_date TIMESTAMP WITH TIME ZONE := :mydate; broken BOOLEAN := FALSE; job_name VARCHAR2(30) := :job_name; job_subname VARCHAR2(30) := :job_subname; job_owner VARCHAR2(30) := :job_owner; job_start TIMESTAMP WITH TIME ZONE := :job_start; job_scheduled_start TIMESTAMP WITH TIME ZONE := :job_scheduled_start; window_start TIMESTAMP WITH TIME ZONE := :window_start; window_end TIMESTAMP WITH TIME ZONE := :window_end; chain_id VARCHAR2(14) := :chainid; credential_owner varchar2(30) := :credown; credential_name varchar2(30) := :crednam; destination_owner varchar2(30) := :destown; destination_name varchar2(30) := :destnam; job_dest_id varchar2(14) := :jdestid; log_id number := :log_id; BEGIN DECLARE ename VARCHAR2(30); BEGIN ename := dbms_sqltune.execute_tuning_task( 'SYS_AUTO_SQL_TUNING_TASK'); END; :mydate := next_date; IF broken THEN :b := 1; ELSE :b := 0; END IF; END; |
雖然已經禁用了“auto space advisor”,但是不希望禁用“auto optimizer stats collection”,而是在凌晨執行。
關閉指定的client? BEGIN ? dbms_auto_task_admin.disable( ? client_name => 'sql tuning advisor', ? peration => NULL, ? window_name => NULL); END; ? / 開啟指定的client: BEGIN ? dbms_auto_task_admin.enable( ? client_name => 'sql tuning advisor', ? peration => NULL, ? window_name => NULL); END; ? /
更改運行時間:
BEGIN DBMS_SCHEDULER.SET_ATTRIBUTE(
'MONDAY_WINDOW',
'repeat_interval',
'freq=daily;byday=MON;byhour=1;byminute=0;bysecond=0');
end;
/
?這樣就可以避免夜間跑批時間了。
關于oracle 11g中管理自動維護任務的詳細使用例子,可以參考:
https://oracle-base.com/articles/11g/automated-database-maintenance-task-management-11gr1
oracle 10g中自動優化器收集的定時任務,可以參考:
https://oracle-base.com/articles/10g/performance-tuning-enhancements-10g#automatic_optimizer_statistics_collection
總結
以上是生活随笔為你收集整理的oracle 11g中的自动维护任务管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爱奇艺称告别唯流量时代 正式关闭显示前台
- 下一篇: Spring boot 和Vue开发中C