使用Oradim恢復Windows上的數據庫
前幾天重新安裝了系統,正好需要恢復一下數據庫。
如果軟件也損失了,那么需要重新安裝一下數據庫軟件。
很多人抱怨我的新書很少關于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
OracleServiceeygle
此時我們就可以通過啟動實例,掛接原有數據庫,啟動Oracle數據庫了。當然你可能還有一些其他工作需要完成,比如重建口令文件等。
如果你想刪除這個服務,那么也很簡單:
C:/>oradim -delete -sid eygle
實例已刪除。
當然做好備份仍然是最重要的,我見過有的企業將文件分散在很多邏輯分區上,結果隨系統崩潰丟失了部分文件,損失也是相當慘重的。
在Linux/Unix上不需要服務來啟動實例,也就不存在這樣類似的操作。不過在命令行操作,一切都是類似的。