oracle 10g如何關閉和開啟自動收集統計資訊

2021-05-11 03:05:11 字數 2782 閱讀 6093

一、oracle10g自動收集統計資訊--自動analyze

oracledatabase 10g開始,oracle在建庫後就預設建立了乙個名為gather_stats_job的定時任務,用於自動收集cbo的統計資訊。

這個自動任務預設情況下在工作日晚上10:00-6:00和週末全天開啟。呼叫dbms_stats.gather_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 10.00.00.692269 pm +08:00

gather_stats_job              04-dec-07 10.00.00.701152 pm +08:00

fgr$autopurge_job

purge_log                      05-dec-07 03.00.00.169059 am prc

然而這個自動化功能已經影響了很多系統的正常執行,晚上10點對於大部分生產系統也並非空閒時段。

而自動分析可能導致極為嚴重的閂鎖競爭,進而可能導致資料庫hang或者crash。

所以建議最好關閉這個自動統計資訊收集功能:

exec dbms_scheduler.disable('gather_stats_job');
自動化永遠而嚴重的隱患相伴隨!

關閉及開啟自動蒐集功能,有兩種方法,分別如下:

方法一: 

exec dbms_scheduler.disable('sys.gather_stats_job');

exec dbms_scheduler.enable('sys.gather_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_repository.modify_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 中實施。要採集一次快照,只需發出下面的命令:

Oracle10g中啟動和關閉OEM

從oracle10g開始,oracle極大的增強了oem工具,並通過伺服器端進行em工具全面展現。在10g中,客戶端可以不必安裝任何oracle客戶端工具,僅憑瀏覽器就可以呼叫強大的em工具。在server端,可以通過如下命令啟動em工具控制台 emctl start dbconsole 以下是啟動...

Oracle10g中啟動和關閉OEM

oracle database control 從oracle10g開始,oracle極大的增強了oem工具,並通過伺服器端進行em工具全面展現。在10g中,客戶端可以不必安裝任何oracle客戶端工具,僅憑瀏覽器就可以呼叫強大的em工具。在server端,可以通過如下命令啟動em工具控制台 emc...

如何完全解除安裝Oracle 10g

解除安裝oracle 10g資料庫的過程不想解除安裝一般應用軟體那麼簡單,如果疏忽了一些步驟,就會在系統中留有安裝oracle資料庫的痕跡,從而占用系統資源或者影響系統的執行。可以按照如下步驟完全解除安裝oracle 10g資料庫。1 如果資料庫配置了自動儲存管理 asm 應該先刪除聚集同步服務cs...