oracle_home克隆

在生产系统运行一段时间后,由于数据库打了很多opatch补丁,如果想部署同样的版本环境(如:dataguard),全新安装需要打很多opatch补丁,非常麻烦。可以通过oracle_home克隆的方式快速部署oracle软件。

将生产数据库oracle二进制代码tar包(oracle10g 、11g R1)

cd /u01/app/oracle/product/11.1.0
tar -cvf /tmp/source.tar .

复制tar包至目标主机(目标主机按照全新安装方式配置环境信息及信息内核参数)

scp /tmp/source.tar 192.168.1.1:/u01/app/oracle/product
cd /u01/app/oracle/product/
tar -xvf ./source.tar

如果希望目标平台保持和原生产平台的oracle_home路径一致,可以修改inventory.xml中记录的HOME路径

cd $ORACLE_BASE/oraInventory/ContentsXML

vi inventory.xml
HOME NAME=”Ora11g_gridinfrahome1”
LOC=”/oracle/app/oracle/product/11.1.0.old” TYPE=”O” IDX=”1” CRS=”true”/

在执行oralce_home克隆

cd $ORACLE_HOME/clone/bin perl clone.pl ORACLE_HOME=”/oracle/app/oracle/product/11.1.0”
ORACLE_HOME_NAME=”clone_home_test”
ORACLE_BASE=”/oracle/app/oracle”

11.2之后需要增加参数:

The $ORACLE_HOME/rdbms/lib/config.c contains the following lines:

define SS_DBA_GRP “”
define SS_OPER_GRP “”
define SS_ASM_GRP “”

In 11.2, the syntax for cloning an ORACLE_HOME has changed.

The clone.pl script has to be called using the following new variables:

OSDBA_GROUP=OSDBA_privileged_group
OSOPER_GROUP=OSOPER_privileged_group

$ORACLE_HOME/perl/bin/perl clone.pl ORACLE_BASE=”/u01/app/oracle”
ORACLE_HOME=”/u01/app/oracle/product/11.2.0.4/dbhome_1”
OSDBA_GROUP=OSDBA_privileged_group
OSOPER_GROUP=OSOPER_privileged_group -defaultHomeName

After cloning has completed, connecting to a database as SYSDBA gives the following error:

ORA-01031: insufficient privileges

Edit $ORACLE_HOME/rdbms/lib/config.c and set the correct groups:

define SS_DBA_GRP “dba”
define SS_OPER_GRP “dba”
define SS_ASM_GRP “dba”

Generate a new config.o and relink the oracle executable

cd $ORACLE_HOME/rdbms/lib
mv config.o config.bck
make -f ins_rdbms.mk ioracle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值