ITPub博客

首页 > 数据库 > Oracle > AIX 6.1 Oracle11g 11.2.0.4 RAC 安装心得

AIX 6.1 Oracle11g 11.2.0.4 RAC 安装心得

Oracle 作者:lhrbest 时间:2016-03-16 22:23:26 0 删除 编辑

RAC安装过程中涉及多个用户,多种工具,这里列出常见命令提示符:

#  UNIXSHELL提示符,表示root用户的登录

$  UNIXSHELL提示符,表示oracl用户或grid用户的登录


安装RAC是一个比较耗时,并且容易出错的过程。最重要的阶段是安装前的准备,准备工作越充分,安装就会越顺利。在这个阶段对硬件、软件进行一系列的配置,如配置存储、网络、参数、权限等步骤繁多,环环相扣,一样都不能马虎。在项目实施期间,数据库工程师往往是后出场的角色,前面有系统工程师安装好操作系统,安装所需的包,调通网络。存储工程师划分好磁盘柜,安装多路径软件,接下来才能开始安装Oracle数据库。有些必要的包最好在安装前和其他工程师沟通好,按照版本要求安装,以免在安装Oracle数据库时发现缺东少西的十分麻烦。

 

AIX的操作系统无法再虚拟机下安装,没接触过AIX操作系统的同学会感觉陌生。其实和Linux相比安装方法是大同小异,或者说没有差异,只是在前期的配置有些不同,具体细节在下文中会有所体现。                                                                                                                

统配置

1号机主机名
cjscora01
2号机主机名
cjscora02
1号机IP及虚拟IP
10.157.140.1  10.157.140.3
2号机IP及虚拟IP
10.157.140.2  10.157.140.4
SCAN IP
10.157.140.5


数据库安装配置
  

 

ORACLE_BASE

grid/oracle/app/grid

oracle/oracle/app/oracle

ORACLE_HOME 

grid/oracle/app/11.2.0/grid

oracle /oracle/app/oracle/11.2.0/db

ORACLE_SERVICE_NAME

eicdb

数据文件路径

+DATA

Oracle管理员帐户口令

oracle

数据库组件

全选

标准数据库功能

全选

初始化参数:

  Memory size

 

160G

数据库参数:

   db_block_size

   character set(字符集)

 

8k

ZHS16GBK

是否使用归档方式运行数据库

如果使用归档方式运行数据库,归档路径位置

+ARCH


































安装过程

一、每个节点的硬件要求:

1、内存:至少4GB。此次实施的服务器为IBM780,内存配置为192GB

#/usr/sbin/lsattr –E –l sys0 –a realmem

MemTotal:     201326592 kB

 

2、交换分区:分配24GB

#/usr/sbin/lsps -a

SwapTotal:   25165824 kB

 

注意:所有节点的CPU主频、内存大小应该大致相当,这样当在做节点间切换时,两个节点的处理能力不会有较大差异。本次项目项目采用的服务器为IBM780,内存192GB,32颗CPU,配置比较不错。

二、操作系统要求:

1、系统包要求

AIX 6.1 required packages:
bos.adt.base
bos.adt.lib
bos.adt.libm
bos.perf.libperfstat 6.1.2.1 or later
bos.perf.perfstat
bos.perf.proctools
rsct.basic.rte (For RAC configurations only)
rsct.compat.clients.rte (For RAC configurations only)
xlC.aix61.rte:10.1.0.0 or later
gpfs.base 3.2.1.8 or later (Only for RAC)

 

APARs for AIX 6.1:
IZ41855
IZ51456
IZ52319
IZ97457
IZ89165

 

注意:为了通过SSH在两个节点间建立对等关系,需要在每个节点上安装以下软件。

.bash

.openssl

.openssh

2tmp分区

[root@db1 /]# df –k

至少1GB

 

3、系统版本

[root@db1 /]# oslevel -s

6100-05-11-1140

 

注意:首选的操作系统版本一定是最稳定的而不一定是最新的。本次操作系统采用了比较保守的6100-05-11-1140

,本次安装系统的IBM工程师经验丰富,推荐我们采用了这个版本。

 

4、系统内核参数

smitty chgsys

Maximum number of processes available to a single user    [16384]

 

