oracle 10g自動收集統計信息
從Oracle Database 10g開始,Oracle在建庫後就默認創建了一個名為GATHER_STATS_JOB的定時任務,用於自動收集CBO的統計信息。
這個自動任務默認情況下在工作日晚上10:00-6:00和週末全天開啟。調用DBMS_ER_DATABASE_STATS_JOB_PROC收集統計信息。該過程首先檢測統計信息缺失和陳舊的對象。然後確定優先級,再開始進行統計信息。
可以通過以下查詢這個JOB的運行情況:
select * from Dba_Scheduler_Jobs where JOB_NAME ='GATHER_STATS_JOB'
其實同在10點運行的Job還有一個AUTO_SPACE_ADVISOR_JOB:
SQL> select JOB_NAME,LAST_START_DATE from dba_scheduler_jobs;
JOB_NAME LAST_START_DATE
------------------------------ --------------------------------------
AUTO_SPACE_ADVISOR_JOB 04-DEC-07 269 PM +08:00
GATHER_STATS_JOB 04-DEC-07 152 PM +08:00
FGR$AUTOPURGE_JOB
PURGE_LOG 05-DEC-07 059 AM PRC
然而這個自動化功能已經影響了很多系統的正常運行,晚上10點對於大部分生產系統也並非空閒時段。
而自動分析可能導致極為嚴重的閂鎖競爭,進而可能導致數據庫Hang或者Crash。
所以建議最好關閉這個自動統計信息收集功能:
exec DBMS_BLE('GATHER_STATS_JOB');
自動化永遠而嚴重的隱患相伴隨!
關閉及開啟自動蒐集功能,有兩種方法,分別如下:
方法一:
exec dbms_ble('ER_STATS_JOB');
exec dbms_le('ER_STATS_JOB');
方法二:
alter system set "_optimizer_autostats_job"=false scope=spfile;
alter system set "_optimizer_autostats_job"=true scope=spfile;
Pfile可以直接修改初始化參數文件,重新啟動數據庫。
二、AWR默認通過MMON及MMNL進程來每小自動運行一次,為了節省空間,採集的數據在 7 天后自動清除。
快照頻率和保留時間都可以由用户修改。要查看當前的設置,您可以使用下面的語句:
select snap_interval, retention
from dba_hist_wr_control;
SNAP_INTERVAL RETENTION
------------------- -------------------
+00000 01:00:00.0 +00007 00:00:00.0
這些 SQL 語句顯示快照每小時採集一次,採集的數據保留 7 天。要修改設置—例如,快照時間間隔為 20 分鐘,保留時間為兩天—您可以發出以下命令。參數以分鐘為單位。
begin
dbms_workload_fy_snapshot_settings (
interval => 20,
retention => 2*24*60
);end;
AWR 使用幾個表來存儲採集的統計數據,所有的表都存儲在新的名稱為 SYSAUX 的特定表空間中的 SYS 模式下,並且以 WRM$_* 和 WRH$_* 的`格式命名。前一種類型存儲元數據信息(如檢查的數據庫和採集的快照),後一種類型保存實際採集的統計數據。(您可能已經猜到,H 代表“歷史數據 (historical)”而 M 代表“元數據 (metadata)”。)在這些表上構建了幾種帶前綴 DBA_HIST_ 的視圖,這些視圖可以用來編寫您自己的性能診斷工具。視圖的名稱直接與表相關;例如,視圖 DBA_HIST_SYSMETRIC_SUMMARY 是在WRH$_SYSMETRIC_SUMMARY 表上構建的。
您的處理計劃一般是有規律的,並且通常基於您對各種事件的瞭解和您處理它們的經驗。現在設想相同的事情由一個引擎來完成,這個引擎採集量度並根據預先確定的邏輯來推出可能的計劃。您的工作不就變得更輕鬆了嗎? 現在在 Oracle Database 10g中推出的這個引擎稱為自動數據庫診斷監控程序 (ADDM)。為了作出決策,ADDM 使用了由 AWR 採集的數據。
在 AWR 進行的每一次快照採集之後,調用 ADDM 來檢查量度並生成建議。因此,實際上您擁有了一個一天二十四小時工作的自動數據庫管理員,它主動地分析數據並生成建議,從而把您解放出來,使您能夠關注更具有戰略意義的問題。
快照默認是自動採集的,但您也可以按需要採集它們。所有的 AWR 功能都在程序包 DBMS_WORKLOAD_REPOSITORY 中實施。要採集一次快照,只需發出下面的命令:
execute dbms_workload_te_snapshot它立即採集一次快照,快照被記錄在表 WRM$_SNAPSHOT 中。採集的量度是針對 TYPICAL 級別的。如果您想採集更詳細的統計數據,您可以在上面的過程中將參數 FLUSH_LEVEL 設置為 ALL。統計數據自動刪除,但也可以通過調用過程 drop_snapshot_range() 來手動刪除。
-
Oracle認證作用
Oracle認證對技術專家的好處:OCP認證可以給你一個鮮明的優勢。OCP認證可以表明你對某一職位及相關的Oracle產品有着深刻的理解。成為一個OCP認證專家可以幫助你被更多的僱主注意到,並且增加你獲得IT業最具挑戰性機遇的機會。OCP認證專家們證實了OCP認證的價值:97%...
-
Oracle認證及其標準
Oracle認證是由Oracle公司,為能夠滿足對Oracle核心人士需求,Oracle公司頒佈並實施的一項權威品的服務與支持。並具有嫻熟的專業技術標準,它是專為認證那些有操作能力與廣泛理論知識的專業人。Oracle認證證書只是讓僱主瞭解到來應聘的人通過了Oracle數據庫方面的技...
-
Oracle歸檔模式的切換
我們大家都知道在Oracle數據庫的實際的測試環境與相關的開發環境中,Oracle數據庫的實際應用日誌模式與自動Oracle歸檔模式在一般的情況下是不設置的,其主要目的是利於系統應用的調整,也免的生成大量的歸檔日誌文件將磁盤空間大量的消耗。但在系統上線,成為生產環境...
-
oracle數據庫密碼修改設置途徑
一、忘記除SYS、SYSTEM用户之外的用户的登錄密碼。用SYS(或SYSTEM)用户登錄。CONNSYS/PASS_WORDASSYSDBA;使用如下語句修改用户的密碼。ALTERUSERuser_nameIDENTIFIEDBYnewpass;注意:密碼不能全是數字。並且不能是數字開頭。否則會出現:ORA-00988:口令缺失或無效...
相關文章
- 英語作文:大學生村官 College Graduates Work as Village Offic
- 英語閲讀例文:A garbage collector
- oracle10g關閉和打開自動收集統計信息的方法
- Choice of large enterprises or small英語四級作文
- 會考英語閲讀理解訓練及答案:A garbage collector
- redhatlinux下安裝oracle10g的教程
- 大學英語四級作文College Graduates Work
- Oracle認證:Win7下Oracle11g完全刪除
- Oracle認證:Oracle內存結構研究-PGA篇
- Win10系統提示Officebackgroundtaskhandler.exe彈窗問題的解決方