基于 RMAN 的同机数据库克隆(一)

2014-11-24 17:50:55 · 作者: · 浏览: 2

相关阅读:


1、RMAN克隆的几种类型
a、利用RMAN备份克隆并访问目标数据库(也就是原数据库),也就是复制期间由Oracle net与目标数据库保持连接
b、利用RMAN备份克隆不访问目标数据库,比如网络不通阿,目标数据库不可用等等,总之是人为或故障使得与目标库失去连接
c、直接使用活动数据库(active)进行克隆,实时备份加克隆,够牛滴!


3、RMAN克隆大致步骤
a、备份目标数据库(根据需要克隆类型而定,异机的话ftp一下,此步也可以置于步骤e之后,f之前)
b、创建相应的dump文件夹
c、配置辅助实例参数文件
d、生成辅助实例密码文件
e、配置辅助实例监听
f、实施数据库克隆(辅助实例启动到nomount状态后)
h、验证结果


4、RMAN同机克隆亲密接触


--环境:
--目标数据库: sybo3 /u01/database/sybo3
--辅助数据库: sybo5 /u01/database/sybo5
--说明:
--对于下面描述过程中,如创建参数文件,密码文件,监听等等有不甚了解的,可参考下面链接中有关文章的描述。其次本次演示使用了备份文件并连接到target db
--http://blog.csdn.net/robinson_0612/article/category/827734 (体系结构相关)
--http://blog.csdn.net/robinson_0612/article/category/828434 (网络配置相关)


[oracle@linux3 database]$ cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m


SQL> select * from v$version where rownum<2;


BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production



a、备份目标数据库
--生成后续验证克隆成功的测试数据
SQL> insert into t select 'Jackson','Transfer DB by rman' from dual;


SQL> commit;


SQL> select * from t;


NAME ACTION
---------- --------------------
Robinson Transfer DB
Jackson Transfer DB by rman


SQL> alter system archive log current;


[oracle@linux3 ~]$ rman target /


Recovery Manager: Release 11.2.0.1.0 - Production on Thu Jul 25 08:39:42 2013


Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.


connected to target database: SYBO3 (DBID=2347733014)


RMAN> backup database include current controlfile plus archivelog delete input;


piece handle=/u01/database/sybo3/flash_recovery_area/SYBO3/backupset/2013_07_25/o1_mf_annnn_TAG20130725T083957_8z0wyy9n_.bkp
tag=TAG20130725T083957 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01


piece handle=/u01/database/sybo3/flash_recovery_area/SYBO3/backupset/2013_07_25/o1_mf_nnndf_TAG20130725T083959_8z0wz06c_.bkp
tag=TAG20130725T083959 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:30
Finished backup at 2013/07/25 08:41:29


Starting Control File and SPFILE Autobackup at 2013/07/25 08:41:31
piece handle=/u01/database/sybo3/flash_recovery_area/SYBO3/autobackup/2013_07_25/o1_mf_s_821695291_8z0x1vsf_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2013/07/25 08:41:34



b、创建相应的dump文件夹
[oracle@linux3 database]$ more sybo5.sh
#!/bin/sh
mkdir -p /u01/database
mkdir -p /u01/database/sybo5/adump
mkdir -p /u01/database/sybo5/controlf
mkdir -p /u01/database/sybo5/flash_recovery_area
mkdir -p /u01/database/sybo5/oradata
mkdir -p /u01/database/sybo5/redo
mkdir -p /u01/database/sybo5/dpdump
mkdir -p /u01/database/sybo5/pfile
[oracle@linux3 database]$ ./sybo5.sh



c、配置辅助实例参数文件
--在sqlplus下生成辅助实例的参数文件
SQL> create pfile='/u01/oracle/db_1/dbs/initsybo5.ora' from spfile;

--修改辅助实例参数文件
$ sed -i 's/sybo3/sybo5/g' $ORACLE_HOME/dbs/initsybo5.ora
$ grep sybo3 $ORACLE_HOME/dbs/initsybo5.ora -->校验是否还存在sybo3相关字符


--下面是修改后最终的结果
[oracle@linux3 database]$ more $ORACLE_HOME/dbs/initsybo5.ora
sybo5.__db_cache_size=113246208
sybo5.__java_pool_size=4194304
sybo5.__large_pool_size=4194304
sybo5.__oracle_base='/u01/oracle'#ORACLE_BASE set from environment
sybo5.__pga_aggregate_target=142606336
sybo5.__sg