克隆OS、ORACLE软件并duplicate的实战

源端环境介绍

CentOS release 6.2

IP:192.168.130.151

ORACLE_BASE= /wfdb/db

ORACLE_HOME=/wfdb/db/product/11.2.0/dbhome_1

ORACLE_SID=WF

/wfdb是挂载的目录,ORACLE软件安装在上面

 

克隆一个目标端的OS来自源端OS,不克隆/wfdb,目标端相当于一个干净的操作系统,但是已经有所有关于oracle的操作系统配置,如/etc/sysctl.config,/etc/security/limit.config中的配置,所有的rpm包,oracle用户、dba组、oinstall组及/etc下面的一些oracle文件

 

 

克隆ORACLE软件至目标端

1.       源端打包ORACLE_HOME目录(必须使用root用户,使用oracle用户的话nmb、nmo、nmhs三个特殊权限文件无法打包)

# zip -r dbhome_1.zip /wfdb/db/product/11.2.0/dbhome_1

2.       目标端建立和源端一样的目录并授权oracle用户,把包传到目标端

mkdir –p /wfdb/db/product/11.2.0/

3.       目标端使用oracle用户解压文件,再使用root用户授权三个特殊权限文件

unzip dbhome_1.zip
chown root.oinstall nmhs
chown root.oinstall nmo
chown root.oinstall nmb
chmod 4710 nmhs
chmod 4710 nmo
chmod 4710 nmb

4.       目标端把$ORACLE_HOME/network/admin下面的.ora文件改名加上_YYYYMMDD,再创建和源端一样的dump、controlfile、datafile、onlineredo目录

5.       目标端再在Xmanager Enterprise工具下使用oracle用户执行如下

ORACLE_BASE、ORACLE_HOME都是是目标端实际存在的

cd /wfdb/db/product/11.2.0/dbhome_1/clone/bin/

/wfdb/db/product/11.2.0/dbhome_1/perl/bin/perl clone.pl ORACLE_BASE="/wfdb/db" ORACLE_HOME="/wfdb/db/product/11.2.0/dbhome_1" OSDBA_GROUP=dba OSOPER_GROUP=dba -defaultHomeName
运行完毕后,要按提示使用root执行/wfdb/db/product/11.2.0/dbhome_1/root.sh

6.       目标端再cp listener.ora_YYYYMMDD listener.ora,修改host为备库的并新增一段静态监听,如红色标记

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.30.166)(PORT = 1521))

    )

  )

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (ORACLE_HOME= /wfdb/db/product/11.2.0/dbhome_1)

      (SID_NAME = WF)

    )

  )

ADR_BASE_LISTENER = /wfdb/db

7.       目标端启动监听

8.       目标端动到nomount状态

可以正常启动,因为克隆oracle软件后目标端有和主库一样的密码文件和spfile、pfile文件

 

 

 

 

 

 

Duplicate至目标端

1.       源端增加目标端的tns

如目标端的为WF_166,因为没有其他变动,其实只是tns中的名称不一样,t其他service_name都是一样的

2.       目标端的tns内容和源端一样

3.       源端执行rman target sys/lf0320tcsge@WF auxiliary sys/lf0320tcsge@WF_166

4.       源端继续执行duplicate target database to WF from active database nofilenamecheck;

 

 

以上只是保持目标端的DB_NAME、INSTANCE_NAME都和源端一样,如果需要不一样,其实很简单,只需要修改目标端的.bash_profle中SID,并删除spfile,把pfile名称修改下,再执行duplicate命令如下

duplicate target database to wftst from active database db_file_name_convert=('/wfdb/db/oradata/WF','/wfdb/db/oradata/WFTST') nofilenamecheck;



ORACLE_HOME的位置变了就要做克隆的操作

如果不小心把oracle的目录改名或改路径了,只要数据文件(redo、undo、datafile、archivelog、tempfile)和控制文件不在ORACLE_HOME里,做软件克隆就可以了(从别的地方拷贝一个ORACLE_HOME目录过来就可以做克隆了


EBS克隆时如果还要保持原来的pfile则一定要备份(如果hostname、路径与源端的不一样则不必了,一样的话会覆盖),因为克隆会重做pfile的(perl adcfgclone.pl dbTier或perl adcfgclone.pl dbTechStack)
cd /db/DEV/db/tech_st/11.2.0/appsutil/clone/bin
perl adcfgclone.pl dbTier

perl adcfgclone.pl dbTechStack


单机克隆时源库的密码文件和spfile、pfile文件不会丢失(perl clone.pl)
cd /wfdb/db/product/11.2.0/dbhome_1/clone/bin/
wfdb/db/product/11.2.0/dbhome_1/perl/bin/perl clone.pl ORACLE_BASE="/wfdb/db" ORACLE_HOME="/wfdb/db/product/11.2.0/dbhome_1" OSDBA_GROUP=dba OSOPER_GROUP=dba –defaultHomeName

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30126024/viewspace-2126011/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30126024/viewspace-2126011/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值