ORACLE 11G 自動維護任務
ORACLE 11G 自動維護任務:
自動維護任務是一種按規則自動啟動的資料庫維護操作任務。比如自動收集為查詢最佳化器使用的統計資訊。自動維護任務按維護視窗自動運
行。所謂自動維護視窗是按照預定義的間隔時間視窗。
oracle11g資料庫有三種預定義的自動維護任務:
■ Automatic Optimizer Statistics Collection:
■ Automatic Segment Advisor
■ Automatic SQL Tuning Advisor(這個是oracle 11g新新增的自動維護任務)
■ Automatic Optimizer Statistics Collection:
■ Automatic Segment Advisor
■ Automatic SQL Tuning Advisor(這個是oracle 11g新新增的自動維護任務)
預設情況下,這三個任務配置為在所有維護視窗執行。
維護視窗:維護視窗是一個連續的時間間隔,用於管理自動維護任務所用。維護視窗是oracle 排程視窗,屬於視窗組MAINTENANCE_WINDOW_GROUP。
一:配置自動維護任務:
1:啟用和禁止維護任務:
使用DBMS_AUTO_ADMIN pl/sql包來啟用或禁用任務:
使用DBMS_AUTO_ADMIN pl/sql包來啟用或禁用任務:
禁用任務:
BEGIN
dbms_auto_task_admin.disable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
BEGIN
dbms_auto_task_admin.disable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
啟用任務:
BEGIN
dbms_auto_task_admin.enable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
BEGIN
dbms_auto_task_admin.enable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
這裡client_name引數可以透過資料字典檢視DBA_AUTOTASK_CLIENT來查詢。
sys@ORCL11> select client_name from dba_autotask_client;
CLIENT_NAME
------------------------------------------------------------
auto optimizer stats collection
auto space advisor
sql tuning advisor
------------------------------------------------------------
auto optimizer stats collection
auto space advisor
sql tuning advisor
如果想啟用或禁用所有視窗自動維護任務,呼叫ENABLE或DISABLE過程:
EXECUTE DBMS_AUTO_TASK_ADMIN.DISABLE;
EXECUTE DBMS_AUTO_TASK_ADMIN.DISABLE;
2:為某一個維護視窗啟用或禁用維護視窗
預設情況下,所有維護任務在所有預定義的維護視窗都執行。可以對某一個維護視窗啟用或禁用自動化任務。
BEGIN
dbms_auto_task_admin.disable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => 'MONDAY_WINDOW');
END;
dbms_auto_task_admin.disable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => 'MONDAY_WINDOW');
END;
上面的例子是對維護視窗monday_window進行禁用sql tuning advisor。
二:配置維護視窗:
可是使用DBMS_SCHEDULER 包來修改視窗屬性。
1:修改維護視窗
--先禁用維護視窗
BEGIN
dbms_scheduler.disable(
name => 'SATURDAY_WINDOW');
--修改維護視窗屬性:
dbms_scheduler.set_attribute(
name => 'SATURDAY_WINDOW',
attribute => 'DURATION',
value => numtodsinterval(4, 'hour'));
--啟用維護視窗
dbms_scheduler.enable(
name => 'SATURDAY_WINDOW');
END;
/
1:修改維護視窗
--先禁用維護視窗
BEGIN
dbms_scheduler.disable(
name => 'SATURDAY_WINDOW');
--修改維護視窗屬性:
dbms_scheduler.set_attribute(
name => 'SATURDAY_WINDOW',
attribute => 'DURATION',
value => numtodsinterval(4, 'hour'));
--啟用維護視窗
dbms_scheduler.enable(
name => 'SATURDAY_WINDOW');
END;
/
對於當前開啟的視窗,你需要首先禁用,然後修改再啟用,配置立即生效,如果你不透過這三個過程來修改屬性,屬性是不會生效的,直到下一次視窗開啟。
2:建立新視窗:
BEGIN
dbms_scheduler.create_window(
window_name => 'EARLY_MORNING_WINDOW',
duration => numtodsinterval(1, 'hour'),
resource_plan => 'DEFAULT_MAINTENANCE_PLAN',
repeat_interval => 'FREQ=DAILY;BYHOUR=5;BYMINUTE=0;BYSECOND=0');
dbms_scheduler.add_window_group_member(
group_name => 'MAINTENANCE_WINDOW_GROUP',
window_list => 'EARLY_MORNING_WINDOW');
END;
/
dbms_scheduler.create_window(
window_name => 'EARLY_MORNING_WINDOW',
duration => numtodsinterval(1, 'hour'),
resource_plan => 'DEFAULT_MAINTENANCE_PLAN',
repeat_interval => 'FREQ=DAILY;BYHOUR=5;BYMINUTE=0;BYSECOND=0');
dbms_scheduler.add_window_group_member(
group_name => 'MAINTENANCE_WINDOW_GROUP',
window_list => 'EARLY_MORNING_WINDOW');
END;
/
3:刪除視窗:
BEGIN
DBMS_SCHEDULER.REMOVE_WINDOW_GROUP_MEMBER(
group_name => 'MAINTENANCE_WINDOW_GROUP',
window_list => 'EARLY_MORNING_WINDOW');
END;
/
DBMS_SCHEDULER.REMOVE_WINDOW_GROUP_MEMBER(
group_name => 'MAINTENANCE_WINDOW_GROUP',
window_list => 'EARLY_MORNING_WINDOW');
END;
/
三:跟蹤job執行情況:
可以透過查詢檢視DBA_AUTOTASK_HISTORY追蹤job執行情況:
可以透過查詢檢視DBA_AUTOTASK_HISTORY追蹤job執行情況:
SQL> select client_name,job_name,job_start_time
from dba_autotask_job_history;
from dba_autotask_job_history;
CLIENT_NAME JOB_NAME JOB_START_TIME
-------------------- -------------------- ------------------------------------
auto optimizer stats ORA$AT_OS_OPT_SY_1 09-APR-12 10.00.02.039000 PM +08:00
auto space advisor ORA$AT_SA_SPC_SY_2 09-APR-12 10.00.02.050000 PM +08:00
sql tuning advisor ORA$AT_SQ_SQL_SW_3 09-APR-12 10.00.02.015000 PM +08:00
-------------------- -------------------- ------------------------------------
auto optimizer stats ORA$AT_OS_OPT_SY_1 09-APR-12 10.00.02.039000 PM +08:00
auto space advisor ORA$AT_SA_SPC_SY_2 09-APR-12 10.00.02.050000 PM +08:00
sql tuning advisor ORA$AT_SQ_SQL_SW_3 09-APR-12 10.00.02.015000 PM +08:00
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27571661/viewspace-1789198/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 11G 維護視窗和自動維護任務Oracle
- oracle 11g data guard維護Oracle
- Oracle 11g dg broker自動failoverOracleAI
- oracle 11g自動記憶體管理Oracle記憶體
- Oracle 11g RAC自動打GI PSU補丁Oracle
- Oracle 自動化運維-Python連線OracleOracle運維Python
- win10 自動維護如何關掉_win10自動維護怎麼關閉Win10
- 任務異常自動告警
- Oracle OGG日常維護Oracle
- Oracle GoldenGate同步服務歸檔空間維護OracleGo
- 函式計算自動化運維實戰1 -- 定時任務函式運維
- RMAN自動備份任務新增
- oracle常用維護查詢Oracle
- 在 Laravel 中自動維護 slug 欄位Laravel
- Oracle定時任務Oracle
- Oracle 自動化運維-Python監控Oracle告警日誌Oracle運維Python
- 什麼是任務自動化與流程自動化? - infoworld
- 如何使用 cron 任務在 Linux 中計劃和自動化任務Linux
- ORACLE LOB大欄位維護Oracle
- ORACLE user profile配置/管理/維護Oracle
- 擔心介面出問題,自動化測試-定時任務為業務保駕護航
- Oracle 11g RAC手動新增serviceOracle
- 使用 Bash 自動執行復雜任務
- 如何使用ChatGPT來自動化Python任務ChatGPTPython
- 4.4 停止和重新啟動Oracle Restart進行維護操作OracleREST
- 任務拆解,悠然自得,自動版本的ChatGPT,AutoGPT自動人工智慧AI任務實踐(Python3.10)ChatGPT人工智慧AIPython
- oracle 11g dg broker 開啟fast-start failover自動故障切換OracleASTAI
- k8s叢集自動化維護PODK8S
- 【PDB】Oracle pdb維護常用sql命令OracleSQL
- Oracle 任務管理之 ----program(程式)---scheduler(計劃)--Job(任務)Oracle
- win10 維護怎麼關閉_win10自動維護要怎麼關閉Win10
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- mysql和oracle計劃任務MySqlOracle
- [統計資訊系列7] Oracle 11g的自動統計資訊收集Oracle
- Ansible 是一個強大的開源自動化工具,用於自動化應用程式的部署、配置管理和任務自動化。它是由 Red Hat 公司開發和維護的,提供了簡單易用的方式來自動化 IT 環境中的複雜任務。
- win10系統如何關閉自動維護功能Win10
- 如何利用python對HTTP代理進行自動化維護?PythonHTTP
- 11G oracle資料庫重新啟動crsOracle資料庫
- Oracle 11g系統自動收集統計資訊的一些知識Oracle