您的位置:首页 > 博客中心 > 数据库 >

Oracle 学习之 11g Clone 安装

时间:2022-03-14 13:46

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

    安装完毕!

    本文出自 “” 博客,请务必保留此出处

本类排行

今日推荐

热门手游