oracle 10G 清理垃圾表,oracle10g清理垃圾

來源:互聯網
上載者:User

oracle 10G 清理垃圾表,oracle10g清理垃圾

一次邊學邊乾的oralce營運經曆, 步步是坑啊。

起因: 一套運行了5年的系統, 客戶近期反映比較慢。 

瞭解了一下運行環境: windows2003(16G + 4核) +  jdk(32) +tomcat  和 window2003(4G + 雙核) + oracle10G

現場現象: 客戶操作出入庫單據, ie一片空白持續很長時間, 體驗十分糟糕, 用客戶的話說: 這一天做單的工作量對得起這份薪水。   

初步判斷: tomcat串連資料庫時候十分緩慢, 而且tomcat各種cpu,記憶體顯示都比較正常, 所以把問題定位在資料庫上, 然後探索資料庫端由很多垃圾資料表, 大概4~5w張。

於是開始先刪除這些表, 因為自己對oracle也不是很熟悉, 於是就理所當然的想著像sql server一樣, drop table搞定。 

select table_name from user_tables where table_name like 'T\_%' escape '\'

首先通過語句查詢出表名一共4.5w個。 然後使用文字編輯器, 產生了4.5W個語句格式如下:

DROP TABLE tablename;

使用青蛙執行指令檔5個小時總算執行完畢, 以為一切ok。 這是客戶提醒說他依稀記得, 這樣drop表好像還需要執行個語句, 不然表依然在資料庫。 

聽後比較愕然, 度娘下, 結果真是。 表被drop 以後, 其實只是放到了一個叫垃圾箱的地方, 還要做記憶體回收。 再度娘下:

4.5w個表名轉換了語句:

PURGE TABLE  tablename;

或者drop的時候使用

DROP TABLE tablename PURGE;

使用青蛙執行指令檔20個小時語句執行2.7w, oralce直接宕機了。  這時候發現硬碟滿了。 

這時候客戶想看看是什麼佔用空間比較大, 刪除了這麼多表 , 依然這麼大的空間。很不正常。

select * from dba_tablespaces;
發現一個叫UNDOTBS01 的資料表空間99%的使用率, 佔用33G。

於是又問度娘, 度娘說:

這個資料表空間是:復原資料表空間,用來存放撤消操作的記錄

我勒個去, 真是漲姿勢了, 以前最多也就是oralce裡面寫個相容oralce的語句, 還真的沒有搞過這種營運的工作的。那個汗啊~~~~~~~~~, 不過幸好有度娘@#@#¥@

分析下這個原因, 硬碟滿了, 這個資料表空間無法增長了, 已經無法執行其他動作了。 慢、宕機也就很正常了。

--create undo tablespace undotBS2 datafile 'C:\UNDOTBS1.DBF' size 100m  autoextend on next 100m;--alter system set undo_tablespace=undotBS2;--drop tablespace undotbs1 including contents;


執行這些語句, 重啟oralce執行個體。 然後執行
select * from dba_tablespaces;
發現UNDOTBS2 生效, 佔100M。

這時候, oralce操作明顯變快了。登陸系統、做業務也明顯速度提升。 

總結:

oralce清理表, 需要加PURGE參數方可生效, 否則只是放到記憶體回收站: 

DROP TABLE tablename PURGE;

復原表也需要適時清理,雖然可以自增長, 但是這個資料表空間過大, 影響oralce的運行效率:

--create undo tablespace undotBS2 datafile 'C:\UNDOTBS1.DBF' size 100m  autoextend on next 100m;--alter system set undo_tablespace=undotBS2;--drop tablespace undotbs1 including contents;



相關文章

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.