說明:在現在這家公司以前,旺旺從來沒有接觸過oracle數據庫,但現在的公司沒有DBA,開發人員也對Oracle的管理不熟悉,所以也只能趕鴨子上架,邊學邊用,從安裝到建庫等!前段時間被Oracle內存管理折騰得夠嗆(24G的物理內存,跑了兩個開發測試環境下的oracle就被占滿,還出現死機的情況),不過還好,終於搞定,也沒有在出現過情況。現在基本的運行沒有問題了,則需要考慮進一步的問題了,備份與恢復!如下的操作我結合網上資料進行的測試,歡迎大家指正:
這裡我主要記錄這兩天測試的冷備份:
備份腳本:
--connect database
connect sys/你設定的密碼 as sysdba;
--shutdown database
shutdown immediate;
--Copy Data file
Host xcopy d:\Oracle\product\10.2.0\oradata\orcl\*.dbf d:\DbBakup;
--Copy Control file
Host xcopy d:\Oracle\product\10.2.0\oradata\orcl\*.ctl d:\DbBakup;
--Copy Log file
Host xcopy d:\Oracle\product\10.2.0\oradata\orcl\*.log d:\DbBakup;
--startup database
startup;
注:以上代碼拷貝到記事本中保存為*.sql即為冷備份腳本。其中控制文件(*.ctl),數據文件(*.dbf),日志文件(*.log)的路徑依自己的路徑修改。“d:\DbBakup”為備份路徑,可以自己修改。要備份所有的數據文件,可能有的dbf並不是都在一個目錄中,這個就要在EM中查看一下所有的數據文件路徑了。
冷備份操作步驟:
1.在運行中輸入cmd。
2.在cmd界面中輸入sqlplus/nolog進入sql*plus。
3.以dba身份連接數據庫conn sys/你設定的密碼 as sysdba。
4.執行冷備份操作。@冷備份角本路徑。
網上的資料都說進行冷備份需要關閉數據庫,但我在實際測試中,直接進入目錄d:\Oracle\product\10.2.0\拷貝admin和oradata進行備份,恢復後居然也正常。求解!
應用場景:原來數據庫主機硬件故障導致數據庫無法使用,需要恢復一台完全一樣的數據庫。此方法主要適合小型應用,特別是只有一台數據庫服務器而沒有集群的情況。
恢復時間:我在虛擬化環境下測試,數據庫文件在10GB左右,恢復時間20分鐘。
恢復方法:
1.建立一台與原數據庫服務器完全一樣的服務器,IP、計算機名等都使用原數據庫的。
2.建立跟原來SID一樣的數據庫(實例)。
3.將上述備份方法二中的備份的admin和oradata文件夾復制對應路徑下,覆蓋原來的文件。
4.重新啟動服務器,使用sqlplus等測試連接。如果連接不上,多半是服務沒有啟動的緣故。