注意:该参数的默认值偏小,在高并发的生产环境下,session数和process数都比较高,在图形安装页面时如果只是把process调高而相对应的该参数没有及时调整会报出一个警告。

5、建用户和组,配置环境变量

mkgroup -'A' id='1000' adms='root' oinstall

mkgroup -'A' id='1020' adms='root' asmadmin

mkgroup -'A' id='1021' adms='root' asmdba

mkgroup -'A' id='1022' adms='root' asmoper

mkgroup -'A' id='1031' adms='root' dba

mkgroup -'A' id='1032' adms='root' oper

 

mkuser id='1001' pgrp='oinstall' groups='dba,asmdba,asmadmin,oper' home='/home/oracle' oracle

mkuser id='1002' pgrp='oinstall' groups='asmadmin,asmdba,asmoper,oper,dba' home='/home/grid' grid

passwd grid

passwd oracle

 

分别用gridoracle用户登陆一次,修改密码。

 

gridoracle用户授权

检查权限

# /usr/bin/lsuser -a capabilities grid

/usr/bin/lsuser -a capabilities oracle

授权命令如下:

/usr/bin/chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid

/usr/bin/chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle

 

6Grid用户环境变量设置如下:

节点1

umask 022

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_SID=+ASM1; export ORACLE_SID

ORACLE_BASE=/oracle/app/grid; export ORACLE_BASE

ORACLE_HOME=/oracle/app/11.2.0/grid; export ORACLE_HOME

PATH=$ORACLE_HOME/bin:$PATH; export PATH

 

节点2

umask 022

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_SID=+ASM2; export ORACLE_SID

ORACLE_BASE=/oracle/app/grid; export ORACLE_BASE

ORACLE_HOME=/oracle/grid; export ORACLE_HOME

PATH=$ORACLE_HOME/bin:$PATH; export PATH

 

7Oracle用户环境变量设置如下:

节点1

umask 022

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/11.2.0/db; export ORACLE_HOME

ORACLE_SID= oradb1; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

 

节点2

umask 022

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/11.2.0/db; export ORACLE_HOME

ORACLE_SID= oradb2; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

 

8、设置shell限制

vi /etc/security/limits.conf

文件中加入

default:

       fsize = -1

       core = 2097151

       cpu = -1

       data = -1

       rss = -1

       stack = -1

       nofiles = -1

       stack_hard = -1

 

grid :

       core = -1

oracle :

       core = -1

 

注意:针对grid用户和oracle用户,需要分别设置它们在SHELL中对资源的使用情况,如对CPU、内存、数据段等。为了保证数据库能够运行,需要这些资源的限制取消,也就是-1,或者设置为Oracle推荐的值。

9、检查Core File Creation是否启用

用如下命令检查是否enable

lsattr -El sys0 -a fullcore

fullcore false Enable full CORE dump True

 

1. Set the ulimit setting for core dumps to unlimited:

# ulimit -c unlimited

2. Set the ulimit setting for core files to unlimited:

# ulimit -f unlimited

10、创建相应目录

# mkdir -p /oracle/app/oracle/11.2.0/db

# mkdir -p /oracle/app/grid/

# mkdir -p /oracle/grid

# mkdir -p /oracle/app/oraInventory

# chown -R oracle:oinstall /oracle/app/oracle

# chown -R grid:oinstall /oracle/grid

# chown -R grid:oinstall /oracle/app/grid

# chown -R grid:oinstall /oracle/app/oraInventory

# chmod -R 775 /oracle/

 

11、删除ntp服务,使用oracle时间同步器

# stopsrc -s xntpd

# mv /etc/ntp.conf /etc/ntp.conf.org

注意:RAC集群在运行的过程中要求各节点的时钟进行同步。常用的同步方法有两种,一种是利用操作系统提供的NTP服务;另一种是用Oracle提供的集群时间同步软件。此次项目采用第二种方式。为了避免冲突,将/etc/ntp.conf文件改名,使其失效。

12、网络参数调整

检查参数

 /usr/sbin/no -a | fgrep ephemeral

tcp_ephemeral_low = 32768

tcp_ephemeral_high = 65535

udp_ephemeral_low = 32768

udp_ephemeral_high = 65535

 

修改参数如下

