AIX 下 Oracle RAC 部署文档 | 周末送资料
目录
1 主机规划
1.1 硬件环境
1.2 软件环境
1.3 网络规划
1.3.1 ip 地址规划
1.3.2 DNS 服务器
1.4 安装目录规划
1.5 存储规划
1.5.1 grid、ASM 安装目录
1.5.2 Clusterware 安装目录
1.5.3 OCR、VOTE存储规划
2 安装准备
2.1 系统硬件环境检查
2.1.1 Oracle11gR2 RAC 最低安装要求
2.1.2 验证方法
2.2 安装操作系统软件包
2.2.1 安装 FILESETS
2.2.2 配置 IP 地址
2.2.3 修改/etc/hosts 文件
2.3 文件系统准备
2.3.1 方法 1 :使用命令创建
2.4 调整系统参数
2.4.1 打开异步 IO
2.4.2 调整虚拟内存管理
2.4.3 调整 maxuproc (系统最大进程数)和 ncargs (系统块大小)参数
2.4.4 调整 SHELL 限制
2.4.5 确认网络配置参数
2.5 创建用户、组
2.5.1 要求
2.5.2 创建命令
2.5.3 修改用户属性
2.6 用户环境变量设置
2.6.1 grid 用户
2.6.2 oracle 用户
2.7 创建安装目录并修改权限
2.8 SSH 信任关系设置
2.8.1 首先在两台机器上安装好 OpenSSH 软件
2.8.2 在 在 grid 安装中选择自动配置 SSH 双机信任关系
2.9 配置磁盘设备
2.9.1 设置磁盘属性
2.9.2 修改用于数据库存储的 PV 的属主
2.9.3 修改用于数据库存储的 PV 的权限
2.9.4 清除 PVID
3 安装 Grid
3.1 Grid 安装前检查
3.1.1 执行rootpre.sh
3.1.2 安装grid
3.1.3 Clusterware 安装校验
4 安装 Database
5 创建 ASM 磁盘组
6 DBCA 创建数据库
1 主机规划
1.1 硬件环境
服务器:两台 IBM P740
存储:DS5020 存储;
1.2 软件环境
数据库:
p10404530_112030_AIX64-5L_1of7.zip
p10404530_112030_AIX64-5L_2of7.zip
集群软件:
p10404530_112030_AIX64-5L_3of7.zip
这三个包
操作 系统:
AIX 7.1,Oracle 11gR2
1.3 网络规划
1.3.1 ip地址规划
1.3.2 DNS服务器
使用/etc/hosts 来解析 scan
1.4 安装目录规划
安装目录规划原则:建立/u01 文件系统用来安装 grid、 datbase 程序。 程序都安装在/u01/app下面, 对于 grid 与 database分别建立不同的目录, 分配不同的权限。 其中grid 的 ORACLE_BASE和 ORACLE_HOME 建议安装在不同的目录下,具体规划如下:
新建 50g lv :fslv
新建文件系统,挂载点:/u01
gridbase 目录:/u01/app/grid #grid 用户的 ORACLE_BASE
grid asm 安装目录:/u01/app/11.2/grid #grid 用户的 ORACLE_HOME,也即是安装时的
software location
Oracle base 目录:/u01/app/oracle #oracle 用户的 ORACLE_BASE
1.5 存储规划
1.5.1 grid 、ASM 安装目录
在 Oracle 11gR2 中 grid 和 ASM 是安装在同一目录下的,我们将 grid 和 ASM安装在/u01/app/grid 目录下,为 JFS2 文件系统,大小为 50G。
1.5.2 Clusterware 安装目录
我们将 Clusterware 安装在/u01/app目录下。
1.5.3 OCR 、VOTE 存储规划
在我们的方案中规划如下:
OCR、 VOTE hdisk2 容量:3x1G
DATAhdisk3 容量:500G
FLASH hdisk8 容量:200G
2 安装准备
2.1 系统硬件环境检查
2.1.1 Oracle11gR2 RAC 最低安装要求:
内存:
安装 grid infrastructure最少需要 1.5GB 的内存,
安装 grid infrastructure和 RAC 最少需要 2.5GB 的内存
swap :最少需要 4GB,有的资料介绍最少 1.5G,不过安装环境检查时显示需要16G。
temp :推荐 10G,可以将安装文件上传至/tmp 目录下,8GB 合适
安装目录:grid infrastructure+ASM+Clusterware 最少需要 12GB
操作系统:
AIX 7.1, 64-bitkernel
2.1.2 验证方法:
2.1.2.1 确认内存大小
# r lsattr l -El 0 sys0 a -a realmem
2.1.2.2 确认 SWAP 空间,最少 4G。 。
# s lsps -a
若不够 4G,需要增加 PPS 数。本系统一个 PPS 为 128M,所以增加 20 个,使 swap 达到 4G。
PPS 大小可以通过lsvg rootvg 查看。
# s chps s -s 2 32 hd6
# s lsps -a
2.1.2.3 确认/tmp 大于 1.5GB 和/oracle 目录空间于 大于 15GB
oracle 安装目录在 50GB左右,grid infrastructure+ASM 安装在/u01/app/grid目录下,其中 Oracle11g 安装在/u01/app/oracle/目录下.
s chfs –a a G size=10G /tmp
2.1.2.4 确认系统结构
# f getconf HARDWARE_BITMODE
64
2.1.2.5 确认系统 CPU 个数和主频:
# v lsdev C -C | | p grep proc
# r lsattr l -El proc0
2.2 安装操作系统软件包
2.2.1 安装 FILESETS
AIX 7 71 .1 需要安装如下软件包:
The following operatingsystem filesetsare required for X AIX 7.1:
bos.adt.base
bos.adt.lib
bos.adt.libm
bos.perf.libperfstat
bos.perf.perfstat
bos.perf.proctools
xlC.aix61.rte:10.1.0.0 or later
xlC.rte.10.1.0.0 or later
gpfs.base 3.3.0.11 or later
以上 filesets 安装与否可以用命令 lslpp -l 进行检查确认。默认安装都是全的,不需要手工进行添加。其中 gpfs.base 不需要安装。验证如下:
2.2.2 配置 IP 地址
根据前面的规划先配置要两台机器的 IP 地址,就是 interlib1、interlib1-priv 和
interlib2、interlib2-priv 这四个IP 地址。
同样配置几块网卡的 IP 地址,en0 和 en1 做冗余绑定(en4) ,其中服务地址要配置网关,
网关地址为:80.10.1.254。
2.2.3 修改/etc/hosts 文件
修改每个节点上的/etc/hosts 文件。
127.0.0.1 loopback localhost # loopback (lo0) name/address
80.10.1.1 interlib1
80.10.1.3 interlib1-vip
192.168.0.2 interlib1-priv
80.10.1.2 interlib2
80.10.1.4 interlib2-vip
192.168.0.3 interlib2-priv
80.10.1.5 interlib-scan
注意:如果你的环境里不具备 DNS 服务器,那么 SCAN 地址解析可以通过/etc/hosts 或 GNS来实现, 这需要在你的所有数据库主机的 host 文件里添加一个 SCAN 地址, 并且这个地址的解析名不要超过 16 个字符,超过的话,oracle 只会解析前 16 个字符。本例中我们通过/etc/hosts 来解析 scan。
2.3 文件系统准备
创建1 /u01 文件系统
2.3.1 方法 1 :使用命令创建
1、r mkdir /u01
2、建立一个lv v mklv –t t 2 jfs2 –y y 0 fslv00 g rootvg 100 #100个pps,可视需要而定
3、建立一个文件系统 s crfs –v v 2 jfs2 d -d 0 /dev/fslv00 m -m /u01
4、mount文件系统 t mount /u01
5、使用smitchfs,修改/u01启动自动mount。
创建文件系统
1、r mkdir /u01
2、建立一个lv v mklv –t t 2 jfs2 –y y 0 fslv00 g rootvg 100 #100个pps,可视需要而定
3、建立一个文件系统 s crfs –v v 2 jfs2 d -d 0 /dev/fslv00 m -m /u01
4、mount文件系统 t mount /u01
5、使用smitchfs,修改/u01启动自动mount。
2.4 调整系统参数
2.4.1 打开异步 IO
AIX5.3 中,在安装grid 软件前执行 rootpre.sh 会自动打开异步 IO 服务,在AIX7.1 中默认异步 IO 服务是打开的。推荐的 aio_maxreqs 值为 64k (65536),检查方法如下:
AIX 7.1
# o ioo o -o aio_maxreqs
aio_maxreqs = 65536
2.4.2 调整虚拟内存管理
Oracle推存使用vmo命令去调优虚拟内存管理,参数推荐如下:
命令如下:
o vmo p -p o -o minperm%=3
o vmo p -p o -o maxperm%=90
o vmo p -p o -o maxclient%=90
o vmo p -p o -o lru_file_repage=0
o vmo p -p o -o strict_maxclient=1
o vmo p -p o -o strict_maxperm=0
You must restart the system forthese changes to take effect.
2.4.3 调整 maxuproc (系统最大进程数)和 ncargs (系统块大小)参数
# v chdev l -l 0 sys0 a -a maxuproc=16384
sys0 changed
也可以使用:smitty chgsys 修改“Maximum number of PROCESSES allowed per user”
修改完成后查看:
# r lsattr l -El 0 sys0 a -a maxuproc
maxuproc 16384 Maximum number of PROCESSES allowed per user True
# v chdev l -l 0 sys0 a -a ncargs=256
sys0 changed
2.4.4 调整 SHELL 限制
1. 在 /etc/security/limits文件中增加如下行:
default:
e fsize = = -1
e core = = - -1 1
u cpu = = -1
a data = = -1
s rss= -1
k stack = = -1
s nofiles = = -1
2.45 确认网络配置参数
用# /usr/sbin/no -a | more来查看网络参数是否满足下面的要求
PARAMETER RECOMMENDED VALUE
ipqmaxlen 512
rfc1323 1
sb_max 1500000
tcp_recvspace 65536
tcp_sendspace 65536
udp_recvspace1351680 这个值应该是 udp_sendspace 的 10 倍,但是必须小于 sb_max
udp_sendspace 135168 这 个 值 至 少 应 该 是 4K +
(db_block_size*db_multiblock_read_count)的大小
修改命令
no -r -o ipqmaxlen=521
no -p -o rfc1323=1
no -p -o sb_max=1500000
no -p -o tcp_recvspace=65536
no -p -o tcp_sendspace=65536
no -p -o udp_recvspace=1351680
no -p -o udp_sendspace=13516
在修改前需要先查看系统设置的兼容性:
# r lsattr l -El 0 sys0 a -a pre520tune
1 、输出如:
pre520tune disable Pre-520 tuning compatibilitymode True
说明是不兼容方式,这样就可以用上面的方式调整:
2 、如果是 y compatibility 模式,则:
# /usr/sbin/no -o parameter_name=value
并且编辑文件/etc/rc.net 加入下面内容:
if [ -f/usr/sbin/no ] ; then
/usr/sbin/no -oudp_sendspace=65536
/usr/sbin/no -oudp_recvspace=655360
/usr/sbin/no -otcp_sendspace=65536
/usr/sbin/no -otcp_recvspace=65536
/usr/sbin/no -orfc1323=1
/usr/sbin/no -osb_max=2*655360
/usr/sbin/no -oipqmaxlen=512
fi
2.5 创建用户、组
2.5.1 要求
本次安装我们就规划了多个组,但是规划两个用户,一个用于管理 ASM 实例,另一个用于管理 DB 实例。
2.5.2 创建命令:
#mkgroup -A id=500 adms='root' oinstall
#mkgroup -A id=501 adms='root' dba
#mkgroup -A id=502 adms='root' oper
#mkgroup -A id=503 adms='root' asmadmin
#mkgroup -A id=504 adms='root' asmdba
#mkgroup -A id=505 adms='root' asmoper
#mkuser id=500 pgrp=oinstall groups=asmadmin,asmdba,asmoper home=/home/grid grid
#mkuserid=501 pgrp=oinstall groups=dba,asmdba,oper home=/home/oracle oracle
!注意保持双机用户与组的 D ID 的一致。
2.5.3 修改用户属性
2.5.3.1 grid 用户
1、在两台主机上要保证 grid 用户具有以下能力:
CAP_NUMA_ATTACH, CAP_BYPASS_RAC_VMM, and CAP_PROPAGATE
查看grid用户能力:
#lsuser-a capabilitiesgrid
增加grid用户能力:
# r chuser E capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid
2、设置grid用户密码:
#d passwd grid
3、在两台主机上最消grid用户shell限制
可以通过smit chuser去修改grid用户限制,或直接修改/etc/security/limits 文件,具体
参数如下:
default:
fsize = -1
core = 2097151
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1
2.5.3.2 oracle 用户
1、在两台主机上要保证 oracle 用户具有以下能力:
CAP_NUMA_ATTACH, CAP_BYPASS_RAC_VMM, and CAP_PROPAGATE
查看oracle用户能力:
# lsuser -a capabilities oracle
增加oracle用户能力:
#r chuser E capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle
2、设置oracle用户密码:
#passwdoracle
3、在两台主机上最消oracle用户shell限制
可以通过smit chuser去修改oracle用户限制,或直接修改/etc/security/limits 文件,具体参数如下:
oracle:
fsize = -1
core = 2097151
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1
2.5.3.3 root 用户
在两台主机上最消root用户shell限制,因为CRS进程(crsd)需要以root用户运行。可以通过smit chuser去修改root用户限制,或直接修改/etc/security/limits 文件,具体参数如下:
default:
fsize = -1
core = 2097151
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1
2.6 用户环境变量设置
2.6.1grid 用户
在两台服务器的的 grid 用户的.profile 最后,增加如下内容:
umask 022
ORACLE_BASE=/u01/app/grid #需手工创建
ORACLE_HOME=/u01/app/11.2.0/grid #需手工创建
ORACLE_SID=+ASM1 #节点 2 是+ASM2
NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
PAHT=$ORACLE_HOME/bin:$PATH
export ORACLE_SID ORACLE_BASE ORACLE_HOME PATH NLS_DATE_FORMAT
2.6.2 oracle 用户
在两台服务器的的 oracle 用户的.profile 最后,增加如下内容:
umask 022
ORACLE_SID=interlib1
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_UNQNAME=interlib
NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID ORACLE_BASE ORACLE_HOME ORACLE_UNQNAME PATH NLS_DATE_FORMAT
2.7 创建安装目录并修改权限
注意:如果 grid 与 orcle 安装在同一文件系统下面,如上,在进行权限修改的时候要注意顺序,先进行/u01 赋权,再进行/u01/db 赋权,否则会被覆盖。
2.8 SSH 信任关系设置
2.8.1 首先在两台机器上安装好 OpenSSH 软件;
具体安装方法本处不详述,需要下载 openssh、openssl,安装时需先安装 openssl,然后再安装 openssh。也可以通过 AIX 系统光盘,执行 smitty install,选择所有 ssh 包安装。
安装完毕后可以检查:
# lslpp –l | grep ssh
2.8.2 在 grid 安装中选择自动配置 SSH 双机信任关系
以下两个节点都执行:
#su – grid
$mkdir –p ~/.ssh
$chmod 700 ~/.ssh
$/usr/bin/ssh-keygen -trsa
提示输入密码时,保持为空,直接回车即可。
以下只在节点 1 1 上执行:
$ touch~/.ssh/authorized_keys
$ ssh interlib1cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
$ ssh interlib2cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
$ scp ~/.ssh/authorized_keys interlib2:.ssh/authorized_keys
以下只在节点 2 2 上执行:
$ chmod600 ~/.ssh/authorized_keys
2.9 配置磁盘设备
2.9.1 设置磁盘属性
该步骤若不做,在 grid 安装完成建立 ASM 时,第二个节点会找不到硬盘,同时加入不了群集。
检测:
lsattr -El hdisk3 |grep reserve_
查看一个即可
设置保持策略:
如果上面查看的结果是 reserve_policy
chdev -l hdisk2 -a reserve_policy=no_reserve
chdev -l hdisk3 -a reserve_policy=no_reserve
chdev -l hdisk8 -a reserve_policy=no_reserve
chdev -l hdisk9 -a reserve_policy=no_reserve
如果上面查看的结果是 reserve_lock
chdev -l hdisk3 -a reserve_lock=no
……
2.9.2 修改用于数据库存储的 PV 的属主
chown grid:dba /dev/rhdisk2
chown grid:dba /dev/rhdisk3
chown grid:dba /dev/rhdisk8
chown grid:dba /dev/rhdisk9
2.9.3 修改用于数据库存储的 PV 的权限
chmod 777 /dev/rhdisk2
chmod 777 /dev/rhdisk3
chmod 777 /dev/rhdisk8
chmod 777 /dev/rhdisk9
2.9.4 清除 PVID
查看 LUN,如果已经有了 PVID 的话,需要进行清除。
chdev -l hdisk3 -a pv=clear
重复同样的操作,清除所有 LUN 的 PVID
3 安装 Grid
3.1 Grid 安装前检查
切换到 grid 用户并执行安装前检查,进入 grid 安装目录:
$./runcluvfy.sh stage -pre crsinst -n interlib1,interlib2 -fixup -verbose
检查失败项并进行相应的调整。
3.1.1 执行 rootpre.sh
1、以 root 身份登录在所有节点执行:slibclean
2、以 root 身份登录在所有节点执行 grid 软件下的:rootpre.sh
3.1.2 安装 grid
使用 xmanager 登录,
$ export DISPLAY=80.10.254.126:0.0 #安装终端 IP
在上传的 grid 安装文件目录下,键入./runInstaller 开始安装:
在这个界面下选择合适的安装类型,选择 typical,将遇到更少的选择,并且在后续Oracle 可以生成一个 fixup 脚本叫你执行,然后自动调整你没有按要求调整的系统参数,如果选择 advanced,那么你将遇到更多的选择,并且所有环境变量要按要求事先准备,否则会报错,在这里我们选择 advanced选项:
Next:
在上图选择产品语言时加上中文件语句, 否则在使用 EM 时如果你的 IE 优先使用中文的话会出乱码的:
本次实施中我们使用的是/etc/hosts 解析,直接填写 scan,即可。
若是有 DNS 解析,这里填上在 DNS 服务器中建立的 SCAN.IBM.COM 的名称。
Next:
这里如果 DNS 没有配置好,会报 scan vip 出错。
指定网络接口,public 和 private.
这里选择 ASM 存储:
创建 ASM磁盘组 SYSTEMDG,用于放置 OCR、VOTE 文件:
Next:
设置一致的密码,这里我们设置为:interlib。密码不要忘记,在建立 RAC集群数据库时还需要。
会提示密码过于简单,不用理会。Next:
上图指定特权操作系统组:Next
上图指定 oracle base 和 software install 目录,按我们的规划要求进行调整:
Oracle Base:/u01/app/grid
Software Location:/u01/app/11.2.0/grid
安装不通过, 将software location改为/u01/db后可以继续, /u01/db的属主是oracle:dba,不解
创建临时目录 inventory:
预安装检查,如下:
检查结果:
尝试忽略其它 Failed 继续安装。
点击:Finish 开始安装:
安装时间较长,达数十分钟。
在两个节点上分别按提示的顺序执行 oraInstRoot.sh 和 root.sh,注意一定要按提示的顺序执行。若是在 node1 上安装,则执行顺序:
Node1:
#/../orainstRoot.sh
Node2:
/../orainstRoot.sh
Node1:
/../root.sh
Node2:
/../root.sh
完成后点击 OK:
完装完成后点击:close。
3.1.3 Clusterware 安装校验
查看集群启动了哪些服务,以 grid 用户执行 crs_stat –t –v 命令:
如果看到启动的许多相应的服务,则显示正常。
4 安装 Database
这里只安装数据库软件,之后再用 dbca 命令建立集群数据库。安装完 database 软件后,还要建立 ASM 磁盘组。
使用 oracle 用户通过 xmanager 登录进行安装。
选择不接收更新,Next:
选择只安装数据库软件,Next:
选择 realapplication cluster database installlation,然后选中所有的节点,Next:
在上图中,需要进行 oracle 用户的 ssh 信任配置,如果在前面没有配置好,可以在这里进行配置。Test 一下是否正常,Next:
选择语言,添加 Simplitied Chinese,Next:
选择数据库版本:Enterprise Edition,Next:
选择安装目录,Next:
如果环境变量设置正确,上面会自动填充,否则的话需要手工调整,这里的调整要和 oracle用户的环境变量保持一致,Next:
由于我们这里只建了一个 dba 组,所以,Next:
开始执行安装前检查,
Next,开始进行安装:
此安装过程较为耗时。
安装进度完成后,提示需要运行相关脚本,按要求的顺序执行,正确执行完毕后点击:OK
关闭窗口,完成 database 的安装。
5 创建 ASM 磁盘组
在建库前需要先创建存储数据文件的 ASM 磁盘组。以 grid 用户通过 xmanager 登录,执行 asmca 命令:
$asmca
切换到 Disk Group 界面,点击 Create:
按我们的规划,选择 rhdisk3 为 DATADG 磁盘组。
6 DBCA 创建数据库
使用 oracle 用户,通过 xmanager 登录运行 dbca 来建立 RAC 集群数据库。建库时可以先不配置企业管理器(Enterprise Manager) ,等建库完成后,执行脚本配置 EM。原因是在安装过程中配置 EM 导致建库时间很长,如果 RAC 节点的主机性能不好,可能导致安装程序的界面停止响应。
$export DISPLAY=80.10.254.126:0.0
$dbca
当然选择建立 RAC 数据库,Next:
选择自定议,Next:
输入我们 oracle 环境变量中配置的 Databse Name,然后选中所有节点,Next:
默认选择 EM:
Next:
所有用户配置一个密码:interlib 然后 Next:
选择刚才建立的 ASMORACLE 磁盘组:
指定 ASMSNMP 密码,暂时不知道有何用,配置密码:interlib,点击 OK:
配置闪回,默认选择 OCR 的 ASM 磁盘组,勾选启用归档,Next:
进入数据库初始化参数配置:
Memory:设置为 60%
Block Size:设置为 8192,Processes 设置为 2048
字符集:选择 UTF-8
Connection Mode:选择专用模式
Next:
Next:
Finish
生成建库脚本。
开始一个较为慢长的建库过程。
来自社区会员分享,点击阅读原文可下载原文档
相关资料
长按二维码关注公众号AIX专家俱乐部