安裝Oracle RAC 11g

hooca發表於2014-12-05
OS:Oracle Linux 5u8
DB:  Oracle 11.2.0.5

一:伺服器環境

軟體包安裝

點選(此處)摺疊或開啟

  1. yum -y install \
  2. compat-db \
  3. control-center \
  4. gcc \
  5. gcc-c++ \
  6. glibc \
  7. glibc-common \
  8. glibc-devel \
  9. libstdc++ \
  10. libstdc++-devel \
  11. make \
  12. sysstat \
  13. libaio \
  14. compat-libstdc++-33 \
  15. glibc-headers \
  16. kernel-headers \
  17. libXp \
  18. openmotif22 \
  19. compat-libf2c \
  20. compat-libgcc \
  21. libgomp \
  22. libXmu \
  23. elfutils-libelf \
  24. elfutils-libelf-devel \
  25. elfutils-libelf-devel-static \
  26. libaio-devel \
  27. unixODBC \
  28. unixODBC-devel \
  29. libgcc
cat /etc/sysctl.conf

點選(此處)摺疊或開啟

  1. # Kernel sysctl configuration file for Oracle Enterprise Linux
  2. #
  3. # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
  4. # sysctl.conf(5) for more details.

  5. # Controls IP packet forwarding
  6. net.ipv4.ip_forward = 0

  7. # Controls source route verification
  8. # See /usr/share/doc/kernel-doc-*/Documentation/networking/ip-sysctl.txt
  9. net.ipv4.conf.default.rp_filter = 2

  10. # Do not accept source routing
  11. net.ipv4.conf.default.accept_source_route = 0

  12. # Controls the System Request debugging functionality of the kernel

  13. # Controls whether core dumps will append the PID to the core filename
  14. # Useful for debugging multi-threaded applications
  15. kernel.core_uses_pid = 1

  16. # Controls the use of TCP syncookies
  17. net.ipv4.tcp_syncookies = 1

  18. # Controls the maximum size of a message, in bytes

  19. # Controls the default maxmimum size of a mesage queue

  20. # Controls the maximum shared segment size, in bytes

  21. # Controls the maximum number of shared memory segments, in pages
  22. ## MLXNET tuning parameters ##
  23. net.ipv4.tcp_timestamps = 0
  24. net.ipv4.tcp_sack = 0
  25. net.ipv4.tcp_low_latency = 1
  26. net.core.netdev_max_backlog = 250000
  27. net.core.optmem_max = 16777216
  28. net.ipv4.tcp_mem = 16777216 16777216 16777216
  29. net.ipv4.tcp_rmem = 4096 87380 16777216
  30. net.ipv4.tcp_wmem = 4096 65536 16777216
  31. ## END MLXNET ##

  32. # For 11g, Oracle-Validated setting for fs.file-max is 6815744
  33. # For 10g, uncomment 'fs.file-max = 327679', and comment 'fs.file-max = 6553600' entry and re-run sysctl -p
  34. # fs.file-max = 327679
  35. fs.file-max = 6815744

  36. # Oracle-Validated setting for kernel.msgmni is 2878
  37. kernel.msgmni = 2878

  38. # Oracle-Validated setting for kernel.msgmax is 8192
  39. kernel.msgmax = 8192

  40. # Oracle-Validated setting for kernel.msgmnb is 65536
  41. kernel.msgmnb = 65536

  42. # Oracle-Validated setting for kernel.sem is '250 32000 100 142'
  43. kernel.sem = 250 32000 100 142

  44. # Oracle-Validated setting for kernel.shmmni is 4096
  45. kernel.shmmni = 4096

  46. # Oracle-Validated setting for kernel.shmall is 1073741824
  47. kernel.shmall = 1073741824

  48. # Oracle-Validated setting for kernel.shmmax is 4398046511104 on x86_64 and 4294967295 on i386 architecture. Refer Note id 567506.1
  49. kernel.shmmax = 4398046511104

  50. # Oracle-Validated setting for kernel.sysrq is 1
  51. kernel.sysrq = 1

  52. # Oracle-Validated setting for net.core.rmem_default is 262144
  53. net.core.rmem_default = 1048576

  54. # For 11g, Oracle-Validated setting for net.core.rmem_max is 4194304
  55. # For 10g, uncomment 'net.core.rmem_max = 2097152', comment 'net.core.rmem_max = 4194304' entry and re-run sysctl -p
  56. # net.core.rmem_max = 2097152
  57. net.core.rmem_max = 4194304

  58. # Oracle-Validated setting for net.core.wmem_default is 262144
  59. net.core.wmem_default = 262144

  60. # For 11g, Oracle-Validated setting for net.core.wmem_max is 1048576
  61. # For 10g, uncomment 'net.core.wmem_max = 262144', comment 'net.core.wmem_max = 1048576' entry for this parameter and re-run sysctl -p
  62. # net.core.wmem_max = 262144
  63. net.core.wmem_max = 1048576

  64. # Oracle-Validated setting for fs.aio-max-nr is 3145728
  65. fs.aio-max-nr = 3145728

  66. # For 11g, Oracle-Validated setting for net.ipv4.ip_local_port_range is 9000 65500
  67. # For 10g, uncomment 'net.ipv4.ip_local_port_range = 1024 65000', comment 'net.ipv4.ip_local_port_range = 9000 65500' entry and re-run sysctl -p
  68. # net.ipv4.ip_local_port_range = 1024 65000
  69. net.ipv4.ip_local_port_range = 9000 65500

  70. # Oracle-Validated setting for vm.min_free_kbytes is 51200 to avoid OOM killer
  71. vm.min_free_kbytes = 51200