/usr/sbin/no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500

/usr/sbin/no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500

 

13、其他参数调整

检查系统知否运行在compatibility mode

lsattr -E -l sys0 -a pre520tune

 

如果返回 pre520tune enable Pre-520 tuning compatibility mode True

则系统运行在compatibility mode

 

修改参数方法如下:

# no -o parameter_name=value

 

在/etc/rc.net文件中添加

if [ -f /usr/sbin/no ] ; then

/usr/sbin/no -o udp_sendspace=65536

/usr/sbin/no -o udp_recvspace=655360

/usr/sbin/no -o tcp_sendspace=65536

/usr/sbin/no -o tcp_recvspace=65536

/usr/sbin/no -o rfc1323=1

/usr/sbin/no -o sb_max=4194304

/usr/sbin/no -o ipqmaxlen=512

fi

 

如果上述命令的执行结果为:

pre520tune disable Pre-520 tuning compatibility mode True,系统未运行在compatibility mode

修改参数方法如下:

 

/usr/sbin/no -r -o ipqmaxlen=512

/usr/sbin/no -p -o rfc1323=1

/usr/sbin/no -p -o sb_max=4194304

/usr/sbin/no -p -o tcp_recvspace=65536

/usr/sbin/no -p -o tcp_sendspace=65536

/usr/sbin/no -p -o udp_recvspace=655360

/usr/sbin/no -p -o udp_sendspace=65536

 

三、配置节点间互信关系

1、修改/etc/hosts加入下面内容:

vi /etc/hosts

127.0.0.1               loopback localhost      # loopback (lo0) name/address

10.157.140.1      cjscora01

10.157.140.3      cjscora01-vip

192.168.150.1     cjscora01-priv

10.157.140.2      cjscora02

10.157.140.4      cjscora02-vip

192.168.150.2     cjscora02-priv

10.157.140.5      cjscora-scan

 

2、配置用户等效性

这部分操作是传统的做法,在oracle11g R2版本后我们可以省去这部分手工操作,在图形化安装集群软件的过程中配置,只需点点鼠标就可完成所有的工作。

配置grid用户等效性

在节点一执行下命令:

$ mkdir ~/.ssh

$ chmod 700 ~/.ssh

 

$ /usr/bin/ssh-keygen -t rsa

$ /usr/bin/ssh-keygen -t dsa

 

$ touch ~/.ssh/authorized_keys

 

$ ssh cjscora01 cat /home/grid/.ssh/id_rsa.pub >> authorized_keys

$ ssh cjscora01 cat /home/grid/.ssh/id_dsa.pub >> authorized_keys

$ ssh cjscora02 cat /home/grid/.ssh/id_rsa.pub >> authorized_keys

$ ssh cjscora02 cat /home/grid/.ssh/id_dsa.pub >> authorized_keys

 

$chmod 600 ~/.ssh/authorized_keys

 

$ exec /usr/bin/ssh-agent $SHELL

$ /usr/bin/ssh-add

 

$ scp authorized_keys cjscora02:/home/grid/.ssh     --将grid密钥拷贝到节点二

 

$ ssh cjscora01 date

$ ssh cjscora02 date

$ ssh cjscora01-priv date

$ ssh cjscora02-priv date

 

 配置oracle用户等效性

在节点一执行下面命令创建oracle密钥:

$ mkdir ~/.ssh

$ chmod 700 ~/.ssh

 

$ /usr/bin/ssh-keygen -t rsa

$ /usr/bin/ssh-keygen -t dsa

 

$ touch ~/.ssh/authorized_keys

 

$ ssh cjscora01 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys

$ ssh cjscora01 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys

$ ssh cjscora02 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys

$ ssh cjscora02 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys

 

$chmod 600 ~/.ssh/authorized_keys

 

$ exec /usr/bin/ssh-agent $SHELL

$ /usr/bin/ssh-add

 

$ scp authorized_keys cjscora02:/home/oracle/.ssh      --将oracle密钥拷贝到节点二

 

$ ssh cjscora01 date

$ ssh cjscora02 date

$ ssh cjscora01-priv date

$ ssh cjscora02-priv date

 

四、配置ASM磁盘         

--须通过下面的步骤确认磁盘可用且一致,两节点都执行

