打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Oracle 11g R2 RAC ASM OracleLinux6.4安装详解(图)
一、版本说明
发现网上相关文章很多但是不是很专,因此细化版本为了使文章更加实用。
这次搭建的是Oracle 11g R2 11.2.0.4的RAC环境,使用的操作系统版本为Oracle Linux 6.4

点击(此处)折叠或打开

  1. [root@node1 ~]# lsb_release -a
  2. LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
  3. Distributor ID: OracleServer
  4. Description: Oracle Linux Server release 6.4
  5. Release: 6.4
  6. Codename: n/a
内核版本:

点击(此处)折叠或打开

  1. [root@node1 ~]# uname -r
  2. 2.6.39-400.17.1.el6uek.x86_64
UEK代表Unbreakable Enterprise Kernel,是Oracle专门为Oracle Linux定制的内核,可以提供在线支持和对数据库的支持,算是OracleLinux的卖点之一。(本文中一些配置过程会因实用UEK版本而得到简化)

二、Oracle 11g R2 RAC安装整体步骤
1.服务器准备 (system, storage, and network administration):
  • 安装操作系统并升级到满足Oracle安装要求的版本。
  • 创建安装所需要的组、用户以及软件的家目录。
  • 设置GNS域名如果您打算部署GNS,并且完成网络地址在DNS和服务器上的配置。
  • 设置所要求的存储。
  • 将所有安装文件拷贝到一个节点上。
2.安装Oracle Grid集群基础架构, 包括Oracle Clusterware和Oracle ASM (system and storage administration):
  • 为集群安装Oracle Grid 基础架构软件。在安装过程中,Fixup脚本进行操作系统参数、SSH和用户环境变量等参数的附加调整。
  • 升级Oracle Clusterware和Oracle ASM到最新补丁。
3.安装Oracle RAC (database administration):
  •     安装Oracle RAC
  •     打补丁到最新版本
  •     完成安装后的调试

三、详细安装过程及说明(参考官方文档)

1.通过SecureCRT或TerminalX建立命令行连接。

2.在每一个节点上添加安装Oracle Grid的用户、组和家目录,并设置权限。

点击(此处)折叠或打开

  1. # /usr/sbin/groupadd -g 1000 oinstall
  2. # /usr/sbin/groupadd -g 1020 asmadmin
  3. # /usr/sbin/groupadd -g 1021 asmdba
  4. # /usr/sbin/groupadd -g 1022 asmoper
  5. # /usr/sbin/groupadd -g 1031 dba
  6. # /usr/sbin/groupadd -g 1032 oper
  7. # useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
  8. # useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
  9. # mkdir -p /u01/app/11.2.0/grid
  10. # mkdir -p /u01/app/grid
  11. # chown -R grid:oinstall /u01
  12. # mkdir /u01/app/oracle
  13. # chown oracle:oinstall /u01/app/oracle
  14. # chmod -R 775 /u01/
参照官方文档,采用GI与DB分开安装和权限的策略,对于多实例管理有利。

3.检查服务器各个节点的配置是否符合安装要求

I.服务器硬盘空间要求
/tmp目录大小至少:1GB
安装Grid Infrastracture所需空间:6.6GB
安装Oracle Database所需空间:4GB
此外安装过程中分析、收集、跟踪文件所需空间:10GB
建议总共至少30GB,放心!(此处不包含ASM或NFS的空间需求)

II.服务器内存要求

内存大小:至少2.5GB
Swap大小:
当内存为2.5GB-16GB时,Swap需要大于等于系统内存。
当内存大于16GB时,Swap等于16GB即可。


III
.检查和调试代码
  • 查看内存及Swap大小的命令如下。

点击(此处)折叠或打开

  1. # grep MemTotal /proc/meminfo
  2. # grep SwapTotal /proc/meminfo

  • 查看/tmp目录以及配置单独lv的命令如下。


点击(此处)折叠或打开

  1. # df -h /tmp
  2. # lvcreate -L 2G -n lv_tmp vg_temp
  3. # mount /dev/vg_temp/lv_tmp /tmp
  4. # df -h /tmp

4.设置操作系统相关参数

    这一项在非Oracle Linux的操作系统中算是一项比较繁琐的工作,然而我们这次安装的版本是Oracle Linux 6.4 with Unbreakable Enterprise Kernel,因此我们有了更简单的办法,就是通过安装Oracle Preinstallation RPM来实现相关操作系统参数的调整和软件包的安装。
