AIX 6.1 Oracle11g 11.2.0.4 RAC 安装心得
2021/4/10 19:23:48
本文主要是介绍AIX 6.1 Oracle11g 11.2.0.4 RAC 安装心得,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在RAC安装过程中涉及多个用户,多种工具,这里列出常见命令提示符:
# UNIX的SHELL提示符,表示root用户的登录
$ UNIX的SHELL提示符,表示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
2 、 tmp 分区
[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
分别用grid和oracle用户登陆一次,修改密码。
给grid、oracle用户授权
检查权限
# /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
6 、 Grid 用户环境变量设置如下:
节点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
7 、 Oracle 用户环境变量设置如下:
节点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=no 或 reserve_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
这篇关于AIX 6.1 Oracle11g 11.2.0.4 RAC 安装心得的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享