1、检查磁盘数量

/usr/sbin/lspv | grep -i none

 

hdisk4          none                                None                                

hdisk5          none                                None                               

hdisk6          none                                None                               

hdisk7          none                                None                                

……

hdisk315        none                                None

 

2、给磁盘分配pv id

外部存储设备中的同一块硬盘在不同节点上的名称可能会不同。同一个硬盘在节点一中的名称可能是hdisk4,在节点二中的名称可能是hdisk5.虽然ASM实例能正确识别这样的硬盘,但对于管理员来说可能会产生歧义。不管怎样,这块硬盘有一个不变的属性是PVID,无论在节点一还是节点二下都是一样的。通过下面的命令可以产生硬盘的PVID

chdev -l hdisk4  -a pv=yes 

chdev -l hdisk5  -a pv=yes 

chdev -l hdisk6  -a pv=yes 

chdev -l hdisk7  -a pv=yes 

……

chdev -l hdisk100 -a pv=yes

 

3、检查pv id是否在两个节点间一一对应

cjscora01#lspv

hdisk4          00f76fa9f361157b                    None                                

hdisk5          00f76fa9f36116a5                    None                               

hdisk6          00f76fa9f36117d0                    None                               

hdisk7          00f76fa9f3611901                    None                                

……

hdisk315         00f76fb4f3612dce                    None 

 

cjscora02# lspv

hdisk4          00f76fa9f361157b                    None                               

hdisk5          00f76fa9f36116a5                    None                                

hdisk6          00f76fa9f36117d0                    None                               

hdisk7          00f76fa9f3611901                    None                               

……

Hdisk315        00f76fb4f3612dce                    None 

 

4、修改磁盘权限

本项目使用ASM,需要指定ASM磁盘中所要包含的磁盘,并保证grid用户有对这些磁盘的写权限

# chown grid:asmadmin /dev/rhdiskn       --修改磁盘属组命令示例

       

chown grid:asmadmin /dev/rhdisk4        

chown grid:asmadmin /dev/rhdisk5        

chown grid:asmadmin /dev/rhdisk6        

chown grid:asmadmin /dev/rhdisk7        

……

chown grid:asmadmin /dev/rhdisk315 

 

# chmod 660 /dev/rhdiskn                  --修改磁盘权限命令示例

 

chmod 660 /dev/rhdisk4

chmod 660 /dev/rhdisk5

chmod 660 /dev/rhdisk6

chmod 660 /dev/rhdisk7

……

chmod 660 /dev/rhdisk315

 

5、检查磁盘属性

有些型号的存储设别具有reserve_lock或者reserve_policy属性,这两个属性的存在会阻止多个节点对存储设备进行并行读写,所以在安装集群软件之前应该对其属性进行修改。

lsattr -E -l hdisk4  |grep reserve_

lsattr -E -l hdisk5  |grep reserve_

lsattr -E -l hdisk6  |grep reserve_

lsattr -E -l hdisk7  |grep reserve_

……

lsattr -E -l hdisk315 |grep reserve_

 

6、设置磁盘属性为reserve_lock=noreserve_policy=no_reserve

chdev -l hdiskn -a [ reserve_lock=no | reserve_policy=no_reserve ]

 

chdev -l hdisk4 –a reserve_policy=no_reserve

chdev -l hdisk5 –a reserve_policy=no_reserve

chdev -l hdisk6 –a reserve_policy=no_reserve

chdev -l hdisk7 –a reserve_policy=no_reserve

……

chdev -l hdisk100–a reserve_policy=no_reserve

 

7、清除磁盘pvid

通过PVID可以在不同节点中对比、确认同一块硬盘,但是在安装集群软件之前应该在每个节点上将PVID清除掉,否则在安装过程中可能会出现错误。

chdev -l hdisk4  -a pv=clear 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2058487/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
QQ:646634621| 网名:小麦苗| 微信公众号:xiaomaimiaolhr| 11g OCM| QQ群:618766405 微信群:私聊| 《数据库笔试面试宝典》作者| OCP、OCM、高可用(RAC+DG+OGG)网络班开讲啦,有需要的小伙伴可以私聊我。

注册时间:2012-09-23

  • 博文量
    1353
  • 访问量
    8146236