11g Linux RAC 安装文档
来源:互联网 发布:网络营销策划案 汽车 编辑:程序博客网 时间:2024/04/28 19:30
原文地址:http://blog.csdn.net/mws1108/article/details/52852899
一、版本说明
发现网上相关文章很多但是不是很专,因此细化版本为了使文章更加实用。
这次搭建的是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
其中标有oracle-rdbms-server-11gR2-preinstall字样注释的便是安装包所添加的参数。
点击(此处)折叠或打开
- # cat /etc/sysctl.conf
- # Kernel sysctl configuration file for Red Hat Linux
- #
- # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
- # sysctl.conf(5) for more details.
- # Controls IP packet forwarding
- net.ipv4.ip_forward = 0
- # Controls source route verification
- net.ipv4.conf.default.rp_filter = 1
- # Do not accept source routing
- net.ipv4.conf.default.accept_source_route = 0
- # Controls the System Request debugging functionality of the kernel
- kernel.sysrq = 0
- # Controls whether core dumps will append the PID to the core filename.
- # Useful for debugging multi-threaded applications.
- kernel.core_uses_pid = 1
- # Controls the use of TCP syncookies
- net.ipv4.tcp_syncookies = 1
- # Disable netfilter on bridges.
- net.bridge.bridge-nf-call-ip6tables = 0
- net.bridge.bridge-nf-call-iptables = 0
- net.bridge.bridge-nf-call-arptables = 0
- # Controls the default maxmimum size of a mesage queue
- kernel.msgmnb = 65536
- # Controls the maximum size of a message, in bytes
- kernel.msgmax = 65536
- # Controls the maximum shared segment size, in bytes
- # Controls the maximum number of shared memory segments, in pages
- # oracle-rdbms-server-11gR2-preinstall setting for fs.file-max is 6815744
- fs.file-max = 6815744
- # oracle-rdbms-server-11gR2-preinstall setting for kernel.sem is '250 32000 100 128'
- kernel.sem = 250 32000 100 128
- # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmni is 4096
- kernel.shmmni = 4096
- # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmall is 1073741824 on x86_64
- # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmall is 2097152 on i386
- kernel.shmall = 1073741824
- # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmax is 4398046511104 on x86_64
- # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmax is 4294967295 on i386
- kernel.shmmax = 4398046511104
- # oracle-rdbms-server-11gR2-preinstall setting for net.core.rmem_default is 262144
- net.core.rmem_default = 262144
- # oracle-rdbms-server-11gR2-preinstall setting for net.core.rmem_max is 4194304
- net.core.rmem_max = 4194304
- # oracle-rdbms-server-11gR2-preinstall setting for net.core.wmem_default is 262144
- net.core.wmem_default = 262144
- # oracle-rdbms-server-11gR2-preinstall setting for net.core.wmem_max is 1048576
- net.core.wmem_max = 1048576
- # oracle-rdbms-server-11gR2-preinstall setting for fs.aio-max-nr is 1048576
- fs.aio-max-nr = 1048576
- # oracle-rdbms-server-11gR2-preinstall setting for net.ipv4.ip_local_port_range is 9000 65500
- 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源检查和安装所需要的包:
点击(此处)折叠或打开
- # 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
- 如果已经显示9000 65500,就不用进行下面的步骤了
- # 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
- 11g Linux RAC 安装文档
- linux安装11g rac
- 个人觉得最好最全的11g Linux RAC 安装文档
- Linux 安装11g R2 RAC
- oracle rac 11g 文档
- Linux + Oracle 11g R2 RAC 安装配置详细过程
- Linux + Oracle 11g R2 RAC 安装配置详细过程
- 安装Oracle 11g RAC R2 之Linux DNS 配置
- 安装Oracle 11g RAC R2 之Linux DNS 配置
- 安装Oracle 11g RAC R2 之Linux DNS 配置
- 安装Oracle 11g RAC R2 之Linux DNS 配置
- 安装Oracle 11g RAC R2 之Linux DNS 配置
- 虚拟机Linux 安装 for Oracle 11g/Oracle11g RAC
- oracle 11G rac 安装
- Oracle Rac 11g安装
- 11g Rac 配置 Linux
- 11G RAC+Data Guard搭建文档
- vmware server 2.0 + redhat5.4 + oracle 11g r2 rac 安装文档!
- web前段基础知识汇总:HTML+css
- 基于windows安装php
- ck+database:Comprehensive Database for Facial Expression Analysis论文笔记
- Kotlin一些基本语法
- python一些关于pwn的应用
- 11g Linux RAC 安装文档
- 怎么进行面向对象设计(一)
- 母函数模板
- 地铁模型
- 142. Linked List Cycle II
- 我的数模之旅(一)
- 虚拟内存
- Linux shell字符串截取与拼接
- Zenject