在日常的工作中DBA经常会遇到数据的转移,最典型的就是要将在线系统运行的数据库导入到测试环境中,以进行相关的升级测试和压力测试等。
下面介绍两种方式克隆数据库。
一、直接的物理拷贝克隆
此种方式比较简单,只要将必要的数据文件,redo,控制文件,参数文件,监听文件等拷贝到目标服务器相同的位置即可,下面介绍具体步骤:
首先,已经存在一台运行完好的数据库,可以是生产库或者练习使用的,我这里是一个练习使用的10Gr2的库:
主机名:dg1.andylhz.com IP地址:192.168.1.254 源数据库 实例名:LHZ
目标数据库只安装数据库软件不建库:
主机名:dg2.andylhz.com IP地址:192.168.1.253 目标数据库
先停止源数据库和监听使用shutdown 和 lsnrctl stop 命令
然后找到源数据库的数据文件和REDO文件,控制文件,系统参数文件、密码文件和网络监听配置文件等。
数据库文件、REDO文件、控制文件:
[oracle@dg1 ~]$ cd /u01/app/oracle/oradata/lhz/
[oracle@dg1 lhz]$ ll
total 1071516
-rw-r----- 1 oracle oinstall 7061504 Jan 16 08:13 control01.ctl
-rw-r----- 1 oracle oinstall 7061504 Jan 16 08:13 control02.ctl
-rw-r----- 1 oracle oinstall 7061504 Jan 16 08:13 control03.ctl
-rw-r----- 1 oracle oinstall 104865792 Jan 16 07:39 example01.dbf
-rw-r----- 1 oracle oinstall 52429312 Jan 16 07:39 redo01.log
-rw-r----- 1 oracle oinstall 52429312 Jan 16 07:39 redo02.log
-rw-r----- 1 oracle oinstall 52429312 Jan 16 08:09 redo03.log
-rw-r----- 1 oracle oinstall 251666432 Jan 16 07:55 sysaux01.dbf
-rw-r----- 1 oracle oinstall 503324672 Jan 16 08:09 system01.dbf
-rw-r----- 1 oracle oinstall 22028288 Aug 28 11:03 temp01.dbf
-rw-r----- 1 oracle oinstall 31465472 Jan 16 08:09 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 Jan 16 07:39 users01.dbf
系统参数文件、密码文件:
[oracle@dg1 dbs]$ cd /u01/app/oracle/10g/dbs/
total 44
-rw-r----- 1 oracle oinstall 1544 Aug 28 11:00 hc_lhz.dat
-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora
-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora
-rw-r----- 1 oracle oinstall 24 Aug 28 11:00 lkLHZ
-rw-r----- 1 oracle oinstall 1536 Aug 28 11:29 orapwlhz
-rw-r----- 1 oracle oinstall 2560 Jan 16 07:39 spfilelhz.ora