資料庫restore時遇到1119錯誤

Ora-600發表於2009-04-22

今夜天高雲淡,夜色迷人,正跟LP在餐館吃飯,沒事聊聊天,忽然電話響起,美好畫面就此打破。。。
客戶緊急求助,讓我立馬趕赴現場解決故障,沒法,跟LP致歉,然後飛奔出去,打著飛的就奔赴現場。
故障情況如下:客戶主伺服器重大故障,盤陣損壞,暫時無法使用或者修復,不過磁帶機上有Rman備份,因此選擇了一臺備用機進行修復,伺服器為AIX4.3,Oracle為10g,單機,所有備份歸檔都有(這就放心了)。。。
客戶在做恢復時報錯(一顆心立馬揪了起來。。。不會備份的檔案有問題吧),錯誤程式碼為ORA-01119和ORA-27040,也就是說,在restore檔案到新伺服器儲存的時候報錯,無法restore備份。
感到客戶現場,氣氛有點緊張,呵呵,原來客戶領導也在,這不給我們壓力嘛。
開始瞭解詳細的使用者操作步驟,從描述上看,備機與原伺服器的os版本相同,補丁也都打完全了,資料庫版本也一致,儲存空間和目錄也都與原來一樣,使用者將磁帶機連好後,將初始化引數檔案複製到相應位置,建立了口令檔案,nomount資料庫後,通過rman將控制檔案restore到相應的目錄中,mount資料庫後開始restore資料檔案,在資料檔案restore到一個undo表空間的檔案時報錯。
聽上去好像使用者也沒有任何操作錯誤,檢查了一下,確實備機與主機環境基本上一樣,為什麼會報ORA-01119和ORA-27040錯誤呢?還是先親自試試看吧。
在mount狀態下,我開始逐一測試restore檔案,結果發現,並不是所有的資料檔案都不能restore,有些可以正常restore出來,但有些資料檔案不行,而且發現了一個很明顯的現象,不能restore出來的檔案一般都比較大。
分析ORA-01119和ORA-27040錯誤原因,一般來說主要是儲存空間不夠,沒有目錄操作許可權之類,但如果是這種原因,那應該在相應目錄下所有檔案都不能建立,但現在的情況是大檔案建立不行,小檔案沒問題。。。說到這裡,可能大部分人都猜到了——對地,就是大檔案的問題。。。這也算是經典問題了,很多平臺都有,這次是aix,上次我還遇到過在hp unix上。
經過檢查,發現備機上確實沒有調整檔案大小限制,需要進行調整。在aix上影響檔案大小限制的主要有兩個地方,一個是檔案系統型別本身,需要使用large file enable filesystem,例如如果使用jfs2系統,預設就支援大檔案;另一個是os上一個核心引數的設定。
可以使用下面的方法取消檔案大小限制:
找到 /etc/security/limits檔案,把fszie改為-1,-1表示檔案大小無限制(當然也可以設定為有限制,如果限制為4GB,可以將fszie設定為 4GB/512 的值),在設定後重新連線會話,設定生效。
找到問題原因了,自然後面的restore、recover就沒問題了,該故障解決完成,我還來得及繼續回家跟LP欣賞夜景去。。。


注意:Oracle的有些檔案需要注意這個問題,如果用到這些檔案,最好將檔案大小設定為無限制,主要要關注的檔案有:
1、資料檔案(設定了自動擴充套件,一般可以擴充套件到8gb-128GB,大檔案表空間的資料檔案可以擴充套件到128TB)
2、告警和trace檔案,尤其是一些bug或者異常產生的trace檔案
3、Rman備份檔案
4、exp或者expdp的匯出檔案

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22235/viewspace-591452/,如需轉載,請註明出處,否則將追究法律責任。

相關文章