这个安装包主要完成以下工作:
  • Automatically downloads and installs any additional RPM packages needed for installing Oracle Grid Infrastructure and Oracle Database, and resolves any dependencies

  • Creates an oracle user, and creates the oraInventory (oinstall) and OSDBA (dba) groups for that user

  • As needed, sets sysctl.conf settings, system startup parameters, and driver parameters to values based on recommendations from the Oracle Preinstallation RPM program

  • Sets hard and soft resource limits

  • Sets other recommended parameters, depending on your kernel version

此安装包位于操作系统安装盘的Packages目录下。

点击(此处)折叠或打开

  1. # cd /mnt/install_DVD
  2. # cd Packages
  3. # ll | grep preinstall
  4. -rw-r--r-- 1 root root 15524 Jan 16 2013 oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64.rpm
  5. # rpm -ivh oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64.rpm
安装包修改/etc/sysctl.conf的内容如下:
其中标有oracle-rdbms-server-11gR2-preinstall字样注释的便是安装包所添加的参数。

点击(此处)折叠或打开

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

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

  8. # Controls source route verification
  9. net.ipv4.conf.default.rp_filter = 1

  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. kernel.sysrq = 0

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

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

  19. # Disable netfilter on bridges.
  20. net.bridge.bridge-nf-call-ip6tables = 0
  21. net.bridge.bridge-nf-call-iptables = 0
  22. net.bridge.bridge-nf-call-arptables = 0

  23. # Controls the default maxmimum size of a mesage queue
  24. kernel.msgmnb = 65536

  25. # Controls the maximum size of a message, in bytes
  26. kernel.msgmax = 65536

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

  28. # Controls the maximum number of shared memory segments, in pages

  29. # oracle-rdbms-server-11gR2-preinstall setting for fs.file-max is 6815744
  30. fs.file-max = 6815744

  31. # oracle-rdbms-server-11gR2-preinstall setting for kernel.sem is '250 32000 100 128'
  32. kernel.sem = 250 32000 100 128

  33. # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmni is 4096
  34. kernel.shmmni = 4096

  35. # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmall is 1073741824 on x86_64
  36. # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmall is 2097152 on i386
  37. kernel.shmall = 1073741824

  38. # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmax is 4398046511104 on x86_64
  39. # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmax is 4294967295 on i386
  40. kernel.shmmax = 4398046511104

  41. # oracle-rdbms-server-11gR2-preinstall setting for net.core.rmem_default is 262144
  42. net.core.rmem_default = 262144

  43. # oracle-rdbms-server-11gR2-preinstall setting for net.core.rmem_max is 4194304
  44. net.core.rmem_max = 4194304

  45. # oracle-rdbms-server-11gR2-preinstall setting for net.core.wmem_default is 262144
  46. net.core.wmem_default = 262144

  47. # oracle-rdbms-server-11gR2-preinstall setting for net.core.wmem_max is 1048576
  48. net.core.wmem_max = 1048576

  49. # oracle-rdbms-server-11gR2-preinstall setting for fs.aio-max-nr is 1048576
  50. fs.aio-max-nr = 1048576

  51. # oracle-rdbms-server-11gR2-preinstall setting for net.ipv4.ip_local_port_range is 9000 65500
  52. net.ipv4.ip_local_port_range = 9000 65500

5.配置Oracle网络


I.硬件配置要求
  • 每个服务器节点至少需要2块网卡,一块对外网络接口,一块私有网络接口(心跳)。
  •  如果你通过OUI安装Oracle集群软件,需要保证每个节点用于外网或私网接口(网卡名)保证一致。比如,node1使用eth0作为对外接口,node2就不能使用eth1作为对外接口。

II.IP配置要求
  • 存在为集群服务的DHCP

  • DHCP能为每个节点提供足够的IP,一个虚拟IP、3个SCAN IP


III.非GNS下手动配置IP实例



6.检查操作系统软件包
首先,根据操作系统版本到官方文档中找到安装包需求列表
,如下图

可以通过mount安装盘或直接通过yum源检查和安装所需要的包:

点击(此处)折叠或打开

  1. # rpm -qa packages_name
  2. # rpm -ivh packages_name

  3. # yum list packages_name
  4. # yum install packages_name
这里还要提一下:CVUdisk这个包也可以在这个时候一起安装好,以备之后使用CVU时会用到。

