使用oradim恢復windows上的數據庫
2024-07-21 02:33:14
供稿:網友
很多朋友都問過這樣的問題:
在Windows上假如系統崩潰了,數據文件、控制文件、日志文件等都還在,怎樣來恢復Oracle數據庫? 前幾天重新安裝了系統,正好需要恢復一下數據庫。
假如軟件也損失了,那么需要重新安裝一下數據庫軟件。 很多人抱怨我的新書很少關于Windows的內容,實際上,Windows和linux/Unix上的操作沒有什么不同,Windows本身就是一個仿Unix的系統。
那么好吧,我還是用一個系列的文章介紹一下我所使用的Windows系統,以及我所認為的數據庫系統無關性。 大家可以跟隨我看一下這樣一個過程。
首先開啟一個cmd命令行窗口。
開始->運行->cmd我的Oracle軟件備份在D:/oracle :D:/>dir oracle
驅動器 D 中的卷是 PRIVAT
卷的序列號是 94B0-FD3B D:/oracle 的目錄2006-08-16 14:14 <DIR> .
2006-08-16 14:14 <DIR> ..
2006-08-16 14:14 <DIR> ora10gR2
0 個文件 0 字節
3 個目錄 941,744,128 可用字節 我的數據文件位于D:/oradata下:D:/>dir d:/oradata
驅動器 D 中的卷是 PRIVAT
卷的序列號是 94B0-FD3B d:/oradata 的目錄2006-08-16 14:25 <DIR> .
2006-08-16 14:25 <DIR> ..
2005-09-12 16:40 <DIR> Flash_recovery_area
2005-09-12 16:40 <DIR> EYGLE
0 個文件 0 字節
4 個目錄 941,744,128 可用字節 現在讓我們用oradim創建一個實例,實際上也就是創建一個Windows服務:C:/>oradim -new -sid eygle
實例已創建。 我們用net命令可以查看系統啟動了哪些服務,我們看到Oracle的服務已經啟動:C:/>net start
已經啟動以下 Windows 服務:...............
O&O Defrag
OracleServiceeygle
Plug and Play
Print Spooler
...............命令成功完成。
假如你的系統裝了一些Unix增強工具,那么可以通過grep過濾一下:C:/>net start grep Oracle
OracleServiceeygleUnix命令工具可以在Sourceforge (http://sourceforge.net/projects/gnuwin32/) 下載. 此時我們就可以通過啟動實例,掛接原有數據庫,啟動Oracle數據庫了。當然你可能還有一些其他工作需要完成,比如重建口令文件等。假如你想刪除這個服務,那么也很簡單:C:/>oradim -delete -sid eygle
實例已刪除。當然做好備份仍然是最重要的,我見過有的企業將文件分散在很多邏輯分區上,結果隨系統崩潰丟失了部分文件,損失也是相當慘重的。在Linux/Unix上不需要服務來啟動實例,也就不存在這樣類似的操作。不過在命令行操作,一切都是類似的。