在 RHEL 5.5 x86-64 安装Oracle RAC 11G with ASM
RAC 结点数,2个结点
oracle 版本号 11.2.0.3 for x86-64
pathc 11.2.0.3
os RedHat AS5.5 x84-64
安装需要软件包 软件包 下载地址:
p10404530_112030_Linux-x86-64_1of7.zip database https://updates.oracle.com/Orion/Services/download/p10404530_112030_Linux-x86-64_1of7.zip?aru=14125322&patch_file=p10404530_112030_Linux-x86-64_1of7.zip
p10404530_112030_Linux-x86-64_2of7.zip database https://updates.oracle.com/Orion/Services/download/p10404530_112030_Linux-x86-64_2of7.zip?aru=14125322&patch_file=p10404530_112030_Linux-x86-64_2of7.zip
p10404530_112030_Linux-x86-64_3of7.zip Grid Infrastructure 集群件 https://updates.oracle.com/Orion/Services/download/p10404530_112030_Linux-x86-64_3of7.zip?aru=14125322&patch_file=p10404530_112030_Linux-x86-64_3of7.zip
由于从oracle 11g r2版本开始,补丁包包括原来安装包,所以只要下载最新补丁包安装就可以了。以上下载地址需要metalink账号,没有朋友可以用迅雷下载,运气好的话下载会比较顺利。
网卡配置如下:
node1 eth0 192.168.19.163/255.255.255.0 #Public
192.168.19.168/255.255.255.0 #Virtual
eth1 10.10.10.163/255.255.255.0 #Private
node2 eth0 192.168.19.164/255.255.255.0 #Public
192.168.19.169/255.255.255.0 #Virtual
eth1 10.10.10.164/255.255.255.0 #Private
scan 192.168.19.165 #scan ip
硬盘配制如下:
/dev/sda 本地磁盘 80G
/dev/ocr_vote01 共享磁盘存放ocr文件 1G
/dev/asm_data01 共享磁盘,用asm管理,存储oracle数据库文件 150G
/dev/asm_fra01 共享磁盘,用asm管理,存储oracle数据库归档日志和闪回日志等信息 140G
一、创建虚拟机
1.创建虚拟机
先来创建node1的虚拟机, 过程如下:
运行VMware vSphere Client,登录到VMware ESXi服务器,点击 文件->新建->虚拟机 向导配置如下:
配置:自定义
名称和位置:node1
存储器:默认值
虚拟机版本:虚拟机版本 8
客户机操作系统:linux 版本:Red Hat Enterprise Linux 5(64位)
CPU:虚拟插槽数:1,每个虚拟插槽的内核数:4
内存大小:4GB
网络:你要连接多少个网上?:2,其他默认
SCSI控制器:SCSI控制器:LSILogic并形
选择磁盘:创建新的虚拟磁盘
创建磁盘:磁盘大大小:80GB,磁盘置备:精简置备,位置:与虚拟机存储在同一目录中
高级选项:虚拟设备节点:SCSI(0:0),模式默认值
即将完成:点完成
创建node2虚拟机和上面步骤一样,只是在输入名称和位置时候输入node2
二、操作系统安装注意事项
给每个虚拟机安装操作系统,操作系统选项如下:
1.RedHat AS 5.4 操作系统选项
桌面环境 GNOME 桌面环境
应用程序 图形化互联网
开发 开发工具
开发库
老的软件开发
服务器 网络服务器(可选)
基本系统 Java
X 窗口系统
基本
管理工具
系统工具
sysstat打上钩
老的软件支持
语言支持 中文支持
请一定安装好以上所列出的软件包,否则安装Oracle系统时,会出现一些不必须要的错误信息。
第一次启动时候,做如下操作:
许可协议:是,我同意这个许可协议
防火墙:禁用
SELinux设置:禁用
日期和时间:
设置软件更新:不,我将在以后注册。
完成更新设置:直接点前进
创建用户:直接点前进,出现对话框点继续
声卡:直接点前进
附加光盘:点完成。然后系统自动重启。
安装VMware Tools,点控制台上面虚拟机->客户机->安装/升级 VMware Tools,然后执行以下操作
# cd
# tar -xzvf "/media/VMware Tools/VMwareTools-8.6.5-621624.tar.gz"
# cd vmware-tools-distrib/
# ./vmware-install.pl
一直安回车键,在显示屏幕分辨率时候,根据显示器大小,注意选择,我这里选择了[12] "1024 * 768"
2.同时检查以下包是否被安装
查询版本号可以用以下语句
rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" \
binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
sysstat \
unixODBC \
unixODBC-devel
以下包包括32位
compat-libstdc++-33-3.2.3 (32 bit)
glibc-2.5-24 (32 bit)
glibc-devel-2.5 (32 bit)
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2 (32 bit)
unixODBC-2.2.11 (32 bit)
unixODBC-devel-2.2.11 (32 bit)
3.关掉大部分不用服务(可能因人因环境而异,这只是我的个人喜好).
chkconfig NetworkManager --level 2345 off
chkconfig NetworkManagerDispatcher --level 2345 off
chkconfig acpid --level 2345 off
chkconfig apmd --level 2345 off
chkconfig auditd --level 2345 off
chkconfig avahi-dnsconfd --level 2345 off
chkconfig bluetooth --level 2345 off
chkconfig capi --level 2345 off
chkconfig conman --level 2345 off
chkconfig cpuspeed --level 2345 off
chkconfig cups --level 2345 off
chkconfig dhcdbd --level 2345 off
chkconfig dund --level 2345 off
chkconfig firstboot --level 2345 off
chkconfig haldaemon --level 2345 off
chkconfig hidd --level 2345 off
chkconfig ip6tables --level 2345 off
chkconfig ipmi --level 2345 off
chkconfig iptables --level 2345 off
chkconfig irda --level 2345 off
chkconfig isdn --level 2345 off
chkconfig kdump --level 2345 off
chkconfig kudzu --level 2345 off
chkconfig lvm2-monitor --level 2345 off
chkconfig mcstrans --level 2345 off
chkconfig mdmonitor --level 2345 off
chkconfig mdmpd --level 2345 off
chkconfig messagebus --level 2345 off
chkconfig microcode_ctl --level 2345 off
chkconfig multipathd --level 2345 off
chkconfig netconsole --level 2345 off
chkconfig netfs --level 2345 off
chkconfig netplugd --level 2345 off
chkconfig nfs --level 2345 off
chkconfig nfslock --level 2345 off
chkconfig ntpd --level 2345 off
chkconfig pand --level 2345 off
chkconfig pcscd --level 2345 off
chkconfig portmap --level 2345 off
chkconfig psacct --level 2345 off
chkconfig rdisc --level 2345 off
chkconfig readahead_later --level 2345 off
chkconfig restorecond --level 2345 off
chkconfig rhnsd --level 2345 off
chkconfig rpcgssd --level 2345 off
chkconfig rpcidmapd --level 2345 off
chkconfig rpcsvcgssd --level 2345 off
chkconfig saslauthd --level 2345 off
chkconfig sendmail --level 2345 off
chkconfig setroubleshoot --level 2345 off
chkconfig smartd --level 2345 off
chkconfig vncserver --level 2345 off
chkconfig vsftpd --level 2345 off
chkconfig wdaemon --level 2345 off
chkconfig winbind --level 2345 off
chkconfig wpa_supplicant --level 2345 off
chkconfig ypbind --level 2345 off
4.硬件配制检查
1).检查是x86还是x86_64
# uname -m
x86_64
2)./tmp目录大于1g
# df -h /tmp
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
74G 2.9G 67G 5% /
3).内存大于2.5g
# grep MemTotal /proc/meminfo
MemTotal: 2573612 kB
4.检查交换内存大于物理内存
# grep SwapTotal /proc/meminfo
SwapTotal: 4095992 kB
二、网络配置
oracle RAC需要两块网卡,每个结点需要3个IP地址,一个公用,一个虚拟,一个私有
其中Public和虚拟绑定在同一网卡上,需要规划到网络当中,于企业的现有网络能连通
私有的网络是oracle专用网络,最好能提供一个专用交换机和专用网端,可以不和现有网络连通,只要保证所连接几台结点能连通就行了
同时oracle Clusterware规定所有结点网络配制要一制,也就是eth0为公用和虚拟,eth1为私有,所有结点都需要这样配置
下面是我每个结点配置如下
网卡配置如下:
node1 eth0 192.168.19.163/255.255.255.0 #Public
192.168.19.168/255.255.255.0 #Virtual
eth1 10.10.10.163/255.255.255.0 #Private
node2 eth0 192.168.19.164/255.255.255.0 #Public
192.168.19.169/255.255.255.0 #Virtual
eth1 10.10.10.164/255.255.255.0 #Private
scan 192.168.19.165 #scan ip
在每一个节点上配置/etc/hosts文件,文件内容如下
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
#Public
192.168.19.163 node1
192.168.19.164 node2
#Virtual
192.168.19.168 node1-vip
192.168.19.169 node2-vip
#Private
10.10.10.163 node1-priv
10.10.10.164 node2-priv
#scanIP
192.168.19.165 node-scan
其中192.168.19.168...169 二个IP是虚拟IP,等下安装 Grid Infrastructure 时候会自动绑定到网卡eth0上面的。
而127.0.0.1 localhost.localdomain localhost 这行信息也不能删除,否则在以后执行vipca的时候会报CRS-0215错误
有些 Linux 发行版本将主机名与回送地址 (127.0.0.1) 相关联。 如果出现这种情况,则从回送地址中删除主机名。
在每个节点上启用Name Service Cache Daemon
# chkconfig --level 35 nscd on
# service nscd restart
三、配制时间同步
在集群中的两个 Oracle RAC 节点上执行以下集群时间同步服务配置。 Oracle Clusterware 11g 第 2 版及更高版本要求在部署了 Oracle RAC 的集群的所有节点上实现时间同步。
Oracle 提供了两种方法来实现时间同步:
一种方法是配置了网络时间协议 (NTP) 的操作系统,
另一种方法是新的 Oracle 集群时间同步服务 (CTSS)。Oracle 集群时间同步服务 (ctssd) 旨在为那些 Oracle RAC 数据库无法访问 NTP 服务的组织提供服务。
1. 配置集群时间同步服务 — (CTSS)
使用集群时间同步服务在集群中提供同步服务,需要卸载网络时间协议 (NTP) 及其配置。
要停用 NTP 服务,必须停止当前的 ntpd 服务,从初始化序列中禁用该服务,并删除 ntp.conf 文件。要在 Oracle Enterprise Linux 上完成这些步骤,以 root 用户身份在两个 Oracle RAC 节点上运行以下命令:
[root@racnode1 ~]# /sbin/service ntpd stop
[root@racnode1 ~]# chkconfig ntpd off
[root@racnode1 ~]# mv /etc/ntp.conf /etc/ntp.conf.original
还要删除以下文件:
[root@racnode1 ~]# rm /var/run/ntpd.pid
此文件保存了 NTP 后台程序的 pid。
当安装程序发现 NTP 协议处于非活动状态时,安装集群时间同步服务将以活动模式自动进行安装并通过所有节点的时间。如果发现配置了 NTP,则以观察者模式启动集群时间同步服务,Oracle Clusterware 不会在集群中进行活动的时间同步。
在安装后,要确认 ctssd 处于活动状态,请作为网格安装所有者 (grid) 输入以下命令:
[grid@node1 ~]$ crsctl check ctss
CRS-4701: 集群时间同步服务处于活动模式。
CRS-4702: 偏移量 (毫秒): 0
[grid@node2 ~]$ crsctl check ctss
CRS-4701: 集群时间同步服务处于活动模式。
CRS-4702: 偏移量 (毫秒): 0
四、操作系统内核设置等参数
1、配置系统内核参数,以root用户登录,修改在/etc/sysctl.conf文件,在该文件中添加以下参数:
#Install oracle setting
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 4294967296
#kernel.shmmax = 68719476736
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
完成后,运行以下命令激活更改:
/sbin/sysctl -p
五、创建grid和oracle用户,在每一个节点操作
1. 在所有节点上创建用户、组、目录结构和权限的建立,功能如下表:
描述 OS 组名 分配给该组的 OS 用户 Oracle 权限 Oracle 组名
Oracle 清单和软件所有者 oinstall grid、oracle
Oracle 自动存储管理组 asmadmin grid SYSASM OSASM
ASM 数据库管理员组 asmdba grid、oracle ASM 的 SYSDBA OSDBA for ASM
ASM 操作员组 asmoper grid ASM 的 SYSOPER OSOPER for ASM
数据库管理员 dba oracle SYSDBA OSDBA
数据库操作员 oper oracle SYSOPER OSOPER
# groupadd -g 1000 oinstall
# groupadd -g 1020 asmadmin
# groupadd -g 1021 asmdba
# groupadd -g 1022 asmoper
# useradd -u 1100 -g oinstall -G asmadmin,asmdba -c "Grid Infrastructure Owner" grid
# groupadd -g 1300 dba
# groupadd -g 1301 oper
# useradd -u 1101 -g oinstall -G dba,asmdba -c "Oracle Software Owner" oracle
# passwd oracle
# passwd grid
2.创建oracle和grid的Oracle Base 目录
# mkdir -p /u01/app/11.2.0/grid
# mkdir -p /u01/app/grid
# chown -R grid:oinstall /u01
# mkdir -p /u01/app/oracle
# chown oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01
3.配制grid,oracle用户环境变量
节点1grid用户:
~/.bash_profile增加以下内容
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".AL32UTF8
export ORACLE_SID=+ASM1
umask 022
stty erase ^H
节点2grid用户:
~/.bash_profile增加以下内容
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".AL32UTF8
export ORACLE_SID=+ASM2
umask 022
stty erase ^H
节点1 ORACLE 用户:
~/.bash_profile增加以下内容
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".AL32UTF8
export ORACLE_SID=asm11g1
umask 022
stty erase ^H
节点2 ORACLE 用户:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".AL32UTF8
export ORACLE_SID=asm11g2
umask 022
stty erase ^H
4、设置用户资源限制
1.在文件 /etc/security/limits.conf 加以下参数:
#Install oracle setting
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
5. SSH连通性
由于oracle Grid Infrastructure对远程结点安装时使用ssh的scp,在10g中我们是手动配置ssh互通连接,在11g中已经自动配置了,所以在这里不需要进行自动配置。
六、创建scsi共享存储系统
本来这次测试环境挡建,使用vmware ESXi5来挡建的,存储规划如下:
硬盘配制如下:
/dev/sda 本地磁盘 80G
/dev/ocr_vote01 共享磁盘存放ocr文件 1G
/dev/asm_data01 共享磁盘,用asm管理,存储oracle数据库文件 150G
/dev/asm_fra01 共享磁盘,用asm管理,存储oracle数据库归档日志和闪回日志等信息 140G
1.创建共享磁盘
先用控制台登录到VMware ESXi 5,启用ssh远程登录,默认是禁用的。按F2登录进去,选择
Troubleshooting options -> Enable SSH
然后用ssh登录,做如下操作
# cd /vmfs/volumes/datastore1
# mkdir shartStore
# cd shartStore
# vmkfstools -c 1g -a lsilogic -d eagerzeroedthick ocr_vote01.vmdk
# vmkfstools -c 150g -a lsilogic -d eagerzeroedthick asm_data01.vmdk
# vmkfstools -c 140g -a lsilogic -d eagerzeroedthick asm_fra01.vmdk
创建共享磁盘需要一定时间,特别是后面两个共享磁盘。
2.给虚拟机添加共享磁盘
停掉两个虚拟机,然后给每个节点按以下步骤添加共享磁盘:
选中虚拟机->点右键->编辑设置->添加
设备类型:硬盘
选择磁盘:使用现有虚拟磁盘
选择现有磁盘:磁盘文件路径为:[datastore1] shartStore/ocr_vote01.vmdk
高级选项:虚拟节点 SCSI(1:0),模式:独立打上钩,选择持久
即将完成:完成
然后依次添加asm_data01.vmdk,在高级选择中选择虚拟节点为 SCSI(1:1)
添加asm_fra01.vmdk,在高级选择中选择虚拟节点为 SCSI(1:2)
最后在选中“新的SCSI控制器”,然后在右边选择SCSI总线共享为:虚拟
最后做一下检查,确保两个节点中虚拟节点一一对应,然后启动两个虚拟机,用以下命令查看刚才加的共享磁盘。
# fdisk -l
Disk /dev/sda: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 10443 83778975 8e Linux LVM
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 161.0 GB, 161061273600 bytes
255 heads, 63 sectors/track, 19581 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdc doesn't contain a valid partition table
Disk /dev/sdd: 150.3 GB, 150323855360 bytes
255 heads, 63 sectors/track, 18275 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdd doesn't contain a valid partition table
其中/dev/sdb,sdc,sdd就是刚才增加三块共享磁盘,接下来我们用udev来固定成/dev/ocr_vote01名称和更改所有者。
3.用udev来固定共享磁盘名和更所所有者
由于ASMlib管理磁盘也有缺点,因这次使用系统自带的udev来管理磁盘。
检查是否安装udev
# rpm -qa|grep udev
udev-095-14.21.el5
先在系统上执行以下命令,找出scsi的id号
# scsi_id -g -u -s /block/sdb
36000c292ae1a56d8e5362ab1b78befad
如何测试共享存储是否成功?
只要在一个节点上对共享存储的某块磁盘进行分区操作,则在另一个节点上就可以立刻看到。或者反过来,将共享存储上的某一个分区删除,另一个节点也可以立马看到。这个就可以说明共享存储的设置是正确的。但是不是说在一个节点上新建了文件放在共享存储上,另外一个节点就能立马看到的,除非比如在windows系统下进入磁盘管理,对共享的磁盘进行脱机再联机的操作,才可以看到刚才另一个节点上新建的文件。
# scsi_id -g -u -s /block/sdc
36000c29a0662ffd14e4ef6fde983b8a9
# scsi_id -g -u -s /block/sdd
36000c29b6a67b32f4c10a301915c031e
创建规则文件
# vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="36000c292ae1a56d8e5362ab1b78befad", NAME="ocr_vote01", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="36000c29a0662ffd14e4ef6fde983b8a9", NAME="asm_data01", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="36000c29b6a67b32f4c10a301915c031e", NAME="asm_fra01", OWNER="grid", GROUP="asmadmin", MODE="0660"
说明:把RESULT的值用上面scsi_id -g -u -s 命令执行值替换进去,同时修改NAME的值。
启动udev:
# /sbin/start_udev
启动 udev:[确定]
复制到node2:
# scp 99-oracle-asmdevices.rules node2:/etc/udev/rules.d
然后启动用上面命令启动udev
检查是否成功
# ls -l /dev/asm_* /dev/ocr_vote01
brw-rw---- 1 grid asmadmin 8, 32 06-26 16:12 /dev/asm_data01
brw-rw---- 1 grid asmadmin 8, 48 06-26 16:12 /dev/asm_fra01
brw-rw---- 1 grid asmadmin 8, 16 06-26 16:12 /dev/ocr_vote01
显示已经把所有者更改成grid用户,设备名为/dev/ocr_vote01等形式了
八、安装Grid Infrastructure软件
安装Grid Infrastructure软件以grid用户登录
然后用ssh把软件包上传到node1
p10404530_112020_Linux-x86-64_3of7.zip
grid用户登录解压
$ unzip p10404530_112020_Linux-x86-64_3of7.zip
1.安装cvuqdisk包并验证
安装Grid Infrastructure前,先要安装cvuqdisk包并验证。
在两个 Oracle RAC 节点上安装操作系统程序包 cvuqdisk。如果没有 cvuqdisk,集群验证实用程序就无法发现共享磁盘,
当运行(手动运行或在 Oracle Grid Infrastructure 安装结束时自动运行)集群验证实用程序时,您会收到这样的错误消息:“Package cvuqdisk not installed”。
cvuqdisk RPM 包含在 Oracle Grid Infrastructure 安装介质上的 rpm 目录中,安装时候需要设置环境变量 CVUQDISK_GRP,使其指向作为 cvuqdisk 的所有者所在的组。
以root登录
# cd /home/grid/grid/rpm
# scp cvuqdisk-1.0.9-1.rpm node2:~/
在每个节点上进行如下安装
# export CVUQDISK_GRP=oinstall
# rpm -ivh cvuqdisk-1.0.9-1.rpm
Preparing... ########################################### [100%]
Using default group oinstall to install package
1:cvuqdisk ########################################### [100%]
以grid用户登录,在节点node1上安装
$ unset ORACLE_HOEM
$ ./runInstaller
以下操作焦点最好不要点其他地方操作,否则会输入不了密码。
下载软件更新:路过软件更新
安装选项:为集群安装和配置 Oracle Grid Infrastructure
安装类型:高级安装
产品语言:简体中文,英语
网格即插即用:集群名称:node-cluster,SCAN名称:node-scan,scan端口:1521
集群节点信息:点添加按钮,主机名:node2,虚拟IP名称:node2-vip
在点ssh连接按键,操作系统用户名:grid,操作系统口令:输入grid用户密码,最后点设置。
配置成功后,最后会弹出对话框“已在所选节点之间成功建立无口令ssh连接”,可以点测试按钮进行测试。
网络接口使用情况:eth0 公共,eth1 专用
存储选项:Oracle 自动存储管理(Oracle ASM)
创建ASM磁盘组:磁盘组名:OCR_VOTE,冗余:外部,添加磁盘部分选择/dev/ocr_vote01,如果没有出现磁盘,点更改搜索路径,输入:/dev/*
备注:
(1). 如果是用来放置ocr/vd的diskgroup,那么external,normal,high 对应的failgroup至少
为1,3,5个,也就是至少需要1,3,5个disk
(2). 如果是普通的ASM 用来放置data file的diskgroup,那么external,normal,high对应的
failgroup至少为1,2,3个,也就是至少需要1,2,3个disk
ASM口令:对这些账户使用同一口令
故障隔离:不使用智能平台管理接口
操作系统组:asmdba,asmoper,asmadmin
安装位置:Oracle基目录:/u01/app/grid,软件位置:/u01/app/11.2.0/grid
创建产品清单:产品清单目录:/u01/app/oraInventory
先决条件检查:ASM的设备检查出现现警告,根据警告内容,我们可以忽略,此处为无法确定在以下节点共享/dev/oracleasm/disks/OCR_VOTE01: [node2, node1],忽略任务resolv.conf完整性。
概要:检查概要内容,点安装。
安装产品:在每个节点上执行/u01/app/oraInventory/orainstRoot.sh脚本
报信息如下:
# /u01/app/oraInventory/orainstRoot.sh
更改权限/u01/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。
更改组名/u01/app/oraInventory 到 oinstall.
当执行 /u01/app/11.2.0/grid/root.sh脚本时候,大概需要15分钟时间,下面是node1节点执行输出信息:
[root@node1 ~]# /u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
OLR initialization - successful
root wallet
root wallet cert
root cert export
peer wallet
profile reader wallet
pa wallet
peer wallet keys
pa wallet keys
peer cert request
pa cert request
peer cert
pa cert
peer root cert TP
profile reader root cert TP
pa root cert TP
peer pa cert TP
pa peer cert TP
profile reader pa cert TP
profile reader peer cert TP
peer user cert
pa user cert
Adding Clusterware entries to inittab
CRS-2672: Attempting to start 'ora.mdnsd' on 'node1'
CRS-2676: Start of 'ora.mdnsd' on 'node1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'node1'
CRS-2676: Start of 'ora.gpnpd' on 'node1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'node1'
CRS-2672: Attempting to start 'ora.gipcd' on 'node1'
CRS-2676: Start of 'ora.cssdmonitor' on 'node1' succeeded
CRS-2676: Start of 'ora.gipcd' on 'node1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'node1'
CRS-2672: Attempting to start 'ora.diskmon' on 'node1'
CRS-2676: Start of 'ora.diskmon' on 'node1' succeeded
CRS-2676: Start of 'ora.cssd' on 'node1' succeeded
已成功创建并启动 ASM。
已成功创建磁盘组OCR_VOTE。
clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4256: Updating the profile
Successful addition of voting disk 70b12f10b7934f88bf994ee3a5e9963c.
Successfully replaced voting disk group with +OCR_VOTE.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 70b12f10b7934f88bf994ee3a5e9963c (/dev/ocr_vote01) [OCR_VOTE]
Located 1 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'node1'
CRS-2676: Start of 'ora.asm' on 'node1' succeeded
CRS-2672: Attempting to start 'ora.OCR_VOTE.dg' on 'node1'
CRS-2676: Start of 'ora.OCR_VOTE.dg' on 'node1' succeeded
CRS-2672: Attempting to start 'ora.registry.acfs' on 'node1'
CRS-2676: Start of 'ora.registry.acfs' on 'node1' succeeded
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
第二节点上执行,报如下错误信息。
[root@node2 ~]# /u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
OLR initialization - successful
Adding Clusterware entries to inittab
CRS-4402: CSS 守护程序已在独占模式下启动, 但在节点 node1 (编号为 1) 上发现活动 CSS 守护程序, 因此正在终止
An active cluster was found during exclusive startup, restarting to join the cluster
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
在第2个节点上会提示4402错误,这个错误是11.2.0.2的一个bug,在11.2.0.3中对bug处理过了,不用管。
执行完后以grid用户登录,执行crs_stat -t查看ons,vip服务是否都是online状态,可能存在gsd服务无法启动情况可以忽略。
[grid@node2 ~]$ crs_stat -t
名称 类型 目标 状态 主机
------------------------------------------------------------
ora....N1.lsnr ora....er.type ONLINE ONLINE node1
ora....VOTE.dg ora....up.type ONLINE ONLINE node1
ora.asm ora.asm.type ONLINE ONLINE node1
ora.cvu ora.cvu.type ONLINE ONLINE node1
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora....network ora....rk.type ONLINE ONLINE node1
ora....SM1.asm application ONLINE ONLINE node1
ora.node1.gsd application OFFLINE OFFLINE
ora.node1.ons application ONLINE ONLINE node1
ora.node1.vip ora....t1.type ONLINE ONLINE node1
ora....SM2.asm application ONLINE ONLINE node2
ora.node2.gsd application OFFLINE OFFLINE
ora.node2.ons application ONLINE ONLINE node2
ora.node2.vip ora....t1.type ONLINE ONLINE node2
ora.oc4j ora.oc4j.type ONLINE ONLINE node1
ora.ons ora.ons.type ONLINE ONLINE node1
ora....ry.acfs ora....fs.type ONLINE ONLINE node1
ora.scan1.vip ora....ip.type ONLINE ONLINE node1
备注:
在 11gr2 中,默认 oc4j和 gsd 资源是 disable 的;oc4j 是用于WLM 的一个资源 , WLM在 11.2.0.2 才可用;
gsd 是 CRS 用于跟 9i RAC 进行通信的一个模块,是为了向后兼容才保留的,不影响性能;建议不要刪除,也不要尝试开启他们, 忽略即可。
然后返回界面点确定继续,可能看到安装到最后可能会报错INS-20802错误,可以忽略此错误,点确定,然后在点跳过,点一下步.
完成:点关闭。
用以下方法验证两台机器时间是否同步
[grid@node1 ~]$ crsctl check ctss
CRS-4701: 集群时间同步服务处于活动模式。
CRS-4702: 偏移量 (毫秒): 0
[grid@node2 ~]$ crsctl check ctss
CRS-4701: 集群时间同步服务处于活动模式。
CRS-4702: 偏移量 (毫秒): 0
九、安装database软件
安装database软件时候,需要把屏幕分辨率调到1024*800以上分辨率,调整好以后需要注销在重新进入,否则安装时候在输入密码键盘输入没有反映。
以oracle用户登录,把p10404530_112030_Linux-x86-64_1of7.zip,p10404530_112030_Linux-x86-64_2of7.zip两个文件复制到oracle主目录下面
用unzip解压
$ unzip p10404530_112030_Linux-x86-64_1of7.zip
$ unzip p10404530_112030_Linux-x86-64_2of7.zip
$ cd database/
$ unset ORACLE_HOEM
$ ./runInstall
配置安全更新:把钩去掉,直接点下一步
下载软件更新:路过软件更新
安装选项:仅安装数据库软件
网络安装选项:Oracle Real Application Clusters 数据库安装,选择所有节点,点ssh连接按钮
操作系统用户:oracle 操作系统口令: 然后点设置按键
产品语言:简体中文,英语
数据库版本:企业版
安装位置:Oracle基目录:/u01/app/oracle
软件位置:/u01/app/oracle/product/11.2.0/dbhome_1
操作系统组:数据库管理员:dba 数据库操作者:oper
先决条件检查:任务resolv.conf完整性,忽略,单客户机访问名(SCAN)警告,忽略
安装产品:弹出一个窗口,用root用户登录在每个节点上执行:/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
完成:点关闭。
十. 创建ASM 磁盘组
以grid用户在node1节点登录
在安装Clusterware 的时候,会创建ASM 实例,但是它只创建了一个CRS 组来安装OCR 和Voting Disk。 在我们继续安装Oracle 数据库之前,我们需要创建一个DATA 和 FRA 的ASM 磁盘组来存放这些文件。
创建过程很简单。 运行asmca(ASM Configuration Assistant)命令就可以弹出创建窗口。 在窗口中创建完DATA 和 FRA 组后,退出窗口即可。
十二、创建数据库
以oracle用户登录操作在node1完成以下操作
$ dbca
选择"Oracle Real Application Clusters(RAC)数据库"
选择"创建数据库"
选择"定制数据库"
全局数据库名"raw10g"
配置类型:管理员管理的,全局数据库名:asm11g,SID前缀:asm11g 点全选
默认
输入口令
选择"自动存储管理(ASM)",使用Oracle-Managed Files ,数据库区:+DATA
指定快速恢复区打上钩+FRA,启用归档打上钩
选择组件
内存大小和字符集这里注意选择一下,最后对redo文件大小改写250m;
一直点下一步,最后点完成。接下来数据库在创建库进度条
十三、客户端启用负载均衡器Transparent Application Failover (TAF)配置tnsname.ora文件 ,这里我们使用scan IP
ASM11G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.19.165)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = asm11g)
)
)