Oracle 11g Clone安装方法

如果你需要安装的数据库服务器比较多,使用图形化方式安装数据库软件的速度还是很慢,而且也比较麻烦。Oracle 11g 提供了Clone安装的方法。

步骤如下:

使用正常方法在服务器A上安装好Oracle。

将A机器上的$ORACLE_HOME打包,db_home1.zip 。

将B机器的环境准备好,如建立用户、建立用户、修改内核参数,修改环境变量等等。

将zip包copy到B服务器,解压到任意目录。

执行Clone命令

1.A机器上打包

[root@localhost oracle]# zip -r db_1.zip /u01/app/oracle/product/11.2.0/db_1/

2. 准备B机器环境

[root@localhost inst_env_scripts]# ./1preusers.sh

[root@localhost inst_env_scripts]# ./2predir.sh

[root@localhost inst_env_scripts]# ./3prelimits.sh

[root@localhost inst_env_scripts]# ./4presysctl.sh

脚本内容如下

[root@localhost inst_env_scripts]# cat 1preusers.sh

#!/bin/bash

#Purpose:Create 3 groups named 'oinstall','dba','oper', plus 1 users named 'oracle'.

#Also setting the Environment

#variable for oracle user.

#variable for grid user.

#Usage:Log on as the superuser('root'),and then execute the command:#./1preusers.sh

#Author:ding liqing

echo "Now create 3 groups named 'oinstall','dba','oper'"

echo "Plus 1 users named 'oracle',Also setting the Environment"

groupadd -g 1000 oinstall

groupadd -g 1300 dba

groupadd -g 1301 oper

useradd -u 1101 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle

echo "oracle" | passwd --stdin oracle

echo "export TMP=/tmp">> /home/oracle/.bash_profile 

echo 'export TMPDIR=$TMP'>>/home/oracle/.bash_profile

echo "export ORACLE_SID=orcl">> /home/oracle/.bash_profile

echo "export ORACLE_BASE=/u01/app/oracle">> /home/oracle/.bash_profile

echo 'export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1'>> /home/oracle/.bash_profile

echo 'export TNS_ADMIN=$ORACLE_HOME/network/admin'  >> /home/oracle/.bash_profile

echo 'export PATH=/usr/sbin:$PATH'>> /home/oracle/.bash_profile

echo 'export PATH=$ORACLE_HOME/bin:$PATH'>> /home/oracle/.bash_profile

echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib'>> /home/oracle/.bash_profile

echo 'export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib'>> /home/oracle/.bash_profile

echo "export EDITOR=vi" >> /home/oracle/.bash_profile

echo "export LANG=en_US" >> /home/oracle/.bash_profile

echo "export NLS_LANG=american_america.AL32UTF8" >> /home/oracle/.bash_profile

echo "export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'" >> /home/oracle/.bash_profile

echo "umask 022">> /home/oracle/.bash_profile

echo "The Groups and users has been created"

echo "The Environment for oracle also has been set successfully"

[root@localhost inst_env_scripts]# cat 2predir.sh

#!/bin/bash

#Purpose:Create the necessary directory for oracle users and change the authention to oracle users.

#Usage:Log on as the superuser('root'),and then execute the command:#./2predir.sh

#Author:ding liqing

echo "Now create the necessary directory for oracle users and change the authention to oracle users..."

mkdir -p /u01/app/oracle

chown -R oracle:oinstall /u01

chmod -R 775 /u01

echo "The necessary directory for oracle users and change the authention to oracle users has been finished"


 

[root@localhost inst_env_scripts]# cat 3prelimits.sh

#!/bin/bash

#Purpose:Change the /etc/security/limits.conf.

#Usage:Log on as the superuser('root'),and then execute the command:#./3prelimits.sh

#Author:ding lq

echo "Now modify the /etc/security/limits.conf,but backup it named /etc/security/limits.conf.bak before"

cp /etc/security/limits.conf /etc/security/limits.conf.bak

echo "oracle soft nproc 2047" >>/etc/security/limits.conf

echo "oracle hard nproc 16384" >>/etc/security/limits.conf

echo "oracle soft nofile 1024" >>/etc/security/limits.conf

echo "oracle hard nofile 65536" >>/etc/security/limits.conf

echo "Modifing the /etc/security/limits.conf has been succeed."

#Usage:Log on as the superuser('root'),and then execute the command:#./4presysctl.sh

#Author:ding liqing

echo "Now modify the /etc/sysctl.conf,but with a backup named /etc/sysctl.bak"

cp /etc/sysctl.conf /etc/sysctl.conf.bak

echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf

echo "fs.file-max = 6815744" >> /etc/sysctl.conf

echo "kernel.shmall = 2097152" >> /etc/sysctl.conf

echo "kernel.shmmax = 1054472192" >> /etc/sysctl.conf

echo "kernel.shmmni = 4096" >> /etc/sysctl.conf

echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf

echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf

echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf

echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf

echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf

echo "net.core.wmem_max = 1048586" >> /etc/sysctl.conf

echo "net.ipv4.tcp_wmem = 262144 262144 262144" >> /etc/sysctl.conf

echo "net.ipv4.tcp_rmem = 4194304 4194304 4194304" >> /etc/sysctl.conf

echo "Modifing the /etc/sysctl.conf has been succeed."

echo "Now make the changes take effect....."

sysctl -p


3. 将A机器上的zip包copy到B机器上

[root@localhost inst_env_scripts]# scp 192.168.199.163:/home/oracle/db_1.zip /home/oracle/

The authenticity of host '192.168.199.163 (192.168.199.163)' can't be established.

RSA key fingerprint is cc:d0:c3:de:37:33:a7:cb:91:40:c5:5f:18:07:06:9f.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.199.163' (RSA) to the list of known hosts.

root@192.168.199.163's password:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/880a76c06c8870621fe1059c7af49ccb.html