一、如何Clone數據庫?
主要由以下步驟組成:
l 啓動源數據庫並Login;
l 生成控制文件重建腳本;
l Shutdown源數據庫;
l 拷貝參數文件和數據文件到目的數據庫文件目錄;
l 創建新的數據庫服務;
l Login新數據庫並運行控制文件重建腳本;
l 在Listener.ora和tnsnames.ora種增加信息;
l 重啓新數據庫;
二、準備
我們假設源數據庫爲IFS2K2,現在想得到一個新數據庫Test。那麼需要做的事情只是把IFS2K2 clone到Test。
假設有如下一些設置:
ORACLE_HOME=d:/oracle/ora81
源ORACLE_SID= IFS2K2
源數據庫參數文件在:e:/ifs2002/database/ifs2k2
USER_DUMP_DEST=e:/ifs2002/database/ifs2k2/udump
目標ORACLE_SID=TEST
目標數據庫參數文件在:e/ifs2002/database/test
在Clone前我們需要做如下步驟:
1、 確信IFS2K2數據庫正在運行;
2、 在DOS窗口下設置ORACLE環境變量ORACLE_SID;
使用SQL*PLUS連接到數據庫;
Logon到數據庫;
3、 生成控制文件重建腳本;(該腳本位於:%USER_DUMP_DEST%)
4、關閉源數據庫;(注意:不要使用在Window Service中關閉OracleServiceIFS2K2服務的方法,否則可能會有問題)
5、拷貝生成的trace文件(在第四步中)e:/ifs2002/database/ifs2k2/udump/oraxxx.trc到目標數據庫目錄e:/ifs2002/database/test,然後把oraxxx.trc重命名爲clonedb.sql;
6、按如下內容編輯clonedb.sql,注意描述正確的文件路徑;
7、拷貝源數據庫參數文件e:/ifs2002/database/ifs2k2/initifs2k2.ora到目標數據庫目錄e:/ifs2002/database/test,然後把該文件重命名爲inittest.ora;
8、編輯inittest.ora文件,使用TEST代替IFS2K2,並注意修改路徑;
現在,可以開始Clone數據庫了!
三、Clone數據庫
1、 拷貝所有源數據庫數據文件(*.dbf文件)到目標數據庫目錄。記住只需要數據文件,不需要其它文件。
2、 在DOS Command Prompt窗口,設置ORACLE_SID,並創建Windows Service;
3、使用Sysdba登錄新創建的數據庫;
4、執行clonedb.sql文件;(注意路徑)
現在數據庫已經被clone完畢!
四、其它工作
1、 打開ORACLE Net8 Assistant程序;
2、 在左邊窗口中選中“LISTENER”節點;
3、在右邊窗口中選中“數據庫服務”;
4、點擊“添加數據庫”添加新的數據庫服務;
5、保存新的網絡配置;
6、重啓OracleOraHome81TNSListener服務;