oracle 11g RAC安装记录.docx
《oracle 11g RAC安装记录.docx》由会员分享,可在线阅读,更多相关《oracle 11g RAC安装记录.docx(60页珍藏版)》请在冰豆网上搜索。
![oracle 11g RAC安装记录.docx](https://file1.bdocx.com/fileroot1/2023-1/29/50f6249e-8f81-4fb9-9713-3ef550e5e4d7/50f6249e-8f81-4fb9-9713-3ef550e5e4d71.gif)
oracle11gRAC安装记录
本文档只示例基本的安装步骤,无法替代官方文档,更加详细的配置与说明请参考官方文档。
以下以两台节点为例子,Linux系统以Redhat6.564位为例
1.服务器硬盘空间要求
/tmp目录大小至少:
1GB
安装GridInfrastracture所需空间:
6.6GB
安装OracleDatabase所需空间:
4.6GB(32位系统4GB空间)
此外安装过程中分析、收集、跟踪文件所需空间:
10GB
建议总共至少30GB(此处不包含ASM或NFS的空间需求)
内存大小:
至少2.5GB
Swap大小:
当内存为2.5GB-32GB时,Swap需要大于等于系统内存。
(32位为2.5-16GB)
当内存大于32GB时,Swap等于32GB即可。
(32位为16GB)
在Linux上,HugePages功能使用内存映射文件为大页表分配不可交换内存。
如果启用HugePages,则应在计算交换空间之前从可用RAM中扣除分配给HugePages的内存。
本例安装说明:
1.服务器需要配备两块网卡,分别用于公网和私网(心跳)连接。
2.各Linux主机名分别为rac1,rac2
3.需要一个共享存储,分别划分5个盘,两个OCR注册盘,一个votingdisk投票盘,一个DATA数据盘,一个backup备份盘,不同冗余级别需要的空间不同,参照以下表格分配。
冗余类型所需的Oracle集群件存储空间总量
冗余级别
最小磁盘数量
注册盘空间
投票盘空间
总共需要空间
外部冗余
1
300MB
300MB
600MB
普通冗余
3
600MB
900MB
1.5GB
高级冗余
5
900MB
1.5GB
2.4GB
如果您在安装过程中创建了一个磁盘组,那么它至少必须是2GB。
每个磁盘组的大小必须是2GB以上,若采用普通冗余,每个故障组推荐2.1GB,总共6.3GB以确保任何情况OracleClusterware文件的有效磁盘空间为2GB以上。
以上为最小值,可根据需要增大,但最终每个磁盘组不小于2GB(比如OCR和votingdisk都加入一个磁盘组里,这个组的总大小即OCR加votingdisk的总大小不小于2GB)。
冗余类型所需的Oracle数据库存储空间总量
冗余级别
最小磁盘数量
数据库空间
备份恢复空间
总共需要空间
外部冗余
1
1.5GB
3GB
4.5GB
普通冗余
2
3GB
6GB
9GB
高级冗余
3
4.5GB
9GB
13.5GB
Oracle数据库存储空间仅列出最小值,实际根据需要增大
这里我们划分两个1GBOCR注册盘,一个1GBvotingdisk投票盘,一个20GB数据盘,一个10GB备份盘,总共5个盘,安装时使用External外部冗余。
因为这里选择的是外部冗余,所以注册盘和投票盘可以一起使用一个盘,即最低只需要3个盘。
2.节点配置检查
按以上要求检查
查看内存和swap大小
[root@rac1~]#grepMemTotal/proc/meminfoMemTotal:
2552560kB
[root@rac1~]#grepSwapTotal/proc/meminfoSwapTotal:
2621436kB
如果swap太小用以下方法调整
方法一:
1.划分一个新的空闲分区,用lvm将其pv初始化加入vg中,扩展swaplv分区
2.输入命令
swapoff-a
fdisk-l查看swap的设备路径
makeswap/dev/mapper/vg**-swap(写swaplv分区的路径)
swapon-a
cat/proc/swaps查看swap分区大小
3.网络规划
1.硬件要求
需要两块网卡,一个连公网,一个连私网用于节点间内部通信。
需要保证每个节点用于外网或私网接口(网卡名)保证一致。
比如,node1使用eth0作为对外接口,node2就不能使用eth1作为对外接口。
2.IP配置要求
使用手动配置IP,指定静态的scanip,不使用GNS自动分配地址(GNS为DHCP自动分配各IP,需要DNS和DHCP服务器,可实现拿来可用,无需再配置IP,但实现复杂)
每个节点分配一个ip、一个虚拟ip、一个私有ip。
其中ip、vip和scan-ip需要在同一个网段。
Identity
HomeNode
HostNode
GivenName
Type
Address
RAC1Public
RAC1
rac1
rac1
Public
192.0.2.101
RAC1VIP
RAC1
rac1
rac1-vip
Virtual
192.0.2.104
RAC1Private
RAC1
rac1
rac1-priv
Private
192.168.0.1
RAC2Public
RAC2
rac2
rac2
Public
192.0.2.102
RAC2VIP
RAC2
rac2
rac2-vip
Virtual
192.0.2.105
RAC2Private
RAC2
rac2
rac2-priv
Private
192.168.0.2
SCANIP
none
SelectedbyOracleClusterware
scan-ip
virtual
192.0.2.201
注意:
官方推荐使用DNS或GNS解析或分配scanip,并可以解析三个scanip(至少可解析一个scanip)但由于需要搭建DNS服务器,DHCP服务器。
这里为了方便我们使用host文件解析(注意官方不推荐这么做),这会导致在环境检测和安装结束时报错,但这不会有什么影响,忽略那些错误。
3.环境配置
1.关闭防火墙和SELinux
通常网络中存在物理防火墙,为防止访问阻拦,关闭系统自带防火墙。
Selinux配置不当有可能限制访问权限,这里选择关闭它。
[root@rac1~]#vim/etc/sysconfig/selinux
SELINUX=disabled
[root@rac1~]#serviceiptablesstop
[root@rac1~]#chkconfigiptablesoff
2.创建必要的用户、组和目录,并授权
Oracle软件组件
软件组件
操作系统用户
主组
辅助组
主目录
Oracle基目录/Oracle主目录
GridInfrastructure
grid
oinstall
asmadmin、asmdba、asmoper
/home/grid
/u01/app/grid
/u01/app/11.2.0/grid
OracleRAC
oracle
oinstall
dba、oper、asmdba
/home/oracle
/u01/app/oracle
/u01/app/oracle/product/11.2.0/dbhome_1
/usr/sbin/groupadd-g1000oinstall
/usr/sbin/groupadd-g1020asmadmin
/usr/sbin/groupadd-g1021asmdba
/usr/sbin/groupadd-g1022asmoper
/usr/sbin/groupadd-g1031dba
/usr/sbin/groupadd-g1032oper
useradd-u1100-goinstall-Gasmadmin,asmdba,asmoper,oper,dbagrid
useradd-u1101-goinstall-Gdba,asmdba,operoracle
mkdir-p/u01/app/11.2.0/grid
mkdir-p/u01/app/grid
mkdir/u01/app/oracle
chown-Rgrid:
oinstall/u01
chownoracle:
oinstall/u01/app/oracle
chmod-R775/u01/
参照官方文档,采用GI与DB分开安装和权限的策略,对于多实例管理有利。
各用户和组的作用说明请参照官方文档
4.系统文件设置
(1)修改内核参数
[root@rac1~]#vi/etc/sysctl.conf
kernel.msgmnb=65536
kernel.msgmax=65536
kernel.shmmax=68719476736
kernel.shmall=4294967296
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmax=1306910720
kernel.shmmni=4096
kernel.sem=25032000100128
net.ipv4.ip_local_port_range=900065500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
net.ipv4.tcp_wmem=262144262144262144
net.ipv4.tcp_rmem=419430441943044194304
这里后面检测要改
kernel.shmmax=68719476736
确认修改内核
[root@rac1~]#sysctl-p
(2)配置oracle、grid用户的shell限制
[root@rac1~]#vi/etc/security/limits.conf
gridsoftnproc2047
gridhardnproc16384
gridsoftnofile1024
gridhardnofile65536
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
(3)配置login
[root@rac1~]#vi/etc/pam.d/login
sessionrequiredpam_limits.so
注:
以上所用参数可不进行手动设置,在之后的CVU配置检测后可生成修复脚本批量修改,若修改后仍有错误可再手动对照错误提示修改。
1.安装需要的软件包
根据官方文档redhat6所需软件包如下
RedHatEnterpriseLinux6Thefollowingpackages(orlaterversions)mustbeinstalled:
binutils-2.20.51.0.2-5.28(s390x)
compat-libstdc++-33-3.2.3-69.el6(s390)
gcc-4.4.6-3.el6(s390x)
gcc-c++-4.4.6-3.el6(s390x)
glibc-2.12-1.47.el6(s390)
glibc-2.12-1.47.el6(s390x)
glibc-devel-2.12-1.47.el6(s390)
glibc-devel-2.12-1.47.el6(s390x)
kshlibaio-0.3.107-10.el6(s390)
libaio-0.3.107-10.el6(s390x)
libaio-devel-0.3.107-10.el6(s390x)
libgcc-4.4.6-3.el6(s390)
libgcc-4.4.6-3.el6(s390x)
libstdc++-4.4.6-3.el6(s390x)
make-3.81-19.el6(s390x)
sysstat-9.0.4-18.el6(s390x)
unixODBC-2.2.14-11.el6(s390x)(OnlyneededifusingODBC)
unixODBC-devel-2.2.14-11.el6(s390x)(OnlyneededifusingODBC)
pdksh-5.2.14//这个包最终环境检测会让装,光盘里没有需要去网上寻找,有可
能安装时会提示与ksh包冲突,卸载ksh软件包安装即可。
也可以使用ksh,忽略错误,因为它和pdksh是一个东西,只是在redhat上叫ksh,官方文档也说了安装了ksh就可以
配置本地yum源,例如:
[root@rac1~]#mount/dev/cdrom/mnt/cdrom/
[root@rac1~]#vim/etc/yum.repos.d/dvd.repo
[dvd]
name=dvd
baseurl=file:
///mnt/cdrom
gpgcheck=0
enabled=1
[root@rac1~]#yumcleanall
[root@rac1~]#yummakecache
[root@rac1~]#yuminstallgccgcc-c++glibc*glibc-devel*kshlibgcc*libstdc++*libstdc++-devel*makesysstat
5.配置IP和hosts、hostname
(1)配置ip
//这里的网关有vmware中网络设置决定,eth0为连接外网,eth1内网心跳
//rac1主机下
[root@rac1~]#vi/etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.0.2.101
NETMASK=255.255.255.0
DNS1=114.114.114.114
[root@rac1~]#vi/etc/sysconfig/network-scripts/ifcfg-eth1
IPADDR=192.168.0.2
NETMASK=255.255.255.0
//rac2主机下
[root@rac2~]#vi/etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.0.2.102
NETMASK=255.255.255.0
DNS1=114.114.114.114
[root@rac2~]#vi/etc/sysconfig/network-scripts/ifcfg-eth1
IPADDR=192.168.0.1
NETMASK=255.255.255.0
(2)配置hostname
//rac1主机下
[root@rac1~]#vi/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=rac1
GATEWAY=***.***.***.***
NOZEROCONF=yes
//rac2主机下
[root@rac2~]#vi/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=rac2
GATEWAY=***.***.***.***//有网关写网关
NOZEROCONF=yes
(3)配置hosts
rac1和rac2均要添加:
[root@rac1~]#vi/etc/hosts
192.0.2.101rac1
192.0.2.104rac1-vip
192.168.0.1rac1-priv
192.0.2.102rac2
192.0.2.105rac2-vip
192.168.0.2rac2-priv
192.0.2.201scan-ip(这里之前说过官方不推荐使用host解析scan-ip,实际更推荐DNS或GNS配置scan,这里只是为了方便演示)
6.配置grid和oracle用户环境变量
1.grid用户环境变量
[root@rac1~]#su-grid//切换grid用户
[grid@rac1~]$vi.bash_profile
exportTMP=/tmp
exportTMPDIR=$TMP
exportORACLE_SID=+ASM1#RAC1
exportORACLE_SID=+ASM2#RAC2//在那个节点上就写哪个SID号
exportORACLE_BASE=/u01/app/grid
exportORACLE_HOME=/u01/app/11.2.0/grid
exportPATH=/usr/sbin:
$PATH
exportPATH=$ORACLE_HOME/bin:
$PATH
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:
/lib:
/usr/lib
exportCLASSPATH=$ORACLE_HOME/JRE:
$ORACLE_HOME/jlib:
$ORACLE_HOME/rdbms/jlib
exportDISPLAY=***.***.***.***:
0.0//图形界面显示IP地址
umask022
需要注意的是ORACLE_UNQNAME是数据库名,创建数据库时指定多个节点是会创建多个实例,ORACLE_SID指的是数据库实例名
2.oracle用户环境变量
[root@rac1~]#su-oracle
[oracle@rac1~]$vi.bash_profile
exportTMP=/tmp
exportTMPDIR=$TMP
exportORACLE_SID=orcl1#RAC1
exportORACLE_SID=orcl2#RAC2
exportORACLE_UNQNAME=orcl
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
exportTNS_ADMIN=$ORACLE_HOME/network/admin
exportPATH=/usr/sbin:
$PATH
exportPATH=$ORACLE_HOME/bin:
$PATH
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:
/lib:
/usr/lib
exportDISPLAY=***.***.***.***:
0.0//图形界面显示IP地址
$source.bash_profile使配置文件生效,或退出登录再重新登陆
7.配置grid和oracle用户ssh互信
这是很关键的一步,虽然在安装GI和RAC的时候OUI可以选择自动配置SSH,但为了在安装之前使用CVU检查各项配置,还是手动配置互信更优。
如果不使用CVU可不在此设置,需要在安装界面设置。
以grid用户身份登录执行,之后登陆oracle用户执行,两个用户配置方式相同
ssh-keygen-trsa
ssh-keygen-tdsa这两条命令在两个节点上均需运行,不用输入东西,直接确定
[grid@rac1~]$
sshrac1cat~/.ssh/id_rsa.pub>>authorized_keys//需要输密码
sshrac2cat~/.ssh/id_rsa.pub>>authorized_keys
sshrac1cat~/.ssh/id_dsa.pub>>authorized_keys
sshrac2cat~/.ssh/id_dsa.pub>>authorized_keys
[grid@rac1.ssh]$scpauthorized_keysrac2:
~/.ssh/
[grid@rac1.ssh]$chmod600authorized_keys
[grid@rac2.ssh]$chmod600authorized_keys
sshrac1date
sshrac2date
sshrac1-privdate
sshrac2-privdate这四条命令在两个节点上均需运行
首次需要互相ssh一下,提示选择yes确定,之后再ssh便可直接通过返回信息
8.配置裸盘
说明:
oracle可以选择两种存储配置方式
使用ASMLibI/O的ASM:
此方法使用ASMLib调用在由ASM管理的原始 块设备 上创建所有Oracle数据库文件。
由于ASMLib使用块设备,因此该方法不需要原始设备。
使用标准LinuxI/O的ASM:
此方法不使用ASMLib。
此方法使用标准LinuxI/O系统调用在ASM管理的原始字符设备 上创建所有的Oracle数据库文件。
您将需要为ASM使用的所有磁盘分区创建原始设备。
自动存储管理即ASM(AutomaticStorageManagement),是Oracle提供的一项管理磁盘的功能,它是一种以纯软件方式实现的逻辑卷管理器,是oracle自己的文件系统。
在这里我们选择不使用ASMLib,选择第二种方式直接使用裸设备。
ASM的配制方法提另说明
1.对于单路径的存储
方法一:
使用子符方式绑定udev
[root@rac1~]#vi/etc/udev/rules.d/60-raw.rules//60-raw.rules文件中加入以下信息
ACTION=="add",KERNEL=="/dev/sdb1",RUN+='/bin/raw/dev/raw/raw1%N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw/dev/raw/raw1%M%m"
ACTION=="add",KERNEL=="/dev/sdc1",RUN+='/bin/raw/dev/raw/raw2%N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw/dev/raw/raw2%M%m"
ACTION=="add",KERNEL=="/dev/sdd1",RUN+='/bin/raw/dev/raw/raw3%N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw/dev/raw/raw3%M%m"
AC