vi /etc/security/limits.conf

點選(此處)摺疊或開啟

  1. # Oracle-Validated setting for nofile soft limit is 131072
  2. oracle soft nofile 131072
  3. grid soft nofile 131072

  4. # Oracle-Validated setting for nofile hard limit is 131072
  5. oracle hard nofile 131072
  6. grid hard nofile 131072

  7. # Oracle-Validated setting for nproc soft limit is 131072
  8. oracle soft nproc 131072
  9. grid soft nproc 131072

  10. # Oracle-Validated setting for nproc hard limit is 131072
  11. oracle hard nproc 131072
  12. grid hard nproc 131072

  13. # Oracle-Validated setting for core soft limit is unlimited
  14. oracle soft core unlimited
  15. grid soft core unlimited

  16. # Oracle-Validated setting for core hard limit is unlimited
  17. oracle hard core unlimited
  18. grid hard core unlimited

  19. # Oracle-Validated setting for memlock soft limit is 50000000
  20. oracle soft memlock 50000000
  21. grid soft memlock 50000000

  22. # Oracle-Validated setting for memlock hard limit is 50000000
  23. oracle hard memlock 50000000
  24. grid hard memlock 50000000
vi /etc/pam.d/login
增加一行

點選(此處)摺疊或開啟

  1. session required /lib64/security/pam_limits.so
vi /etc/profile

點選(此處)摺疊或開啟

  1. if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
  2.         if [ $SHELL = "/bin/ksh" ]; then
  3.               ulimit -p 16384
  4.               ulimit -n 65536
  5.         else
  6.               ulimit -u 16384 -n 65536
  7.         fi
  8. fi
配置好DNS或GNS

vi /etc/hosts

點選(此處)摺疊或開啟

  1. # Public Network - (eth0)
  2. 192.168.226.11 node1 node1.demo.com
  3. 192.168.226.12 node2 node2.demo.com

  4. # Private Interconnect - (eth1)
  5. 10.1.1.1 node1-priv node1-priv.demo.com
  6. 10.1.1.2 node2-priv node2-priv.demo.com

  7. # Public Virtual IP (VIP) addresses - (eth0:1)
  8. 192.168.226.21 node1-vip node1-vip.demo.com
  9. 192.168.226.22 node2-vip node2-vip.demo.com
建立使用者和組

點選(此處)摺疊或開啟

  1. groupadd -g 1000 oinstall
  2. groupadd -g 1100 asmadmin
  3. groupadd -g 1200 dba
  4. groupadd -g 1201 oper
  5. groupadd -g 1300 asmdba
  6. groupadd -g 1301 asmoper
  7. useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper grid
  8. useradd -u 1101 -g oinstall -G dba,oper,asmdba oracle
然後用passwd修改grid和oracle使用者密碼

建立目錄

點選(此處)摺疊或開啟

  1. mkdir -p /u01/app/11.2.0/grid
  2. chown -R grid:oinstall /u01
  3. mkdir /u01/app/oracle
  4. chown oracle:oinstall /u01/app/oracle
  5. chmod -R 775 /u01

使用者環境變數
vi. bash_profile

點選(此處)摺疊或開啟

  1. #grid
  2. # Oracle env settings
  3. export TMP=/tmp
  4. export TMPDIR=$TMP
  5. export ORACLE_BASE=/u01/app/grid
  6. export ORACLE_HOME=/u01/app/11.2.0/grid
  7. export GRID_HOME=/u01/app/11.2.0/grid
  8. export ORACLE_SID=+ASM1
  9. export ORACLE_PATH=/u01/app/oracle/common/oracle/sql
  10. export ORACLE_TERM=xterm
  11. export TNS_ADMIN=$ORACLE_HOME/network/admin
  12. export PATH=$ORACLE_HOME/bin:${JAVA_HOME}/bin:/u01/app/common/oracle/bin:$PATH:/usr/local/sbin:/usr/local/bin
  13. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:$ORACLE_HOME/ctx/lib:/lib:/usr/lib:/usr/local/lib
  14. export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
  15. export SQLPATH=~/admin/sql:$ORACLE_HOME/sqlplus/admin
  16. export LANG="en_US.UTF-8"
  17. export NLS_LANG='american_america.zhs16gbk'
  18. export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'

  19. #oracle使用者
  20. # Oracle env settings
  21. export TMP=/tmp
  22. export TMPDIR=$TMP
  23. export ORACLE_BASE=/u01/app/oracle
  24. export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
  25. export ORACLE_SID=racdb1
  26. export ORACLE_UNQNAME=racdb
  27. export ORACLE_PATH=/u01/app/oracle/common/oracle/sql
  28. export ORACLE_TERM=xterm
  29. export TNS_ADMIN=$ORACLE_HOME/network/admin
  30. export PATH=$ORACLE_HOME/bin:${JAVA_HOME}/bin:/u01/app/common/oracle/bin:$PATH:/usr/local/sbin:/usr/local/bin
  31. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:$ORACLE_HOME/ctx/lib:/lib:/usr/lib:/usr/local/lib
  32. export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
  33. export SQLPATH=~/admin/sql:$ORACLE_HOME/sqlplus/admin
  34. export LANG="en_US.UTF-8"
  35. export NLS_LANG='american_america.zhs16gbk'
  36. export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
