您好,登錄后才能下訂單哦!
如果你需要安裝的數據庫服務器比較多,使用圖形化方式安裝數據庫軟件的速度還是很慢,而且也比較麻煩。Oracle 11g 提供了Clone安裝的方法。
步驟如下:
使用正常方法在服務器A上安裝好Oracle。
將A機器上的$ORACLE_HOME打包,db_home1.zip 。
將B機器的環境準備好,如建立用戶、建立用戶、修改內核參數,修改環境變量等等。
將zip包copy到B服務器,解壓到任意目錄。
執行Clone命令
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 hh34: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: db_1.zip 100% 2366MB 30.0MB/s 01:19
4. 解壓zip文件
[root@localhost oracle]# unzip -d / db_1.zip [root@localhost oracle]# chown -R oracle.oinstall /u01/
5.執行Clone命令
[oracle@localhost ~]$ cd /u01/app/oracle/product/11.2.0/db_1/clone/bin/ [oracle@localhost bin]$ $ORACLE_HOME/perl/bin/perl clone.pl ORACLE_BASE="/u01/app/oracle/" ORACLE_HOME="/u01/app/oracle/product/11.2.0/db_1" OSDBA_GROUP=dba OSOPER_GROUP=oper -defaultHomeName
執行結果如下
./runInstaller -clone -waitForCompletion "ORACLE_BASE=/u01/app/oracle/" "ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1" "oracle_install_OSDBA=dba" "oracle_install_OSOPER=oper" -defaultHomeName -defaultHomeName -silent -noConfig -nowait Starting Oracle Universal Installer... Checking swap space: must be greater than 500 MB. Actual 1999 MB Passed Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-08-22_05-13-13AM. Please wait ...Oracle Universal Installer, Version 11.2.0.4.0 Production Copyright (C) 1999, 2013, Oracle. All rights reserved. You can find the log of this install session at: /u01/app/oraInventory/logs/cloneActions2015-08-22_05-13-13AM.log .................................................................................................... 100% Done. Installation in progress (Saturday, August 22, 2015 5:13:31 AM CST) .............................................................................. 78% Done. Install successful Linking in progress (Saturday, August 22, 2015 5:13:38 AM CST) Link successful Setup in progress (Saturday, August 22, 2015 5:13:41 AM CST) Setup successful End of install phases.(Saturday, August 22, 2015 5:14:06 AM CST) WARNING:A new inventory has been created in this session. However, it has not yet been registered as the central inventory of this system. To register the new inventory please run the script '/u01/app/oraInventory/orainstRoot.sh' with root privileges. If you do not register the inventory, you may not be able to update or patch the products you installed. The following configuration scripts need to be executed as the "root" user. /u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/db_1/root.sh To execute the configuration scripts: 1. Open a terminal window 2. Log in as "root" 3. Run the scripts The cloning of OraHome1 was successful. Please check '/u01/app/oraInventory/logs/cloneActions2015-08-22_05-13-13AM.log' for more details.
6. 使用root用戶運行上面的兩個腳本
[root@localhost ~]# /u01/app/oraInventory/orainstRoot.sh [root@localhost ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh
安裝完畢!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。