Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1281437
  • 博文数量: 127
  • 博客积分: 2286
  • 博客等级: 大尉
  • 技术积分: 1943
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-10 10:37
文章分类

全部博文(127)

文章存档

2018年(1)

2015年(2)

2014年(1)

2013年(30)

2012年(88)

2011年(5)

分类: Oracle

2012-07-05 12:39:39

1.目标库的准备

rm spfileDEMO.ora

echo "db_name=DEMO" > initDEMO.ora

把数据库启动到nomount状态

配置lisnter.ora可以远程连接该数据库

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=demo.test)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(SID_NAME = DEMO)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ndb3.test)(PORT = 1521))
)
)

主要有手工加入SID信息

2. 源数据库的准备

配置tnsnames.ora同时加入源和目标数据库

3.克隆数据库

以前以为只能在源数据库的server上执行,实际上2端都可以

rman TARGET sys/oracle@XE AUXILIARY sys/oracle@DEMO

DUPLICATE DATABASE TO DEMO
FROM ACTIVE DATABASE
SPFILE PARAMETER_VALUE_CONVERT ('XE','DEMO')
DB_FILE_NAME_CONVERT ('XE','DEMO')
LOGFILE
GROUP 1 ('/u01/app/oracle/oradata/DEMO/log1a.redo',
'/u01/app/oracle/oradata/DEMO/log1b.redo') SIZE 50m,
GROUP 2 ('/u01/app/oracle/oradata/DEMO/log2a.redo',
'/u01/app/oracle/oradata/DEMO/log2b.redo') SIZE 50m,
GROUP 3 ('/u01/app/oracle/oradata/DEMO/log3a.redo',

'/u01/app/oracle/oradata/DEMO/log3b.redo') SIZE 50m REUSE;


说明 

  • spfile指定复制spfile, PARAMETER_VALUE_CONVERT转换一些参数
  • DB_FILE_NAME_CONVERT转换datafile路径
  • LOGFILE无法转换,必须手工指定;否则默认位置

后来发现可以这样来convert所有的名字

DUPLICATE target DATABASE TO DEMO FROM ACTIVE DATABASE
DB_FILE_NAME_CONVERT ('XE','DEMO')
SPFILE
PARAMETER_VALUE_CONVERT ('XE','DEMO')
SET LOG_FILE_NAME_CONVERT 'XE','DEMO';



阅读(2895) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~