配置NTP服務

配置grid使用者等效性

點選(此處)摺疊或開啟

  1. mkdir ~/.ssh
  2. chmod 700 ~/.ssh
  3. ssh-keygen -t rsa

  4. ssh-keygen -t dsa

  5. #在rac1上執行:
  6. cd ~/.ssh
  7. cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
  8. cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
  9. scp authorized_keys rac2:/home/grid/.ssh/
  10. 在rac2上執行
  11. cd ~/.ssh
  12. cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
  13. cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
  14. scp authorized_keys rac1:/home/grid/.ssh/




安裝cvuqdisk包

將grid安裝目錄中的grid/rpm/cvuqdisk-1.0.7-1rpm,分發到每個叢集節點安裝。然後執行驗證。

點選(此處)摺疊或開啟

  1. ./runcluvfy.sh stage -pre crsinst -n node1,node2 -fixup -verbose
這裡可能會出現有關NTP配置的錯誤:
PRVF-5436 : The NTP daemon running on one or more nodes lacks the slewing option "-x" 3.INFO: Clock synchronization check using Network Time Protocol(NTP) failed 4.INFO: PRVF-9652 : Cluster Time Synchronization Services check failed 原來是因為啟動了NTP服務,並且沒有加上-X這個引數。增加這個引數,不同的引數系統用不同方法,下面是LINUX的方法。

vi /etc/sysconfig/ntpd

點選(此處)摺疊或開啟

  1. OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
然後重啟ntpd服務

配置ASMLib

安裝RPM包
RHEL5:
http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html#oracleasm_rhel5_amd64
RHEL6:
http://www.oracle.com/technetwork/server-storage/linux/asmlib/ol6-1709075.html

配置(所有節點都需要做)

點選(此處)摺疊或開啟

  1. /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.


This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting without typing an
answer will keep that current value.  Ctrl-C will abort.


Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: 
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver:                     [  OK  ]
Scanning the system for Oracle ASMLib disks:               [  OK  ]

為每個將用作ASM磁碟的iscsi磁碟做好分割槽,然後建立ASM磁碟

點選(此處)摺疊或開啟

  1. [root@node1 ~]# /etc/init.d/oracleasm createdisk OCRVDISK1 /dev/sdc1
  2. Marking disk "OCRVDISK1" as an ASM disk:                   [  OK  ]
    [root@node1 ~]# /etc/init.d/oracleasm createdisk OCRVDISK2 /dev/sdd1
    Marking disk "OCRVDISK2" as an ASM disk:                   [  OK  ]
    [root@node1 ~]# /etc/init.d/oracleasm createdisk OCRVDISK3 /dev/sde1
    Marking disk "OCRVDISK3" as an ASM disk:                   [  OK  ]
    [root@node1 ~]# 
    [root@node1 ~]# /etc/init.d/oracleasm createdisk DBFILE1 /dev/sdf1  
    Marking disk "DBFILE1" as an ASM disk:                     [  OK  ]
    [root@node1 ~]# /etc/init.d/oracleasm createdisk DBFILE2 /dev/sdg1
    Marking disk "DBFILE2" as an ASM disk:                     [  OK  ]
    [root@node1 ~]# /etc/init.d/oracleasm createdisk DBFILE3 /dev/sdh1
    Marking disk "DBFILE3" as an ASM disk:                     [  OK  ]
    [root@node1 ~]# /etc/init.d/oracleasm createdisk FRA1 /dev/sdi1   
    Marking disk "FRA1" as an ASM disk:                        [  OK  ]
    [root@node1 ~]# /etc/init.d/oracleasm createdisk FRA2 /dev/sdj1
    Marking disk "FRA2" as an ASM disk:                        [  OK  ]
    [root@node1 ~]# /etc/init.d/oracleasm createdisk FRA3 /dev/sdk1
    Marking disk "FRA3" as an ASM disk:                        [  OK  ]

此時在node2上執行

點選(此處)摺疊或開啟

  1. oracleasm scandisks
至此,可以開始安裝GI了。

完成GI安裝後,開始安裝RDBMS(選擇只安裝軟體,不要建立例項)。

完成後,接下來使用asmca建立ASM例項。

接下來,使用DBCA建立資料庫例項

















來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22621861/viewspace-1358033/,如需轉載,請註明出處,否則將追究法律責任。

相關文章