2011年7月21日 星期四

ORA-00257 archiver error. Connect internal only, until freed.

前天半夜,大夜的值班同事被call,原因是系統無法登入。於是他用PL/SQL Developer登入資料庫主機,出現了ORA-00257 錯誤 (archiver error. Connect internal only, until freed.) ,由於現在網路資源相當發達,記住ORA Error Code 在網路上爬文,大概有一個初步的方向,值班同事發現是資料庫的問題,當然就只好call專業的DBA處理了!
翌日,主管也找了幾位組長和DBA共同討論並分析此次問題發生原因。


我是在看到值班同事寄的mail,對這個ORA Error Code產生好奇,因為以前沒發生過這類問題,所以也上網找了google大師了解一番。

以下兩篇文章,是別人故障的處理過程,我想也是值得參考一下的。

Oracle數據庫的ORA-00257故障解決過程
http://big5.china-code.net/read/7/5/134815.html

ORA-00257錯誤問題的解決方法
http://www.test104.com/tw/tech/1087.html

看完了這兩篇文章後,我還是充滿疑惑,後來才知道原來是因為DBA有寫了一支job程式,利用半夜的時間,做資料庫瘦身動作。要將原本4000多萬筆資料瘦身到800多萬筆,主要是要將某些資料表中有一些不需使用的資料,暫時先移到備份資料庫,以加快主資料庫查詢的速度,不料,DBA因為近來事情頗多,除了接自身的DBA管理工作,還接了不少重要系統,忙碌的生活讓他有點精神不濟,又不小心在這支job程式的SQL語法組錯,所以也造成了資料誤刪的情況。真的好悲慘~ >"<
除了要處理因為資料庫瘦身造成大量的資料庫交易,因此log檔容量空間不足的情況下,還要再處理誤刪資料的還原動作~
只能說 DBA 的工作,真的是一失足成千古恨~!

沒有留言:

張貼留言