(Les12 資料庫維護)[20180409]

来源:https://www.cnblogs.com/also-brook/archive/2018/04/10/8760112.html
-Advertisement-
Play Games

目的 管理優化程式統計信息 管理自動工作量資料檔案庫(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
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 轉載:https://www.csdn.net/article/2015-01-13/2823530 一個Hive查詢生成多個Map Reduce Job,一個Map Reduce Job又有Map,Reduce,Spill,Shuffle,Sort等多個階段,所以針對Hive查詢的優化可以大致分為 ...
  • 參考消息網3月19日報道 日前,全球權威調研機構佛瑞斯特研究公司(Forrester)發佈《2018年一季度雲端數據倉庫》報告。報告對大數據服務商的主要功能、區域表現、細分市場和典型客戶等進行了全面評估,最終AWS、阿裡雲、谷歌、微軟四大巨頭殺入全球一線陣營。阿裡雲成為唯一入選的中國科技公司。 Fo ...
  • 1、環境 操作系統:Win10專業版(64位) 資料庫:Oracle 12c Release 2(Version 12.2.0.1.0,64位) 2、下載Oracle12c oracle官網下載地址:http://www.oracle.com/technetwork/database/enterpr ...
  • 眾所周知,數據開發和分析的同學每天都要花大量時間寫MaxCompute SQL;Dataworks作為數據開發的IDE直接影響著大家的開發效率,這次新上線的Dataworks我們在編輯體驗上做了很多工作,在前端實現MaxCompute SQL和編輯器參數等擴展語法的AST解析,並實現更好更智能的代碼 ...
  • 前幾天發現由於MySQL的資料庫太大,預設安裝的/var盤已經再也無法容納新增加的數據,只能想辦法轉移數據的目錄。網上有很多相關的文章寫到轉移資料庫目錄的文章,但轉載的過程中還會有一些錯誤,因為大部分人根本就沒測試過,這篇文章是Linux中測試過整理好後分享給大家。 本文是簡單整理一下這幾天把MyS ...
  • MyISAM鎖機制: MyISAM只有表鎖,分為X和S鎖兩種(或者叫read lock,write lock)。讀加S鎖,寫加X鎖。互相阻塞,因此併發DML性能並不好。 InnoDB鎖機制: lock table/tables tab_name read/write; --手動加鎖語句:(同樣適用於 ...
  • SQL SERVER 查詢第20行到30之間的數據 1.先查詢前20行的ID,後查詢除去20條記錄的前10條記錄 2.先查詢前20行記錄最大的ID,後查詢大於該值的前10條記錄 3.SQL SERVER 2015 以後使用 ROW_NUMBER() 函數 ...
  • 在開發階段往Oracle資料庫中多個表格中導入了許多測試數據,倘若一張張表執行“truncate table tablename”語句顯得十分繁瑣。在PL/SQL中可以用代碼進行批量刪除表格數據。代碼如下: 在匹配表名的時候可以使用通配符,選擇想要刪除的表格名稱,這裡我選擇刪除名字以“D”開頭的所有 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...