系統損壞,移植Oracle(9.2.0.1)資料庫(無備份資料檔案進行恢複)

來源:互聯網
上載者:User

A機系統內容:

軟體:Windows2003Server、Oracle9.2.0.1
硬體:DellSC420(P43.0、2G記憶體、160GSATA硬碟)

Oracle 資料量:11G。

癥狀:區域網路被病毒感染,網路癱瘓;系統損壞。

解決步驟:
1、把伺服器硬碟取下掛到B(Dell Dimension 4550)機把Oracle資料(data file,control file,redo file,archive logfile,spfile,pwdfile )取出。由於硬碟輕微損壞oracle 一資料表空間檔案(redo file)無法取出,故從重建undotbs資料表空間檔案開始(用軟體修複無果只能是重建)。

2、在B機上面按照A機oracle環境配置安裝Oracle 。

3、首先把B機上面所有服務全部關閉,然後把data file,control file,redo file,archive logfile,spfile,pwdfile 檔案覆蓋B機檔案。
註:data file,control file,redo file,archive logfile,spfile,pwdfile 檔案位置:如果你的oracle系統和system系統資料表空間安裝在一起。那就很好找了,例如:我的oraclehome在D盤,sid是:“ogtlogdb”

pwdfile、spfile等在:D:\oracle\admin\ogtlogdb
DataFile、redoFile等在:D:\oracle\oradata\ogtlogdb

4、在SQLPlus中登陸“sys/sys@ogtlogdb as sysdba”(本人第一使用sql的時候在cmd下面這樣是不成功的,所以先在命令列中敲入“SQLPlus”再敲入“sys/sys@ogtlogdb as sysdba”)。

5、關閉資料庫:sql>Shutdown

6、重起資料庫,記住啟動時載入出錯的檔案:SQL >Startup force
螢幕如下:
  Total System Global Area  126950220 bytes
  Fixed Size                   453452 bytes
  Variable Size             109051904 bytes
  Database Buffers           16777216 bytes
  Redo Buffers                 667648 bytes
  資料庫裝載完畢。
  ORA-01157: 無法標識/鎖定資料檔案 9 - 請參閱 DBWR 追蹤檔案
  ORA-01110: 資料檔案 9: 'D:\ORACLE\ORADATA\XINAHE\USERS01.DBF'

7、把出錯和丟失檔案全部OffLine drop
sql>alter database datafile 'D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF' offline drop;
如果此處出現其他資料檔案錯誤就和執行上面語句把資料檔案offline drop掉。

8、sql>alter database open;
螢幕返回:Database altered;
如果還有資料檔案提示錯誤反覆執行第五步。
直到執行本步驟螢幕返回Database altered為止。

9、重建Undotbs資料表空間:Create undo tablespace undotbs datafile 'C:\ORACLE\ORADATA\ORCL\UNDOTBS02.DBF' size 100M;
螢幕返回:Tablespace created.

10、修複第五步中出現錯誤的資料檔案。
sql>recover automatic datafile 1;
螢幕返回:完成介質恢複。
sql>recover automatic datafile 19;
螢幕返回:完成介質恢複。
把所有offline drop 掉的資料檔案用上面語句恢複。

11、把offline drop 掉的檔案重新online:
sql>alter database datafile 'D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF' online;
sql>alter database datafile 'D:\ORACLE\ORADATA\ORCL\UNDOTBS019.DBF' online;

12、alter database open;
螢幕返回:database opened.

13、重新啟動機器(把oracle 服務設定為自動啟動)。

備忘:有時候Oracle停電之後出現的SYSTEM01.DBF檔案損壞等問題,可以通過以上方法恢複,如果實在恢複表,或者是非歸檔模式,可以使用:
Oracle系統的隱含命令:
 alter system set "_allow_resetlogs_corruption"=true scope=spfile;

將UNDO日誌改為手動模式:
alter system set undo_management='manual' scope=spfile;

 

以上設定後過幾分鐘後,shutdown一下,再啟動可以臨時性的讀出資料。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.