查看原文
其他

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

生成建库脚本。

开始一个较为慢长的建库过程。

来自社区会员分享,点击阅读原文可下载原文档


相关资料

Oracle RAC 资料大全


长按二维码关注公众号AIX专家俱乐部

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存