Oracle資料表空間增長異常解決又一例

來源:互聯網
上載者:User

Oracle資料表空間增長異常解決又一例

描述:客戶環境某台資料庫暫存資料表空間異常增長(日期隨機),觀察下來可能是下列兩個Oracle自身的定時job引起,
 
時間:2014/01/14  淩晨1點左右
 
        2014/01/08  淩晨4點左右 
 
已知的暫存資料表空間增長時間,和trace檔案錯誤吻合, 請幫忙分析原因,及解決辦法。
 
如需要登入伺服器,請電話聯絡陸耀祺,他將電話告知相關資訊。
 
 
 
附件為相關日誌,和一個自訂跟蹤資料檔案大小日誌,間隔為1小時。 

 

調查:我們發現客戶環境有一條SQL語句的運行導致了暫存資料表空間的異常增長。
 
這條SQL語句的意思貌似是查詢最近一個星期的DB time和DB CPU。
 
麻煩跟開發確認一下這條語句的作用,是否可以進行最佳化。

 

後續調查:
 
查看dba_registry中CATPROC狀態為invalid狀態。同時導致在dba_objects中看到收集統計資訊的dbms_stats也是invalid狀態。
 
手動運行@?/rdbms/admin/catproc.sql編譯一下這個組件(execute DBMS_REGISTRY_SYS.VALIDATE_CATPROC;);
 
接著重新編譯一下dbms_stats這個包
 
再重新編譯上面三個WRH$的三個基表。

 

原因:問題已經查明,那條SQL語句為SYS使用者在晚上執行定時任務時所執行。
 
之所以佔用較大的暫存資料表空間是因為該語句所涉及的三張表:
 
WRH$_STAT_NAME
 
WRM$_SNAPSHOT
 
WRH$_SYS_TIME_MODEL
 
統計資訊不準,導致產生了較差的執行計畫。
 
手工收集統計資訊以後,該語句可以很快完成,而且佔用暫存資料表空間也很小。
 
這兩個資料庫的CATPROC組件(Oracle Database Packages and Types)之前處於INVALID狀態,造成dbms_stats預存程序處於不可用狀態,因此無法自動收集統計資訊。目前dbms_stats已經處於可用狀態。

Oracle 資料表空間異常增長過快解決方案

Oracle教程:執行個體故障恢複

Linux-6-64下安裝Oracle 12C筆記

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.