Oracle自動維護任務
以下轉自:http://www.linuxidc.com/Linux/2013-03/81678.htm 作者:linux
From Oracle 11g, each day has its own windows and each of it has been specified default resource plan.This is something new for me too.So, i think that would be reason for seeing VKRM process in the alert log.
SQL> select WINDOW_NAME,RESOURCE_PLAN from DBA_SCHEDULER_WINDOWS;
WINDOW_NAME RESOURCE_PLAN
------------------------------ ------------------------------
MONDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
TUESDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
WEDNESDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
THURSDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
FRIDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
SATURDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
SUNDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
WEEKNIGHT_WINDOW
WEEKEND_WINDOW
SYS@>AppD> SELECT WINDOW_GROUP_NAME,ENABLED,NEXT_START_DATE,COMMENTS FROM DBA_SCHEDULER_WINDOW_GROUPS
WINDOW_GROUP_NAME ENABL NEXT_START_DATE COMMENTS
-------------------------- ---------------------------------------- --------------------------------------
MAINTENANCE_WINDOW_GROUP TRUE 14-MAR-11 10.00.00.000000 PM Window group for Automated Maintenance
ORA$AT_WGRP_OS TRUE 14-MAR-11 10.00.00.000000 PM auto optimizer stats collection
ORA$AT_WGRP_SA TRUE 14-MAR-11 10.00.00.000000 PM auto space advisor
ORA$AT_WGRP_SQ TRUE 14-MAR-11 10.00.00.000000 PM sql tuning advisor
SQL> select client_name ,status from DBA_AUTOTASK_CLIENT;
CLIENT_NAME STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection ENABLED
auto space advisor ENABLED
sql tuning advisor ENABLED
自動維護任務是一種按規則自動啟動的資料庫維護操作任務。比如自動收集為查詢優化器使用的統計資訊。自動維護任務按維護視窗自動執行。所謂自動維護視窗是按照預定義的間隔時間視窗。
1 自動優化器統計收集:為所有方案物件收集陳舊的或缺少的統計資料,所收集的統計資訊將被用來提高sql的執行的效能,任務名是“auto optimizer stats collection”
2 自動分段顧問:標識資料庫中的段是否有可以回收的空間,並以此資訊統計為基礎做出怎樣整理段的碎片以節約空間。你也可以手動的執行此job來獲取最新的建議資訊,或者獲取自動段advisor 不檢測的但又可以回收的段的資訊,任務名是“auto space advisor”
3 自動SQL調整顧問:自動標識並嘗試調整高負載的SQL,任務名是“sql tuning advisor”
預設情況下,這三個任務配置為在所有維護視窗執行。
維護視窗:維護視窗是一個連續的時間間隔,用於管理自動維護任務所用。維護視窗是oracle 排程視窗,屬於視窗組MAINTENANCE_WINDOW_GROUP。
一:配置自動維護任務:
1:啟用和禁止維護任務:
使用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.enable(
client_name => 'sql tuning advisor',
operation => NULL, www.linuxidc.com
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
如果想啟用或禁用所有視窗自動維護任務,呼叫ENABLE或DISABLE過程:
EXECUTE DBMS_AUTO_TASK_ADMIN.DISABLE;
2:為某一個維護視窗啟用或禁用維護視窗www.linuxidc.com
預設情況下,所有維護任務在所有預定義的維護視窗都執行。可以對某一個維護視窗啟用或禁用自動化任務。
BEGIN
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'));
--啟用維護視窗 www.linuxidc.com
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;
/
3:刪除視窗:
BEGIN
DBMS_SCHEDULER.REMOVE_WINDOW_GROUP_MEMBER(
group_name => 'MAINTENANCE_WINDOW_GROUP',
window_list => 'EARLY_MORNING_WINDOW');
END;
/
三:跟蹤job執行情況:
可以通過查詢檢視DBA_AUTOTASK_HISTORY追蹤job執行情況:
SQL> select client_name,job_name,job_start_time 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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22207394/viewspace-1307239/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 11G 自動維護任務Oracle
- ORACLE 11G 維護視窗和自動維護任務Oracle
- ORACLE11G自動維護任務簡析Oracle
- 資料庫自動維護任務的管理資料庫
- 【Oracle】Oracle 11g 中的自動資料庫維護任務管理Oracle資料庫
- crontab定時任務維護
- oracle 11g_排程程式維護任務或 AutotasksOracle
- oracle10g自動分析任務Oracle
- 自動備份任務
- 自動執行任務crontab
- windows自動任務問題Windows
- Linux 自動任務crontabLinux
- 任務異常自動告警
- win10 自動維護如何關掉_win10自動維護怎麼關閉Win10
- oracle維護服務 oracle解決方案 oracle售後服務Oracle
- 讓Windows XP自動維護系統Windows
- RMAN自動備份任務新增
- 函式計算自動化運維實戰1 -- 定時任務函式運維
- Win10如何關閉自動維護 win10系統關閉自動維護的方法Win10
- oracle 11g asm自動備份asm磁頭任務OracleASM
- 半自動化運維之伺服器資訊維護運維伺服器
- 在 Laravel 中自動維護 slug 欄位Laravel
- 自動儲存管理ASM日常維護(一)ASM
- 快速部署crontab自動排程任務
- Statspack之五-規劃自動任務
- windows 下建立自動執行任務Windows
- 定時自動啟動任務crontab命令用法
- Oracle11g 統計資訊-----統計資訊自動收集任務Oracle
- Oracle11g 統計資訊——統計資訊自動收集任務Oracle
- 什麼是任務自動化與流程自動化? - infoworld
- oracle rac管理維護筆記_轉自網友Oracle筆記
- 如何使用 cron 任務在 Linux 中計劃和自動化任務Linux
- 轉:Grunt:任務自動管理工具
- [Linux]crontab定時任務自動化Linux
- 使用 Bash 自動執行復雜任務
- 專案任務與運維任務的衝突運維
- oracle goldengate維護OracleGo
- Oracle RAC 日常維護Oracle