ITPub博客

首页 > 数据库 > Oracle > 克隆OS、ORACLE软件并duplicate的实战

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

原创 Oracle 作者:lusklusklusk 时间:2016-10-09 20:00:36 0 删除 编辑

源端环境介绍

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博客 ” ,链接:https://blog.itpub.net/30126024/viewspace-2126011/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: user和group
下一篇: 监听_(UR=A)
请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。 Oracle OCM、Mysql OCP, 10年DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    348
  • 访问量
    1174937