点击(此处)折叠或打开

  1. # 检查是否已经安装
  2. # rpm -qi cvuqdisk
  3. # 如果已安装需要先卸载之前的版本
  4. # rpm -e cvuqdisk
  5. # 安装新版本
  6. # CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
  7. # rpm -ivh cvuqdisk-1.0.9-1.rpm

7.
关闭NTP及端口范围参数修改

点击(此处)折叠或打开

  1. # Oracle建议使用Oracle Cluster Time Synchronization Service,因此关闭删除NTP
  2. # /sbin/service ntpd stop
  3. # chkconfig ntpd off
  4. # rm /etc/ntp.conf (mv /etc/ntp.conf /etc/ntp.conf.old)
  5. # rm /var/run/ntpd.pid

  6. 检查TCP/UDP端口范围
  7. # cat /proc/sys/net/ipv4/ip_local_port_range
  8. 如果已经显示9000 65500,就不用进行下面的步骤了
  9. # echo 9000 65500 > /proc/sys/net/ipv4/ip_local_port_range
  10. # vim /etc/sysctl.conf
  11. # 添加此行:
  12. # TCP/UDP port range
  13. net.ipv4.ip_local_port_range = 9000 65500
  14. # 重启网络
  15. # /etc/rc.d/init.d/network restart

8.
调整.bash_profile内容并设置显示地址

点击(此处)折叠或打开

  1. 设置参数:
  2. $ su - root
  3. # mkdir /mount_point/tmp
  4. # chmod 775 /mount_point/tmp
  5. # exit

  6. $ vi .bash_profile
  7. 加入行:
  8. TEMP=/mount_point/tmp
  9. TMPDIR=/mount_point/tmp
  10. export TEMP TMPDIR
  11. 加入行:umask 022
  12. 加入行:DISPLAY=local_IP:0.0 ; export DISPLAY
  13. local_IP为你要将安装视图所显示的桌面地址

  14. 检查设置参数
  15. $ umask
  16. $ env | more
  17. $ echo $DISPLAY
  18. $ echo $TEMP
  19. $ echo $TMPDIR

9.
配置SSH互信
这是很关键的一步,虽然官方文档中声称安装GI和RAC的时候OUI会自动配置SSH,但为了在安装之前使用CVU检查各项配置,还是手动配置互信更优。

