oracle_home克隆

来源:互联网 发布:网易域名管理网站 编辑:程序博客网 时间:2024/06/05 18:33

在生产系统运行一段时间后,由于数据库打了很多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

原创粉丝点击