zoukankan      html  css  js  c++  java
  • Oracle11gR2_RAC全静默安装攻略

     

    1   系统规划

     

    DNS Server: 192.168.6.101

    FreeNAS Server : 192.168.6.102

    SCAN IP: 192.168.6.107, 192.168.6.108

    RAC1

    RAC2

    Hostname

    rac1.vmrac.com

    rac2.vmrac.com

    Public IP

    192.168.6.103

    192.168.6.104

    Private IP

    192.168.100.103

    192.168.100.104

    Virtual IP

    192.168.6.105

    192.168.6.106

     

    2   服务器安装

    2.1   操作系统安装

    操作系统为 CentOS 5.8 x86_64。为满足Oracle安装需求,设置系统swap空间至少为内存1.5倍,最大16G

    2.1.1   DNS服务器设置

    # yum --disablerepo=\* --enablerepo=c5-media -y  install bind bind-chroot caching-nameserver

     

    cd /var/named/chroot/etc/  

    cp -p named.caching-nameserver.conf   named.conf  

    cp -p named.rfc1912.zones   named.zones

     

    #########################################################

    # 修改红色部分

    vi named.conf

    options {

           listen-on port 53 { any; };

           listen-on-v6 port 53 { ::1; };

           directory        "/var/named";

           dump-file      "/var/named/data/cache_dump.db";

            statistics-file "/var/named/data/named_stats.txt";

            memstatistics-file "/var/named/data/named_mem_stats.txt";

     

           // Those options should be used carefully because they disable port

           // randomization

           // query-source    port 53;  

           // query-source-v6 port 53;

     

           allow-query     { any; };

           allow-query-cache { any; };

    };

    logging {

            channel default_debug {

                    file "data/named.run";

                    severity dynamic;

            };

    };

    view localhost_resolver {

           match-clients    { any; };

           match-destinations { any; };

           recursion yes;

           include "/etc/named.zones";

    };

     

    #########################################################

    vi named.zones

    # 修改顶级域内容为/dev/null,目的是为了通过CRS安装的验证。

    zone "." IN {

           type hint;

           file "/dev/null";

    };

     

    #以下两个zone为新增的,包含正向和反向zone 

    zone "vmrac.com" IN { 

            type master; 

            file "vmrac.com.zero"; 

            allow-update { none; }; 

    }; 

       

    zone "6.168.192.in-addr.arpa" IN { 

            type master; 

            file "6.168.192.local"; 

            allow-update { none; }; 

    }; 

     

    #########################################################

    cd /var/named/chroot/var/named/

    cp -p named.zero vmrac.com.zero

    cp -p named.local 6.168.192.local

     

    # 这里加入了scan,还可以加入hosts里面的其他配置

    # vi vmrac.com.zero

    $TTL    86400

    @               IN SOA  vmrac.com.      root.vmrac.com. (

                                            42              ; serial (d. adams)

                                            3H              ; refresh

                                            15M             ; retry

                                            1W              ; expiry

                                            1D )            ; minimum

                        IN   NS   vmrac.com.

    rac-scan               IN   A     192.168.6.107

    rac-scan               IN   A     192.168.6.108

    rac-scan.vmrac.com       IN   A     192.168.6.107

    rac-scan.vmrac.com       IN   A     192.168.6.108

     

    # vi 6.168.192.local

    $TTL      86400

    @       IN      SOA     vmrac.com. root.vmrac.com.  (

                                          1997022700 ; Serial

                                          28800      ; Refresh

                                          14400      ; Retry

                                          3600000    ; Expire

                                          86400 )    ; Minimum

        IN  NS  vmrac.com.

    1   IN  PTR vmrac.com.

    107  IN   PTR rac-scan.vmrac.com.

    108  IN   PTR rac-scan.vmrac.com.

     

    #########################################################

    重新启动DNS服务

    chkconfig named on

    service named restart

    2.1.2   FreeNAS设置

    共享存储的设置见《搭建基于FreeNAS的共享存储

    2.2   操作系统设置

    2.2.1   修改共享内存(All)

    vi /etc/fstab

    tmpfs /dev/shm tmpfs defaults,size=3276M 0 0

    为了启用Oracle 11g AMM特性,此处size至少设置为物理内存的80%

     

    mount -o remount /dev/shm

    2.2.2   安装必要的包(All)

    yum --disablerepo=\* --enablerepo=c5-media -y  install binutils  compat-db compat-gcc-34  compat-gcc-34-c++  compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc-* libXp.so.6 libXt.so.6 libXtst.so.6 libgcc_s.so.1 ksh libXp libaio-devel numactl numactl-devel  sysstat  unixODBC unixODBC-devel pdksh

     

    如果:pdkshyum不到,需要手工安装

    # rpm -e ksh   如果和 ksh有冲突,可以把ksh卸载掉

    # rpm -i pdksh-5.2.14-37.el5.i386.rpm

    # rpm -i pdksh-5.2.14-37.el5.x86_64.rpm

     

    2.2.3   临时禁用防火墙(All)

    chkconfig iptables off

    service iptables stop

    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

     

    2.2.4   DNS配置(All)

    # hosts文件里面加入地址信息

    vi /etc/hosts

     

    # public

    192.168.6.103        rac1.vmrac.com  rac1

    192.168.6.104        rac2.vmrac.com  rac2

     

    # private

    192.168.100.103           rac1-priv.vmrac.com rac1-priv

    192.168.100.104           rac2-priv.vmrac.com rac2-priv

     

    # virtual

    192.168.6.105        rac1-vip.vmrac.com  rac1-vip

    192.168.6.106        rac2-vip.vmrac.com  rac2-vip

     

     

    # 配置DNS信息

    vi /etc/resolv.conf

     

    search vmrac.com

    nameserver 192.168.6.101

     

    2.2.5   NTP配置(All)

    在虚拟机的测试环境中,一个简单的办法是两个节点互为NTP服务器。

    mv /etc/ntp.conf /etc/ntp.conf.bak

     

    vi /etc/ntp.conf

    RAC1

    RAC2

    server      rac1

    server      rac2

    fudge      rac1 stratum    10

    driftfile   /etc/ntp/drift

    server      rac1

    server      rac2

    fudge      rac2 stratum    10

    driftfile   /etc/ntp/drift

     

    chown ntp:ntp /etc/ntp

     

    vi /etc/sysconfig/ntpd

    # 加入 -x 参数

    OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

     

    chkconfig ntpd on

    service ntpd restart

    ntpq -p

    2.2.6   内核参数(All)

    ########################################

    vi /etc/sysctl.conf

     

    kernel.shmmni = 4096

    kernel.sem = 250 32000 100 128

    fs.file-max = 6815744

    fs.aio-max-nr = 1048576

    net.ipv4.ip_local_port_range = 9000 65500

    net.core.rmem_default = 4194304

    net.core.rmem_max = 4194304

    net.core.wmem_default = 262144

    net.core.wmem_max = 1048576

     

    /sbin/sysctl -p

     

    ########################################

    vi /etc/security/limits.conf  

     

    # Added for Oracle Shell Limits

    oracle soft nproc 2047

    oracle hard nproc 16384

    oracle soft nofile 1024

    oracle hard nofile 65536

     

    grid soft nproc 2047

    grid hard nproc 16384

    grid soft nofile 1024

    grid hard nofile 65536

     

    ########################################

    vi /etc/pam.d/login

     

    # Added for Oracle Shell Limits

    session required pam_limits.so

     

    2.2.7   创建用户(All)

    groupadd oinstall

    groupadd dba

    groupadd asmdba

    groupadd asmadmin

    groupadd asmoper

    useradd -g oinstall -G dba,asmdba -d /home/oracle -s /bin/bash -m oracle

    echo oracle | passwd --stdin oracle

    useradd -g oinstall -G dba,asmdba,asmadmin,asmoper -d /home/grid -s /bin/bash -m grid

    echo grid | passwd --stdin grid

    2.2.8   创建目录(All)

    mkdir -p /u01/app/oracle

    mkdir -p /u01/app/grid

    mkdir -p /u01/app/grid_home

    mkdir -p /u01/oradata

    mkdir -p /u01/redo

    mkdir -p /u02/archivelog

    mkdir -p /u02/rmanbackup

    mkdir -p /u02/dpdump

    mkdir -p /home/oracle/script

    mkdir -p /home/oracle/upload

    mkdir -p /home/grid/upload

    chown -R oracle:oinstall /home/oracle

    chown -R grid:oinstall /home/grid

    chown -R oracle:oinstall /u01

    chown -R oracle:oinstall /u02

    chown -R grid:oinstall /u01/app/grid

    chown -R grid:oinstall /u01/app/grid_home

    chmod -R 775 /u01

    chmod -R 775 /u02

     

    2.2.9   环境变量(All)

    # cp ./rlwrap_static_x64 /usr/bin/

    # chmod +x /usr/bin/rlwrap*

    # ln -s /usr/bin/rlwrap_static_x64 /usr/bin/rlwrap

     

    # vi /home/grid/.bash_profile

    RAC1

    RAC2

    export ORACLE_HOSTNAME=`hostname`

    export ORACLE_BASE=/u01/app/grid

    export GI_HOME=/u01/app/grid_home

    export ORACLE_HOME=${GI_HOME}

    export ORACLE_HOME_LISTNER=${ORACLE_HOME}

    export ORACLE_PATH=${ORACLE_HOME}/rdbms/admin

    export ORACLE_SID=+ASM1

    export PATH=${PATH}:${ORACLE_HOME}/bin

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib

    export SQLPATH=~/script

    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

     

    alias ct='crs_stat -t'

    alias asmcmd='rlwrap asmcmd'

     

    export ORACLE_HOSTNAME=`hostname`

    export ORACLE_BASE=/u01/app/grid

    export GI_HOME=/u01/app/grid_home

    export ORACLE_HOME=${GI_HOME}

    export ORACLE_HOME_LISTNER=${ORACLE_HOME}

    export ORACLE_PATH=${ORACLE_HOME}/rdbms/admin

    export ORACLE_SID=+ASM2

    export PATH=${PATH}:${ORACLE_HOME}/bin

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib

    export SQLPATH=~/script

    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

     

    alias ct='crs_stat -t'

    alias asmcmd='rlwrap asmcmd'

     

     

    # vi /home/oracle/.bash_profile

    RAC1

    RAC2

    export ORACLE_HOSTNAME=`hostname`

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/dbhome_1

    export ORACLE_HOME_LISTNER=${ORACLE_HOME}

    export ORACLE_PATH=${ORACLE_HOME}/rdbms/admin

    export ORACLE_SID=demo1

    export PATH=${PATH}:${ORACLE_HOME}/bin

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib

    export SQLPATH=~/script

    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

     

    alias sqlplus='rlwrap sqlplus'

    alias rman='rlwrap rman'

    alias dgmgrl='rlwrap dgmgrl'

     

    export ORACLE_HOSTNAME=`hostname`

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/dbhome_1

    export ORACLE_HOME_LISTNER=${ORACLE_HOME}

    export ORACLE_PATH=${ORACLE_HOME}/rdbms/admin

    export ORACLE_SID=demo2

    export PATH=${PATH}:${ORACLE_HOME}/bin

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib

    export SQLPATH=~/script

    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

     

    alias sqlplus='rlwrap sqlplus'

    alias rman='rlwrap rman'

    alias dgmgrl='rlwrap dgmgrl'

     

    2.2.10 用户等效性设置(RAC1)

    11g中的用户等效性,通过GI安装文件目录下的脚本执行。在安装的过程中,需要输入对应用户的密码信息。

    # ./sshUserSetup.sh -user grid -hosts "rac1 rac2" - noPromptPassphrase -confirm -advanced

    # ./sshUserSetup.sh -user oracle -hosts "rac1 rac2" - noPromptPassphrase -confirm -advanced

    2.3   共享存储安装

    2.3.1   挂载存储(All)

    共享存储的设置见《搭建基于FreeNAS的共享存储

     

    2.3.2   ASM驱动安装(All)

    本节的操作如无特殊说明,都是使用root用户执行。

     

    涉及文件(和系统内核统一版本)

    Ø  oracleasm-support-2.1.7-1.el5.x86_64.rpm

    Ø  oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm

    Ø  oracleasmlib-2.0.4-1.el5.x86_64.rpm

     

    安装ASM(All)

    # rpm -ivh *.rpm

    默认安装顺序和上面文件列表的排序一致

     

    配置ASM(All)

    # oracleasm configure -i

    在提示输入用户和组信息的时候,输入gridasmadmin

     

    初始化磁盘路径,默认/dev/oracleasm/disks/ (All)

    # oracleasm init

     

    2.3.3   创建ASM磁盘(RAC1)

    # oracleasm createdisk ocr1 /dev/sda5

    # oracleasm createdisk fra1 /dev/sda6

    # oracleasm createdisk data1 /dev/sda7

    # oracleasm createdisk data2 /dev/sda8

     

    刷新ASM磁盘信息(All)

    # oracleasm scandisks

    # oracleasm listdisks

     

    2.4   GRID软件安装

    本节的操作如无特殊说明,都是使用grid用户执行。

    2.4.1   安装前验证(RAC1)

    在实际安装之前,通过GI安装文件目录下的runcluvfy工具进行验证。

    $ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose

    2.4.2   静默安装配置(RAC1)

    修改静默安装配置文件my_grid_install_rac.rsp

     

    配置文件要特别注意,ORACLE_HOME不能在ORACLE_BASE路径下面。(oracle用户的要求相反,ORACLE_HOME要在ORACLE_BASE下面)

    # cat /home/grid/upload/my_grid_install_rac.rsp | grep -v ^# | grep -v ^$

     

    # 仅保留了部分重要的参数

    ORACLE_HOSTNAME=rac1.vmrac.com

    INVENTORY_LOCATION=/u01/app/oraInventory

    SELECTED_LANGUAGES=en

    oracle.install.option=CRS_CONFIG

    ORACLE_BASE=/u01/app/grid

    ORACLE_HOME=/u01/app/grid_home

    oracle.install.asm.OSDBA=asmdba

    oracle.install.asm.OSOPER=asmoper

    oracle.install.asm.OSASM=asmadmin

    oracle.install.crs.config.gpnp.scanName=rac-scan.vmrac.com

    oracle.install.crs.config.gpnp.scanPort=1521

    oracle.install.crs.config.clusterName=rac-cluster

    oracle.install.crs.config.gpnp.configureGNS=false

    oracle.install.crs.config.autoConfigureClusterNodeVIP=false

    oracle.install.crs.config.clusterNodes=rac1:rac1-vip,rac2:rac2-vip

    oracle.install.crs.config.networkInterfaceList=eth0:192.168.6.0:1,eth1:192.168.100.0:2

    oracle.install.crs.config.storageOption=ASM_STORAGE

    oracle.install.crs.config.useIPMI=false

    oracle.install.asm.SYSASMPassword=888888

    oracle.install.asm.diskGroup.name=OCR

    oracle.install.asm.diskGroup.redundancy=EXTERNAL

    oracle.install.asm.diskGroup.AUSize=1

    oracle.install.asm.diskGroup.disks=/dev/oracleasm/disks/OCR1

    oracle.install.asm.diskGroup.diskDiscoveryString=/dev/oracleasm/disks/*

    oracle.install.asm.monitorPassword=888888

    2.4.3   静默安装软件(RAC1)

    注意:-responseFile参数必须使用绝对路径

    $ ./runInstaller -silent -ignoreSysPrereqs -ignorePrereq -showProgress -responseFile /home/grid/upload/my_grid_install_rac.rsp

     

    (AllOrder)

    顺利执行完安装之后,还是以root身份运行配置文件。运行的顺序是rac1rac2,而且必须等前一个运行完成之后才能进行下一个。在运行root.sh的时候,可以通过log文件的内容来监控进度。

    # /u01/app/oraInventory/orainstRoot.sh

    # /u01/app/grid_home/root.sh

     

    (RAC1)

    在所有节点都执行了上面的操作之后,还需要以grid用户执行configToolAllCommands 。这个脚本必须在执行安装过程的节点上执行,并且需要提供一个配置文件。

     

    $ cd $ORACLE_HOME/cfgtoollogs/

    # 编辑一个响应文件保存ASM的密码,生成密码文件的过程需要使用

    $ vi cfgrsp.properties

    oracle.assistants.asm|S_ASMPASSWORD=888888

    oracle.assistants.asm|S_ASMMONITORPASSWORD=888888

     

    $ chmod 600 cfgrsp.properties

    $ ./configToolAllCommands RESPONSE_FILE=./cfgrsp.properties

     

    2.5   ASM磁盘组

    本节的操作如无特殊说明,都是使用grid用户执行。

    2.5.1   增加磁盘组(RAC1

    在安装GRID的过程中,已经建立了OCR磁盘组,这里增加其他的两个磁盘组。为了演示不同的语法,这里用了增加磁盘的做法。

     

    $ asmca -silent -createDiskGroup -sysAsmPassword 888888 -diskString '/dev/oracleasm/disks/*' -diskGroupName FRA -diskList '/dev/oracleasm/disks/FRA1' -redundancy EXTERNAL -compatible.asm 11.2 -compatible.rdbms 11.2

     

    $ asmca -silent -createDiskGroup -sysAsmPassword 888888 -diskString '/dev/oracleasm/disks/*' -diskGroupName DATA -diskList '/dev/oracleasm/disks/DATA1' -redundancy EXTERNAL -compatible.asm 11.2 -compatible.rdbms 11.2

     

    $ asmca -silent -addDisk -sysAsmPassword 888888 -diskGroupName DATA -diskList '/dev/oracleasm/disks/DATA2'

     

    2.6   数据库软件安装

    本节的操作如无特殊说明,都是使用oracle用户执行。

    2.6.1   安装前验证(RAC1

    在实际安装之前,通过cluvfy工具进行验证。这个时候因为仅安装了GI软件,所以暂时使用grid用户目录下的工具来运行。

    $ /u01/app/grid_home/bin/ cluvfy stage -pre dbinst -n rac1,rac2 -verbose

    2.6.2   静默安装配置RAC1

    确认并修改静默安装配置文件my_db_install_swonly_rac.rsp

    $ cat /home/oracle/upload/my_db_install_swonly_rac.rsp | grep -v ^# | grep -v ^$

     

    # 仅保留部分参数,和单机安装最大的一个区别就是oracle.install.db.CLUSTER_NODES参数

    oracle.install.option=INSTALL_DB_SWONLY

    ORACLE_HOSTNAME=rac1.vmrac.com

    UNIX_GROUP_NAME=oinstall

    INVENTORY_LOCATION=/u01/app/oraInventory

    SELECTED_LANGUAGES=en

    ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

    ORACLE_BASE=/u01/app/oracle

    oracle.install.db.InstallEdition=EE

    oracle.install.db.EEOptionsSelection=false

    oracle.install.db.DBA_GROUP=dba

    oracle.install.db.OPER_GROUP=oinstall

    oracle.install.db.CLUSTER_NODES=rac1,rac2

    DECLINE_SECURITY_UPDATES=true

     

    2.6.3   静默安装软件RAC1

    注意:-responseFile参数必须使用绝对路径

    $ ./runInstaller -silent -force -showProgress -responseFile /home/oracle/upload/my_db_install_swonly_rac.rsp

     

    (AllOrder)

    最后步骤是用root身份执行下面文件。

    # /u01/app/oracle/product/11.2.0/dbhome_1/root.sh

     

    2.7   数据库安装

    本节的操作如无特殊说明,都是使用oracle用户执行。

    2.7.1   安装前验证(RAC1

    $ cluvfy stage -pre dbcfg -n rac1,rac2 -d $ORACLE_HOME

    2.7.2   静默安装配置RAC1

    确认并修改静默安装配置文件my_dbca_createdb_rac.rsp(注意修改GDBNAMESIDTOTALMEMORY和密码)

    $ cat /home/oracle/upload/my_dbca_createdb_rac.rsp | grep -v ^# | grep -v ^$

     

    # 仅保留部分参数,和单机安装最大的一个区别就是NODELIST参数

    OPERATION_TYPE = "createDatabase"

    GDBNAME = "demo"

    SID = "demo"

    NODELIST=rac1,rac2

    TEMPLATENAME = "General_Purpose.dbc"

    SYSPASSWORD = "888888"

    SYSTEMPASSWORD = "888888"

    STORAGETYPE=ASM

    DISKGROUPNAME=DATA

    RECOVERYGROUPNAME=FRA

    CHARACTERSET = "ZHS16GBK"

    NATIONALCHARACTERSET= "AL16UTF16"

    2.7.3   静默安装数据库RAC1

    注意:-responseFile参数必须使用绝对路径

    $ dbca -silent -responseFile /home/oracle/upload/my_dbca_createdb_rac.rsp

     

    2.7.4   检查参数(可选)

     

    2.8   参考资料

    我的Blog文章

    64Linux平台安装Oracle11gR2

    Oracle 11gR2 Silent Install

    CentOS环境配置Oracle 11g R2 Data Guard

    CentOS 下修改/dev/shm 大小解决ORA-00845

    Oracle Restart 11gR2 安装

    搭建基于FreeNAS的共享存储

     

     

     

    作者:wait4friend
    Weibo:@wait4friend
    Twitter:@wait4friend
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    配置Apache虚拟主机
    Apache: You don't have permission to access / on this server
    wordpress之备份与恢复数据
    ruby之各种概念
    Oracle之比较NVARCHAR2字符串
    Centos安装ruby--jekyll
    Linux之IO Redirection
    SecureCRT导入已有会话
    jdk1.8新特性应用之Iterable
    jdk1.8新特性应用之Collection
  • 原文地址:https://www.cnblogs.com/wait4friend/p/2852904.html
Copyright © 2011-2022 走看看