Oracle 11g R2+RAC+ASM+OracleLinux6.4安装详解(图)
发现网上相关文章很多但是不是很专,因此细化版本为了使文章更加实用。
这次搭建的是Oracle 11g R2 11.2.0.4的RAC环境,使用的操作系统版本为Oracle Linux 6.4
点击(此处)折叠或打开
- [root@node1 ~]# lsb_release -a
- 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
- Distributor ID: OracleServer
- Description: Oracle Linux Server release 6.4
- Release: 6.4
- Codename: n/a
点击(此处)折叠或打开
- [root@node1 ~]# uname -r
- 2.6.39-400.17.1.el6uek.x86_64
二、Oracle 11g R2 RAC安装整体步骤
- 安装操作系统并升级到满足Oracle安装要求的版本。
- 创建安装所需要的组、用户以及软件的家目录。
- 设置GNS域名如果您打算部署GNS,并且完成网络地址在DNS和服务器上的配置。
- 设置所要求的存储。
- 将所有安装文件拷贝到一个节点上。
- 为集群安装Oracle Grid 基础架构软件。在安装过程中,Fixup脚本进行操作系统参数、SSH和用户环境变量等参数的附加调整。
-
升级Oracle Clusterware和Oracle ASM到最新补丁。
- 安装Oracle RAC
- 打补丁到最新版本
- 完成安装后的调试
三、详细安装过程及说明(参考官方文档)
1.通过SecureCRT或TerminalX建立命令行连接。
2.在每一个节点上添加安装Oracle Grid的用户、组和家目录,并设置权限。
点击(此处)折叠或打开
- # /usr/sbin/groupadd -g 1000 oinstall
- # /usr/sbin/groupadd -g 1020 asmadmin
- # /usr/sbin/groupadd -g 1021 asmdba
- # /usr/sbin/groupadd -g 1022 asmoper
- # /usr/sbin/groupadd -g 1031 dba
- # /usr/sbin/groupadd -g 1032 oper
- # useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
- # useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
- # mkdir -p /u01/app/11.2.0/grid
- # mkdir -p /u01/app/grid
- # chown -R grid:oinstall /u01
- # mkdir /u01/app/oracle
- # chown oracle:oinstall /u01/app/oracle
- # chmod -R 775 /u01/
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大小的命令如下。
点击(此处)折叠或打开
- # grep MemTotal /proc/meminfo
- # grep SwapTotal /proc/meminfo
-
查看/tmp目录以及配置单独lv的命令如下。
点击(此处)折叠或打开
- # df -h /tmp
- # lvcreate -L 2G -n lv_tmp vg_temp
- # mount /dev/vg_temp/lv_tmp /tmp
-
# 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
点击(此处)折叠或打开
- # cd /mnt/install_DVD
- # cd Packages
- # ll | grep preinstall
- -rw-r--r-- 1 root root 15524 Jan 16 2013 oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64.rpm
- # rpm -ivh oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64.rpm
I.硬件配置要求
- 每个服务器节点至少需要2块网卡,一块对外网络接口,一块私有网络接口(心跳)。
- 如果你通过OUI安装Oracle集群软件,需要保证每个节点用于外网或私网接口(网卡名)保证一致。比如,node1使用eth0作为对外接口,node2就不能使用eth1作为对外接口。
II.IP配置要求
-
存在为集群服务的DHCP
-
DHCP能为每个节点提供足够的IP,一个虚拟IP、3个SCAN IP
III.非GNS下手动配置IP实例
6.检查操作系统软件包
首先,根据操作系统版本到官方文档中找到安装包需求列表,如下图
可以通过mount安装盘或直接通过yum源检查和安装所需要的包:
点击(此处)折叠或打开
- # rpm -qa packages_name
- # rpm -ivh packages_name
-
- # yum list packages_name
- # yum install packages_name
点击(此处)折叠或打开
- # 检查是否已经安装
- # rpm -qi cvuqdisk
- # 如果已安装需要先卸载之前的版本
- # rpm -e cvuqdisk
- # 安装新版本
- # CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
- # rpm -ivh cvuqdisk-1.0.9-1.rpm
7.关闭NTP及端口范围参数修改
点击(此处)折叠或打开
- # Oracle建议使用Oracle Cluster Time Synchronization Service,因此关闭删除NTP
- # /sbin/service ntpd stop
- # chkconfig ntpd off
- # rm /etc/ntp.conf (mv /etc/ntp.conf /etc/ntp.conf.old)
- # rm /var/run/ntpd.pid
-
- 调整TCP/UDP端口范围
- # cat /proc/sys/net/ipv4/ip_local_port_range
- # echo 9000 65500 > /proc/sys/net/ipv4/ip_local_port_range
- # vim /etc/sysctl.conf
- # 添加此行:
- # TCP/UDP port range
- net.ipv4.ip_local_port_range = 9000 65500
- # 重启网络
- # /etc/rc.d/init.d/network restart
8.调整.bash_profile内容并设置显示地址
点击(此处)折叠或打开
- 设置参数:
- $ su - root
- # mkdir /mount_point/tmp
- # chmod 775 /mount_point/tmp
- # exit
-
- $ vi .bash_profile
- 加入行:
- TEMP=/mount_point/tmp
- TMPDIR=/mount_point/tmp
- export TEMP TMPDIR
- 加入行:umask 022
- 加入行:DISPLAY=local_IP:0.0 ; export DISPLAY
- local_IP为你要将安装视图所显示的桌面地址
-
- 检查设置参数
- $ umask
- $ env | more
- $ echo $DISPLAY
- $ echo $TEMP
-
$ echo $TMPDIR
9.配置SSH互信
这是很关键的一步,虽然官方文档中声称安装GI和RAC的时候OUI会自动配置SSH,但为了在安装之前使用CVU检查各项配置,还是手动配置互信更优。
点击(此处)折叠或打开
- 配置过程如下:
- 各节点生成Keys:
- [root@rac1 ~]# su - oracle
- [oracle@rac1 ~]$ mkdir ~/.ssh
- [oracle@rac1 ~]$ chmod 700 ~/.ssh
- [oracle@rac1 ~]$ ssh-keygen -t rsa
- [oracle@rac1 ~]$ ssh-keygen -t dsa
- [root@rac2 ~]# su - oracle
- [oracle@rac2 ~]$ mkdir ~/.ssh
- [oracle@rac2 ~]$ chmod 700 ~/.ssh
- [oracle@rac2 ~]$ ssh-keygen -t rsa
- [oracle@rac2 ~]$ ssh-keygen -t dsa
-
- 在节点1上进行互信配置:
- [oracle@rac1 ~]$ touch ~/.ssh/authorized_keys
- [oracle@rac1 ~]$ cd ~/.ssh
- [oracle@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_rsa.pub >> authorized_keys
- [oracle@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_rsa.pub >> authorized_keys
- [oracle@rac1 .ssh]$ ssh rac1 cat ~/.ssh/id_dsa.pub >> authorized_keys
- [oracle@rac1 .ssh]$ ssh rac2 cat ~/.ssh/id_dsa.pub >> authorized_keys
-
- 在rac1把存储公钥信息的验证文件传送到rac2上
- [oracle@rac1 .ssh]$ pwd
- /home/oracle/.ssh
- [oracle@rac1 .ssh]$ scp authorized_keys rac2:‘pwd‘
- oracle@rac2‘s password:
- authorized_keys 100% 1644 1.6KB/s 00:00
-
- 设置验证文件的权限
- 在每一个节点执行:
- $ chmod 600 ~/.ssh/authorized_keys
-
- 启用用户一致性
- 在你要运行OUI的节点以oracle用户运行(这里选择rac1):
- [oracle@rac1 .ssh]$ exec /usr/bin/ssh-agent $SHELL
- [oracle@rac1 .ssh]$ ssh-add
- Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
- Identity added: /home/oracle/.ssh/id_dsa (/home/oracle/.ssh/id_dsa)
-
- 验证ssh配置是否正确
- 以oracle用户在所有节点分别执行:
- ssh rac1 date
- ssh rac2 date
- ssh rac1-priv date
- ssh rac2-priv date
-
- 如果不需要输入密码就可以输出时间,说明ssh验证配置成功。必须把以上命令在两个节点都运行,每一个命令在第一次执行的时候需要输入yes。
- 如果不运行这些命令,即使ssh验证已经配好,安装clusterware的时候也会出现错误:
- The specified nodes are not clusterable
- 因为,配好ssh后,还需要在第一次访问时输入yes,才算是真正的无障碍访问其他服务器。
10.为Grid集群基础软件配置存储(使用ASM)
Oracle所允许的存储主要有ASM、NFS和ACFS等,这里仅介绍ASM的配置过程。
(1)安装ASM配置软件
点击(此处)折叠或打开
- 依然是可以通过yum或者系统DVD光盘安装
- # cd /mnt/install_DVD/Packages
- # rpm -qi oracleasm
- # rpm -qi oracleasm-support
- # rpm -qi oracleasm-support-2.1.8-1.el6.x86_64.rpm
- //我们是Oracle Linux系统,此版本已经集成了oracleasm和oracleasmlib,所以就不用再安装了~
官方文档中规定了不同冗余策略下OCR、Voting Disk、Database和Recovery所需求的大小。
找到存储管理员,把规划好的磁盘都让他给你配置好~
(3)配置ASM
点击(此处)折叠或打开
- 格式化每个磁盘
- [root@rac1 ~]# fdisk /dev/sdb
-
- 完成后我们通过fdisk -l查看一下
- [root@rac1 ~]# fdisk -l
-
- [root@rac1 ~]# /usr/sbin/oracleasm configure -i
- 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]: y
-
- [root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
- [root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
- [root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd1
-
- 以下操作在另一个节点上进行,RAC2上操作
- [root@rac2 ~]# oracleasm scandisks
- 这里用到的是asmlib来做磁盘设备管理的,这里大家也可以使用UDEV来管理,在RHEL6中asmlib已经被废弃了,以后就是UDEV的天下
11.使用CVU检查各个节点的配置工作
千辛万苦终于到了安装前的最后一步~
点击(此处)折叠或打开
- [root@node1 ~]# su - grid
- [grid@node1 ~]$ cd grid_sw
- [grid@node1 grid_sw]$ ./runcluvfy.sh stage -pre crsinst -n node1,node2 -fixup -verbose
- 其中“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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。