目的 管理優化程式統計信息 管理自動工作量資料檔案庫(AWR) 使用自動資料庫診斷監視器(ADDM) 說明和使用知道框架 設置預警閥值 使用伺服器生成的預警 使用自動任務 資料庫維護 通過複雜的Oracle DB基礎結構,可以方便地執行預先資料庫維護,主要包括以下要素: -每個Oracle DB中都 ...
目的 管理優化程式統計信息 管理自動工作量資料檔案庫(AWR) 使用自動資料庫診斷監視器(ADDM) 說明和使用知道框架 設置預警閥值 使用伺服器生成的預警 使用自動任務 資料庫維護 通過複雜的Oracle DB基礎結構,可以方便地執行預先資料庫維護,主要包括以下要素: -每個Oracle DB中都有一個內置的資料檔案庫,即自動工作量資料檔案庫(AWR)。 Oracle DB伺服器會定期為所有重要統計信息及工作量信息創建快照,並將這些數據存儲在AWR中。用戶可以對捕獲的數據進行分析,也可以由資料庫自動進行分析,或兩者兼有。 -資料庫使用自動任務執行常規維護操作,如定期備份,刷新優化程式統計信息以及資料庫健康檢查。 被動資料庫維護包括資料庫健康檢查器發現的嚴重錯誤和狀態: -當出現無法自動解決並需要通知管理員的問題(如用完空間時)時,Oracle DB伺服器會提供伺服器生成的預警。Oracle DB伺服器預設情況下會監視其本身,併發送預警通知您發生的問題。預警不僅通知您出現問題,通常還會就如何解決報告的問題提供建議。 -建議由一些指導生產,其中每個指導負責一個子系統。例如,有記憶體指導,段指導和SQL指導。 自動工作量資料檔案庫(AWR):是用於數據搜集,分析和提供解決方案建議的基礎結構。 AWR基線:用於性能比較的一組AWR快照 度量:累計統計數據中的更改率 統計信息:提供資料庫和對象詳細信息的數據集合 -優化程式統計信息:供查詢優化程式使用 -資料庫統計信息:用於瞭解性能 閥值:比較度量值時所根據的邊界值 Oracle優化程式 優化程式是Oracle DB的一部分,用於為SQL語句創建執行計劃。確定執行計劃是處理任何SQL語句的重要一步,會對執行時間產生重大影響。 執行計劃是執行語句時按順序執行的一系列操作。優化程式會考慮許多與被引用對象相關的以及與查詢中所指定的條件相關的因素。優化程式所需的信息包括: -為系統(I/O,CPU等)以及方案對象(行數,索引等)搜集的統計信息 -字典中的信息 -WHERE子句限定符 -開發人員提供的提示 根據其功能的不同,Oracle優化程式具有兩個名稱:“查詢優化程式”和“自動優化程式” 優化程式統計信息 是某一時間點的快照 每次重新啟動實例後會變為永久信息 可自動收集 -統計信息包括表,列,索引和系統的統計信息。 -表和索引的統計信息存儲在數據字典中。 -這些統計信息不提供實時數據。而是為優化程式提供數據存儲和數據分發的正確統計快照,優化程式會使用該快照來決定如何訪問數據。 收集的統計信息包括: -數據塊中的表或索引的大小 -行數 -平均行大小和鏈計數(僅限表) -已刪除葉行的高度和數量(僅限索引) 要啟用收集優化程式統計信息的任務,必須確保STATISTICS_LEVEL初始化參數設置為TYPICAL或ALL 收集統計信息的頻率應足夠高,以保證表在兩個收集期之間的變化率不超過10%。這可能需要手動收集統計信息或使用其它維護視窗。 可以使用Enterprise Manager或DBMS_STATS程式包手動收集統計信息。
手動收集統計信息 15:09:09 SQL> select count(*) from HR.EMP; COUNT(*) ---------- 221 15:09:19 SQL> select num_rows from dba_tables where table_name='EMP'; NUM_ROWS ---------- 14 12 0 15:09:39 SQL> select num_rows from dba_tables where table_name='EMP' and owner='HR'; NUM_ROWS ---------- 15:10:03 SQL> exec dbms_stats.gather_table_stats('HR','EMP'); 已順利完成 PL/SQL 程式. 15:10:35 SQL> select num_rows from dba_tables where table_name='EMP' and owner='HR'; NUM_ROWS ---------- 221 15:10:38 SQL>
除非工作量發生了顯著變化,否則系統統計信息不會改變。因此,不需要頻繁調整系統統計信息。DBMS_STATS.GATHER_SYSTEM_STATAS過程會在指定時間段內收集系統統計信息,也可以啟動系統統計信息的收集過程並執行另一個調用來停止搜集。 exec dbms_stats.gather_system_stats('NOWORKLOAD');---NOWORKLOAD選項會花費幾分鐘(具體取決於資料庫大小)來捕獲I/O特征的估計值,如平均讀取查找時間和I/O傳輸率。 用於收集統計信息的首選項 首選項:可以為單個對象,方案或資料庫設置值 SET_*_PREFS過程不屬於SYS或SYSTEM的任何對象創建首選項值。 -SET_DATABASE_PREFS過程會迴圈訪問資料庫中的所有表和方案。 -SET_SCHEMA_PREFS迴圈訪問指定方案中的表。 -SET_TABLE_PREFS為單個表設置首選項。 無論是在資料庫級,方案級還是在表級設置,所有對象首選項均保存在一個單個表中。在方案級更改這些首選項會覆蓋以前在表級設置的首選項。 DBA_TAB_STAT_PREFS視圖中查看對象級首選項,未在對象級設置的所有首選項都會被設置為全局級首選項。通過對每個首選項調用DBMS_STATS.GET_PREFS過程,可以查看全局首選項。 可以在表級,方案級,資料庫級和全局級設置,獲取,刪除,導出和導入這些首選項。首選項的值一般來說是按全局級向表級的順序進行設置,最終將首選項應用於最小的組。 Oracle Database 11g中的首選項 -CASCADE,確定在收集表統計信息的過程中是否收集索引統計信息。 -DEGREE,設置用於收集統計信息的並行度。 -PUBLISH,用於確定是將統計信息發佈到字典還是將其存儲在專用區域中。這使得DBA可以先驗證統計信息,然後在使用PUBLISH_PENDING_STATS過程將其發佈到數據字典。 -STALE_PERCENT,用於確定判斷對象是否具有過時統計信息所依據的閥值級別。該值是自上次搜索統計信息以來已修改的行數百分比。 -INCREMENTAL,以增量方式收集分區表的全局統計信息。 -METHOD_OPT,確定列和用於收集統計信息的直方圖參數。 -GRANULARITY,確定收集統計信息的粒度(僅當表為分區表時才適用)。 -NO_INVALIDATE,確定是否使游標失效 -ESTIMATE_PERCENT,確定為獲得有效的統計信息而採樣的行數。它是表中行數的百分比。 使用DBMS_STATS.DELETE_*_PREFS過程,可在表級,方案級和資料庫級刪除首選項。 使用DBMS_STATS.RESET_PARAM_DEFAULTS過程,可將全局首選重置為建議值。 自動工作量資料檔案庫(AWR) AWR是oracle 11g組件提供服務的基礎結構,它可以收集,維護和利用統計信息進行問題檢測和自優化。可將此基礎結構視為資料庫統計信息,度量等的數據倉庫。 資料庫(預設情況下)每60分鐘從SGA中自動捕獲一次統計信息,然後將其以快照形式存儲在AWR中。這些信息是由MMON後臺進程存儲在磁碟上。預設情況下,快照保留8天,您可以自行修改快照時間間隔和保留間隔。 AWR中包含數百個表,所有這些表均屬於SYSMAN方案且存儲在SYSAUX表空間中。Oracle建議僅適用Enterprise Manager或DBMS_WORKLOAD_REPOSITORY程式包訪問資料檔案庫,對AWR進行操作。不支持直接對資料檔案庫表進行DML操作。 AWR報告保留15天
begin DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval => 60,retention =>15*24*60); end;
AWR基礎結構 AWR基礎結構主要分為兩個部分: 一個記憶體中統計信息收集工具,出於性能考慮將統計信息存儲在記憶體中。可以通過動態性能(V$)視圖訪問這些信息。 持久部分的AWR快照。AWR快照可以通過數據字典視圖和Enterprise Manager Database Control來訪問。 出於以下幾個方面的考慮,統計信息存儲在持久存儲中 -實例崩潰後統計信息需要仍然可用。 -某些分析需要使用歷史記錄數據進行基線比較 -可能會發生記憶體溢出。當舊統計信息因記憶體不足而被新統計信息替換時,被替換的數據可以存儲起來供以後使用。 記憶體中的統計信息會定期通過MMON後臺進程轉移到磁碟上。使用AWR時,Oracle DB可自動捕獲歷史統計信息,而不需要DBA進行干預。 AWR基線 AWR基線是一個AWR快照集。通常是在AWR中標記和保留的某個重要時段的快照數據的集合。 DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(- start_snap_id IN NUMBER, end_snap_id IN NUMBER, baseline_name IN VARCHAR2); 預設過期天數為NULL,表示永不過期。 管理AWR 保留期 -預設八天,需考慮存儲 收集間隔 -預設60分鐘,需考慮存儲和性能影響 收集級別 -Basic(禁用多數ADDM功能) -Typical(建議級別) -All(將其它SQL優化信息添加到快照中) 優化新應用程式時,請考慮將手機級別設置為ALL。使用ALL可以收集SQL執行計劃和定時統計信息,這些信息可以改進SQL指導的建議。優化完成後,應重新將此設置回TYPICAL. 統計級別 STATISTICS_LEVEL初始化參數可控制對各種統計信息和各種指導的捕獲,其中包括自動維護任務。自動維護任何包括搜集優化程式統計信息。 BASIC:AWR統計信息和度量的計算被關閉。自動優化程式統計信息任務被禁用,所有指導和伺服器生成的預警也被禁用。 TYPICAL:收集資料庫自我管理所需的主要統計信息。這些統計信息表示監視Oracle DB行為通常需要的信息,這包括自動收集統計信息,以減少由於統計信息過時或無效而導致不正確執行SQL語句的可能性。 ALL:捕獲所有可能的統計信息。此捕獲級別增加了計時操作系統統計信息和計劃執行統計信息。多數執行特定的診斷測試時需要這些統計信息。 Oracle建議將STATISTICS_LEVEL初始化參數設置為預設值TYPICAL。如果將該參數的值設置為BASIC,則會禁用自動收集優化程式統計信息功能。 自動資料庫診斷監視器(ADDM) 在記錄每個AWR快照之後運行 監視實例:檢測瓶頸 在AWR中存儲結果 ADDM檢測到的一些常見問題: -CPU瓶頸 -Oracle Net連接管理不佳 -鎖爭用 -輸入/輸出(I/O)能力差 -資料庫實例記憶體結構大小不足 -SQL語句的負載過高 -PL/SQL和Java時間過高 -檢查點負載過高及原因 ADDM將考慮對系統的各種更改。其建議: -硬體更改,添加CPU或更改I/O子系統配置 -資料庫配置,更改初始化參數設置 -方案更改,對錶或索引進行散列分區,或者使用自動段空間管理(ASSM) -應用程式更改,對序列使用高速緩存選項,或使用綁定變數 -使用其他指導,在高負載SQL上運行SQL優化指導或在熱對象上運行段指導 記憶體指導 多項指導功能的集合,通過它可確定資料庫實例所使用的總記憶體的最佳設置。系統全局區(SGA)為共用池,資料庫緩衝區高速緩存,Java池和流池提供了一組指導。 平均恢復時間(MTTR)指導 使用MTTR指導,可設置實例崩潰後資料庫恢復所需的時間長短。 段指導 此指導用於查找占用空間多於所需空間的表和索引。此指導會在表空間級或方案級檢查造成低效率的空間消耗問題,如果可能,還會生成腳本來減少空間消耗。 SQL訪問指導 用於分析在給定時段發出的所有SQL語句,還就其它索引或實體化視圖(可提高性能)的創建提供建議。 SQL優化指導 用於分析單個SQL語句,還提供建議以改進該語句的性能。建議中可包括重寫語句,更改實例配置或添加索引等操作。 還原管理指導 使用還原管理指導時,可確定支持指定的保留期所需要的還原表空間大小。 數據恢復指導 自動診斷持續性數據故障,向用戶提供修複選項並根據用戶的請求執行修複。數據恢復指導的用途是減少平均恢復時間(MTTR)並提供用於自動修複數據的集中式工具。 SQL修複指導 如果某一SQL語句因嚴重錯誤而失敗,進而導致在自動診斷資料檔案庫中生成問題,則可運行SQL修複指導。該指導會對語句進行分析,併在多數情況下會推薦一個補丁程式來修複該語句。如果實施了建議,所應用的SQL補丁程式會讓查詢優化程式選擇一個替代執行計劃以備將來執行,從而避免故障。此操作無需啊更改該SQL語句本身即可完成。 DBMS_ADVISOR程式包 DBMS_ADVISOR.CREATE_TASK 在資料檔案庫中創建新任務 DBMS_ADVISOR.DELETE_TASK 在資料檔案庫中刪除任務 DBMS_ADVISOR.EXECUTE_TASK 開始執行任務 DBMS_ADVISOR.INTERRUPT_TASK 掛起當前正在執行的任務 DBMS_ADVISOR.GET_TASK_REPORT 創建指定任務的文本報表並返迴文本報表 DBMS_ADVISOR.RESUME_TASK 恢復掛起的任務 DBMS_ADVISOR.UPDATE_TASK_ATTRIBUTES 更新任務屬性 DBMS_ADVISOR.SET_TASK_PARAMETER 修改任務參數 DBMS_ADVISOR.MARK_RECOMMENDATION 將一個或多個建議標記為已接受,已拒絕或已忽略 DBMS_ADVISOR.GET_TASK_SCRIPT 創建由已接受的所有建議組成的腳本 DBMS_ADVISOR程式包中包含所有指導模塊的所有常數和過程聲明。使用這個程式包可以命令行執行任務。要執行指導過程,必須具有ADVISOR許可權。使用ADVISOR許可權可對指導過程和視圖進行全權訪問。
自定義調用AWR和ADDM診斷報表 AWR報告獲取24小時內的 --conn / as sysdba; set echo off; set veri off; set feedback off; set termout on; set heading off; variable rpt_options number; define NO_OPTIONS = 0; define ENABLE_ADDM = 8; -- according to your needs, the value can be 'text' or 'html' define report_type='html'; begin :rpt_options := &NO_OPTIONS; end; / variable dbid number; variable inst_num number; variable bid number; variable eid number; variable dbname varchar2(9); variable btime number; variable etime number; begin select dbid into :dbid from v$database; select instance_number into :inst_num from v$instance; select max(snap_id)-24 into :bid from dba_hist_snapshot where DBID=:dbid; select max(snap_id) into :eid from dba_hist_snapshot where DBID=:dbid; select lower(NAME) into :dbname from v$database; select to_char(end_interval_time,'YYYYMMDDHH24') into :btime from dba_hist_snapshot where snap_id=:bid; select to_char(end_interval_time,'DDHH24') into :etime from dba_hist_snapshot where snap_id=:eid; end; / column ext new_value ext noprint column fn_name new_value fn_name noprint; column lnsz new_value lnsz noprint; --select 'txt' ext from dual where lower('&report_type') = 'text'; select 'html' ext from dual where lower('&report_type') = 'html'; --select 'awr_report_text' fn_name from dual where lower('&report_type') = 'text'; select 'awr_report_html' fn_name from dual where lower('&report_type') = 'html'; --select '80' lnsz from dual where lower('&report_type') = 'text'; select '1500' lnsz from dual where lower('&report_type') = 'html'; select :dbname||'_'||:btime||'to'||:etime||'.'||'&ext' report_name from dual; set linesize &lnsz; -- print the AWR results into the report_name file using the spool command: column report_name new_value report_name noprint; select :dbname||'_'||:btime||'to'||:etime||'.'||'&ext' report_name from dual; set termout off; spool &report_name; select output from table(dbms_workload_repository.&fn_name(:dbid, :inst_num,:bid, :eid,:rpt_options )); set termout on; clear columns sql; ttitle off; btitle off; repfooter off; undefine report_name undefine report_type undefine fn_name undefine lnsz undefine NO_OPTIONS exit ADDM自動診斷報告 set echo off; set veri off; set feedback off; set termout on; set heading off; set pagesize 0; set heading off echo off feedback off verify off; variable task_name varchar2(40); variable dbid number; variable inst_num number; variable bid number; variable eid number; variable dbname varchar2(9); variable btime number; variable etime number; begin select dbid into :dbid from v$database; select instance_number into :inst_num from v$instance; select max(snap_id)-48 into :bid from dba_hist_snapshot where DBID=:dbid; select max(snap_id) into :eid from dba_hist_snapshot where DBID=:dbid; select lower(NAME) into :dbname from v$database; select to_char(end_interval_time,'YYYYMMDDHH24') into :btime from dba_hist_snapshot where snap_id=:bid; select to_char(end_interval_time,'DDHH24') into :etime from dba_hist_snapshot where snap_id=:eid; end; / --prompt --prompt --prompt Running the ADDM analysis on the specified pair of snapshots ... --prompt begin declare id number; name varchar2(100); descr varchar2(500); BEGIN name := ''; descr := 'ADDM run: snapshots [' || :bid || ', ' || :eid || '], instance ' || :inst_num || ', database id ' || :dbid; dbms_advisor.create_task('ADDM',id,name,descr,null); :task_name := name; dbms_advisor.set_task_parameter(name, 'START_SNAPSHOT', :bid); dbms_advisor.set_task_parameter(name, 'END_SNAPSHOT', :eid); dbms_advisor.set_task_parameter(name, 'INSTANCE', :inst_num); dbms_advisor.set_task_parameter(name, 'DB_ID', :dbid); dbms_advisor.execute_task(name); end; end; / --prompt --prompt Generating the ADDM report for this analysis ... --prompt --prompt column report_name new_value report_name noprint; select :dbname||'_'||:btime||'to'||:etime||'.'||'txt' report_name from dual; set termout off; spool &report_name; set long 1000000 pagesize 0 longchunksize 1000 column get_clob format a80 select dbms_advisor.get_task_report(:task_name, 'TEXT', 'TYPICAL') from sys.dual; spool off; set termout on; prompt &report_name undefine dbid undefine inst_num undefine report_name exit
自動維護任務進程 1.打開維護視窗 2.自動任務後臺進程調度作業 3.調度程式啟動作業 4.資源管理限制自動任務作業的影響 預設自動任務維護作業,預設情況下工作日維護視窗在晚上10點啟動,持續4小時。周六周日維護視窗在早上6點啟動,持續20小時。維護視窗均可以自定義(開始時間,結束時間,頻率,每周幾天等等)。 收集優化程式統計信息 自動段指導 自動SQL指導 Oracle 11G自動維護任務 >auto optimizer stats collection(自動優化器統計收集):為所有對象收集陳舊的或缺少的統計數據 >auto space advisor(自動分段顧問):標識出應該被重組的段以節約空間 >sql tuning advisor(自動SQL調整顧問):標識並嘗試調整高負載的SQL 優化統計信息數據的集合、描述資料庫相關詳細細節、資料庫中的對象。通過這些統計信息使SQL優化器能選擇適用於每個SQL語句的最佳執行計劃。 優化統計信息包括以下內容: >Tables statistics 。Number of rows(行數) 。Number of blocks(塊數) 。Average row length(行平均長度) >Column statistics 。Number of distinct values(NDV)in column(列中不同值的數目) 。Number of nulls in column(列中空值的數目) 。Data distribution(histogram)(數據分佈-直方圖) 。Extended statistics(擴展統計) >Index statistics 。Number of leaf blocks(葉塊數) 。Levels(級別) 。Clustering factor(聚類因素) >Sytem statistics 。I/O performancce and utilization(I/O性能和利用率) 。CPU performance and utilization(CPU性能和利用率) Enabling Automatic Optimizer Statistics Collection
自動優化統計信息收集依賴於該參數‘STATISTICS_LEVEL’值TYPICAL 或者ALL,9i中還有BASIC值。視圖v$statistics_level alter system set statistics_level=xxxx; -basic:oracle關閉了所有性能數據的收集,如關閉AWR或statspack收集就將STATISTICS_LEVEL設為BASIC。 typical:除了plan_executetion_statistics和OS statistics不能收集外,其他均可以收集。 all:收集所有statistics BEGIN DBMS_AUTO_TASK_ADMIN.ENABLE( client_name => 'auto optimizer stats collection', operation => NULL, window_name => NULL); END; / client_name:自動維護任務的名稱,可查看dba_autotask_client視圖 operation:指定作業名稱 dba_autotask_operation視圖可查看,其實同dba_autotask_client相同。 windows_name:作業視窗選擇,其中client_name將被禁止(MONDAY_WINDOW,TUESDAY_WINDOW,WEDNESDAY_WINDOW,THURSDAY_WINDOW,FRIDAY_WINDOW,SATURDAY_WINDOW,SUNDAY_WINDOW)。 。如果operation和window_name為NULL,client_name將啟用/禁止。 。如果operation not NULL,windows_name被忽略,operation指定的'client_name'啟用/禁止。 。如果operation NULl,windows_name not NULL那麼client_name指定的視窗將啟用/禁止。 管理自動維護的視窗或JOB Oracle 10g中以dba_scheduler_jobs.job_name形式 Oracle 11g有所改變,視圖dba_autotask_window_clients可以查看一周七天執行情況。 DBA_AUTOTASK_WINDOW_CLIENTS WINDOW_NAME ->維護視窗的名稱,周一至周七 WINDOW_NEXT_TIME->下一次維護視窗計劃的時間,除非此維護視窗被禁用 WINDOW_ACTIVE ->指定維護視窗是否活動 TRUE/FALSE AUTOTASK_STATUS ->系統自動維護任務狀態 ENABLED/DISABLED OPTIMIZER_STATS ->優化器統計信息收集狀態 ENABLED/DISABLED SEGMENT_ADVISOR ->段顧問狀態 ENABLED/DISABLED SQL_TUNE_ADVISOR->SQL優化顧問狀態 ENABLED/DISABLED HEALTH_MONITOR ->健康監控狀態 ENABLED/DISABLED 如WINDOW_ACTIVE為FALSE表示自動維護相關視窗均失效。 begin dbms_scheduler.enable( name=>'MONDAY_WINDOW'); end; / execute DBMS_AUTO_TASK_ADMIN.ENABLE; execute DBMS_AUTO_TASK_ADMIN.DISABLE; dba_autotask_task dba_autotask_client dba_autotask_client_job dba_autotask_window_clients dba_autotask_client_history dba_scheduler_jobs dba_scheduler_job_classes dba_scheduler_window_groups dba_scheduler_windows dba_scheduler_wingroup_members dba_autotask_job_history Statistics on Table,Index adn Columns DBA_TABLES DBA_OBJECT_TABLES DBA_TAB_STATISTICS DBA_TAB_COL_STATISTICS DBA_TAB_HISTOGRAMS DBA_TAB_COLS DBA_COL_GROUP_COLUMNS DBA_INDEXES DBA_IND_STATISTICS DBA_CLUSTERS DBA_TAB_PARTITIONS DBA_TAB_SUBPARTITIONS DBA_IND_PARTITIONS DBA_IND_SUBPARTITIONS DBA_PART_COL_STATISTICS DBA_PART_HISTOGRAMS DBA_SUBPART_COL_STATISTICS DBA_SUBPART_HISTOGRAMS dba_autotask_client -->dba_scheduler_window_groups -->dba_scheduler_windows -->dba_scheduler_jobs -->dba_autotask_client -->dba_scheduler_job_classes
--關閉sql tuning advisor,避免消耗過多的資源 BEGIN DBMS_AUTO_TASK_ADMIN.disable( client_name => 'sql tuning advisor', operation => NULL, window_name => NULL); END; / --關閉auto space advisor,避免消耗過多的IO,還有避免出現這個任務引起的library cache lock BEGIN DBMS_AUTO_TASK_ADMIN.disable( client_name => 'auto space advisor', operation => NULL, window_name => NULL); END; / --光閉自動統計信息收集,(慎用,除非有其他手工收集統計信息的完整方案,否則不建議關閉) BEGIN DBMS_AUTO_TASK_ADMIN.disable( client_name => 'auto optimizer stats collection', operation => NULL, window_name => NULL); END; / --啟動sql tuning advisor BEGIN DBMS_AUTO_TASK_ADMIN.enable( client_name => 'sql tuning advisor', operation => NULL, window_name => NULL); END; / --啟動auto space advisor BEGIN DBMS_AUTO_TASK_ADMIN.enable( client_name => 'auto space advisor', operation => NULL, window_name => NULL); END; / --啟動自動統計信息收集 BEGIN DBMS_AUTO_TASK_ADMIN.enable( client_name => 'auto optimizer stats collection', operation => NULL, window_name => NULL); END; / --關閉星期天的自動段顧問Job BEGIN dbms_auto_task_admin.disable( client_name => 'auto space advisor', peration => NULL, window_name => 'SUNDAY_WINDOW'); END; /
伺服器生成的預警 預設情況下受監視的度量大約有60個,其中包括: 中斷作業計數 等待所用的資料庫時間百分比(%) 轉儲區占用率(%) 參照基線的SQL響應時間百分比(%) &nbs