点击(此处)折叠或打开

  1. 配置过程如下:
  2. 各节点生成Keys:
  3. [root@rac1 ~]# su - oracle
  4. [oracle@rac1 ~]$ mkdir ~/.ssh
  5. [oracle@rac1 ~]$ chmod 700 ~/.ssh
  6. [oracle@rac1 ~]$ ssh-keygen -t rsa
  7. [oracle@rac1 ~]$ ssh-keygen -t dsa
  8. [root@rac2 ~]# su - oracle
  9. [oracle@rac2 ~]$ mkdir ~/.ssh
  10. [oracle@rac2 ~]$ chmod 700 ~/.ssh
  11. [oracle@rac2 ~]$ ssh-keygen -t rsa
  12. [oracle@rac2 ~]$ ssh-keygen -t dsa

  13. 在节点1上进行互信配置:
  14. [oracle@rac1 ~]$ touch ~/.ssh/authorized_keys
  15. [oracle@rac1 ~]$ cd ~/.ssh
  16. [oracle@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_rsa.pub >> authorized_keys
  17. [oracle@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_rsa.pub >> authorized_keys
  18. [oracle@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_dsa.pub >> authorized_keys
  19. [oracle@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_dsa.pub >> authorized_keys

  20. 在rac1把存储公钥信息的验证文件传送到rac2上
  21. [oracle@rac1 .ssh]$ pwd
  22. /home/oracle/.ssh
  23. [oracle@rac1 .ssh]$ scp authorized_keys rac2:'pwd'
  24. oracle@rac2's password:
  25. authorized_keys 100% 1644 1.6KB/s 00:00

  26. 设置验证文件的权限
  27. 在每一个节点执行:
  28. $ chmod 600 ~/.ssh/authorized_keys

  29. 启用用户一致性
  30. 在你要运行OUI的节点以oracle用户运行(这里选择rac1):
  31. [oracle@rac1 .ssh]$ exec /usr/bin/ssh-agent $SHELL
  32. [oracle@rac1 .ssh]$ ssh-add
  33. Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
  34. Identity added: /home/oracle/.ssh/id_dsa (/home/oracle/.ssh/id_dsa)

  35. 验证ssh配置是否正确
  36. 以oracle用户在所有节点分别执行:
  37. ssh rac1 date
  38. ssh rac2 date
  39. ssh rac1-priv date
  40. ssh rac2-priv date

  41. 如果不需要输入密码就可以输出时间,说明ssh验证配置成功。必须把以上命令在两个节点都运行,每一个命令在第一次执行的时候需要输入yes。
  42. 如果不运行这些命令,即使ssh验证已经配好,安装clusterware的时候也会出现错误:
  43. The specified nodes are not clusterable
  44. 因为,配好ssh后,还需要在第一次访问时输入yes,才算是真正的无障碍访问其他服务器。
请谨记,SSH互信需要实现的就是各个节点之间可以无密码进行SSH访问。

10.为Grid集群基础软件配置存储(使用ASM)
Oracle所允许的存储主要有ASM、NFS和ACFS等,这里仅介绍ASM的配置过程。
(1)安装ASM配置软件

点击(此处)折叠或打开

  1. 依然是可以通过yum或者系统DVD光盘安装
  2. # cd /mnt/install_DVD/Packages
  3. # rpm -qi oracleasm
  4. # rpm -qi oracleasm-support
  5. # rpm -qi oracleasm-support-2.1.8-1.el6.x86_64.rpm
  6. //我们是Oracle Linux系统,此版本已经集成了oracleasm和oracleasmlib,所以就不用再安装了~
(2)规划ASM磁盘组
官方文档中规定了不同冗余策略下OCR、Voting Disk、Database和Recovery所需求的大小。


找到存储管理员,把规划好的磁盘都让他给你配置好~

(3)配置ASM

点击(此处)折叠或打开

  1. 格式化每个磁盘
  2. [root@rac1 ~]# fdisk /dev/sdb

  3. 完成后我们通过fdisk -l查看一下
  4. [root@rac1 ~]# fdisk -l

  5. [root@rac1 ~]# /usr/sbin/oracleasm configure -i
  6. Default user to own the driver interface []: grid
  7. Default group to own the driver interface []: asmadmin
  8. Start Oracle ASM library driver on boot (y/n) [n]: y
  9. Scan for Oracle ASM disks on boot (y/n) [y]: y

  10. [root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
  11. [root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
  12. [root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd1

  13. 以下操作在另一个节点上进行,RAC2上操作
  14. [root@rac2 ~]# oracleasm scandisks
  15. 这里用到的是asmlib来做磁盘设备管理的,这里大家也可以使用UDEV来管理,在RHEL6中asmlib已经被废弃了,以后就是UDEV的天下

11.使用CVU检查各个节点的配置工作

千辛万苦终于到了安装前的最后一步~

点击(此处)折叠或打开

  1. [root@node1 ~]# su - grid
  2. [grid@node1 ~]$ cd grid_sw
  3. [grid@node1 grid_sw]$ ./runcluvfy.sh stage -pre crsinst -n node1,node2 -fixup -verbose
  4. 其中“grid_sw”为安装包解压出来的grid安装文件。
这一步的重点在于遇到报错怎样处理:
我这次安装遇到了PRVF-5636,此问题是由于没有DNS以及/etc/resolv.conf 的设置引起的,因为脚本要用nslookup命令去检测两个节点的连通性。

12.安装GI和RAC
(1)安装
Oracle Grid Infrastructure

安装过程中遇到了udev的报错,由于我们使用的oracleasmlib,所以直接无视~

(2)安装Oracle Database 11g with Oracle Real Application Clusters

安装Grid是难点,RAC只要Grid安装顺利基本不是问题,安装过程中也请先使用CVU进行安装前检测,本次安装过程中遇到了一些文件权限的问题,大家安装时也请多注意。尤其是ASM的权限和安装用户的家目录权限。

13.使用ASMCA和DBCA管理数据库
关于这两个管理软件网上文章很多,这里不再赘述。

鸣谢:
本文参考了众多高手的博客和文章,特此说明,以表敬意!
http://blog.itpub.net/28883355/viewspace-1125122/
http://blog.itpub.net/20674423/viewspace-1130320/
https://community.oracle.com/message/10696565
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
置oracle 11g r2 RAC on rhel5.5 (二)
Red Hat Linux 5.4 (虚拟机) 上安装 Oracle11g R2 RAC (ASM)
CentOS6.5 安装Oracle11g R2双节点群集
Oracle11gR2 RAC实时应用集群(2)在Windows2003 x86
CentOS7静默安装oracle11g
Oracle 数据库自动诊断库 ADR(Automatic Diagnostic Repository)简介
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服