一、如何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服务;