admin 管理员组文章数量: 1184232
2023年12月23日发(作者:java进度条取消实现方法)
ORACLE 11G RAC
安装部署及测试方案
BY:
一、系统要求
1.1 硬件环境要求
Oracle11gR2 RAC 最低安装要求:
内存:安装 grid infrastructure 最少需要 1.5GB 的内存,安装grid infrastructure 和 RAC 最少需要 2.5GB 的内存
swap:最少需要 1.5GB,推荐等于实际物理内存
temp:最少 1GB /tmp
安装目录:grid infrastructure最少需要 15GB空间,
oracle database 至少15GB ,建议为安装目录
创建单独的文件系统,如: /u01。
操作系统:aix 6.1,并且需要安装如下软件包:
lslpp -l
fstat
at ols
1.2 网络环境要求1.2.1、IP 地址要求
Oracle 11gR2 RAC 中对网络的要求与 10g 稍有些不同,除 Public IP、Private IP、VIP外,在Oracle 11gR2RAC 中还引入了 SCAN IP的概念。SCAN 全称是 Single Client Access Name ,它是 Oracle RAC 11gR2 版本的一个新特性。它为需要访问Oracle 集群数据的客户 端提供一个简单名字。
1.2.2、
DNS 服务器
在 Oracle 11gR2 RAC 中引入了 SCAN 的概念,而 ORACLE 推荐使用
DNS 解析的方法来实现 SCAN,这就要求网络中有一台 DNS 服务器用来解析
SCAN 地址。如果你网络中没有专用的 DNS 服务器,那么也可以使用hosts文件进行解析。
1.2.3、NTP 服务器
在 Oracle 10g 和 11g 中都需要一台时钟服务器,将网络中的所有机器时钟与之保持同步,特别是两台集群数据库的主机时钟必须保持同步,否则集群将会出现异常。推荐使用一台专用的服务器做为时钟服务器,如果你网络中没有专用的 NTP 服务器,那么也可以用现有的数据库服务器兼作时钟服务器。
1.3 存储环境要求
1.3.1、
grid infrastructure、oracle database 安装目录
Oracle 11gR2 RAC安装,建议在各节点建立单独的本地文件系统,如:/u01。类型为JFS2,大小为 50GB。
1.3.2、 OCR、VOTE 存储要求
规划使用三个 3GB 的阵列盘用来存放 OCR、VOTE 文件,这三块盘在
ASM 中做成 Normal 磁盘组。
1.3.3、 数据库数据文件存储要求
中做成 external 磁盘规划数据库数据文件使用ASM方式,将共享磁盘在ASM
组。
二 安装前系统检查
注意:在每个节点上都要进行以下操作系统检查,并且保证各节点的信息一致。
2.1、检查操作系统版本:
#oslevel -s
2.2、检查异步IO:
#ioo -o aio_maxreqs
aio_maxreqs = 65536
若值不满足65536,则使用命令进行更改:
#chdev -l aio0 -a maxreqs= 65536
2.3、检查操作系统包:
lslpp -l
fstat
at ols
确保各节点以上包都被安装。
2.4、检查调整虚拟内存:
检查:
vmo -L minperm%
vmo -L maxperm%
vmo -L maxclient%
vmo -L lru_file_repage
vmo -L strict_maxclient
vmo -L strict_maxperm
优化调整:
vmo -p -o minperm%=3
vmo -p -o maxperm%=90
vmo -p -o maxclient%=90
vmo -p -o lru_file_repage=0
vmo -p -o strict_maxclient=1
vmo -p -o strict_maxperm=0
2.5、查看网络参数:
查看所有的:
#/usr/sbin/no –a | more
分项查看:
#no -a | fgrep ipqmaxlen
#no -a | fgrep rfc1323
#no -a | fgrep sb_max
#no -a | fgrep tcp_recvspace
#no -a | fgrep tcp_sendspace
#no -a | fgrep udp_recvspace
#no -a | fgrep udp_sendspace
查看以下网络参数:
Network Preparation
=======================================
PARAMETER RECOMMENDED
ipqmaxlen
rfc1323
sb_max
tcp_recvspace
tcp_sendspace
udp_recvspace
udp_sendspace
VALUE
512
1
1500000
65536
65536
1351680
135168
注意:udp_recvspace:应该是udp_sendspace的10倍,但是必须小于
sb_maxudp_sendspace:这个值至少应该是4K+
(db_block_size*db_multiblock_read_count)的大小。
若不满足,进行修改:
no -r -o ipqmaxlen=512
no -p -o rfc1323=1
no -p -o sb_max=1620000
no -p -o tcp_recvspace=65536
no -p -o tcp_sendspace=65536
no -p -o udp_recvspace=1351680
no -p -o udp_sendspace=135168
2.6、查看SWAP大小:
#lsps -a
Between 1GB and 2GB then 1.5 times RAM
Between 2GB and 16 GB then match RAM
More than 16 GB then 16GB RAM
2.7、修改内核参数:
# /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
2.8、修改default用户下的资源限制:
#vi /etc/security/limits
更改default各项资源限制为-1。
2.9、修改用户允许的最大进程数:
#smit chgsys
更改 Maximum number of PROCESSES allowed per user
查看系统当前允许运行的最大进程数:
# lsattr -E -l sys0 -a maxuproc
若不满足16384,进行更改:
# chdev -l sys0 -a maxuproc=16384
2.10、安装配置ssh,确保ssh正常使用:
#lslpp –l | grep ssh
2.11、重启机器:
#shutdown -Fr
三、 安装步骤
3.1、网络配置:
节点名称以node1、node2为例
#vi /etc/hosts
内容如下:
# PUBLIC
node1
node2
# PRIVATE
node1priv
node2priv
#VIP
node1vip
为16384
node2vip
#SCAN IP
scanip
3.2、各节点建立组和用户
注意:保持各节点的组及用户ID均要一致:
创建组:
mkgroup -'A' id='1000' adms='root' oinstall
mkgroup -'A' id='1100' adms='root' asmadmin
mkgroup -'A' id='1200' adms='root' dba
mkgroup -'A' id='1300' adms='root' asmdba
mkgroup -'A' id='1301' adms='root' asmoper
创建用户:
mkuser id='1100' pgrp='oinstall'
groups='asmadmin,asmdba,asmoper' home='/home/grid'
fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1
capabilities=
CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid
mkuser id='1101' pgrp='oinstall'
groups='dba,asmdba' home='/home/oracle' fsize=-1 cpu=-1 data=-1
rss=-1 stack=-1 stack_hard=-1
capabilities=
CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle
3.3、各节点上设置grid、oracle用户使用内存参数:
#su - root
# lsuser -a capabilities grid
若没有相应参数,使用下述命令进行增加:
#chuser capabilities=
CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid
对oracle用户同样执行上面的操作。
3.4、配置节点间互信:
注意:执行脚本,操作系统要安装openSSH包。
#su - grid
$cd /software/grid/sshsetup
$./ -user grid -hosts "node1 node2" -advanced
-noPromptPassphrase
$./ -user oracle -hosts "node1 node2"
-advanced -noPromptPassphrase
节点1:
$ssh node1 date
$ssh node2 date
$ssh node1priv date
$ssh node2priv date
节点2:
$ssh node1 date
$ssh node2 date
$ssh node1priv date
$ssh node2priv date
3.5、在每个节点上创建grid、oracle软件安装目录:
注意:各节点的安装目录和权限要完全一致
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
mkdir –p /u01/app/grid
chown grid:oinstall /u01/app/grid
chmod -R 775 /u01/app/grid
mkdir -p /u01/11.2.0/grid
chown -R grid:oinstall /u01/11.2.0/grid
chmod -R 775 /u01/11.2.0/grid
mkdir -p /u01/app/oracle
mkdir /u01/app/oracle/cfgtoollogs
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1
chmod -R 775 /u01/app/oracle/product/11.2.0/db_1
3.6、在每个节点设置grid、oracle用户环境变量:
注意:ORACLE_SID各节点不同,并注意设置完成后使设置生效:
Grid环境变量:
#su – grid
$vi .profile
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/11.2.0/grid
export ORACLE_SID=+ASM1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
注意:节点2的ORACLE_SID=+ASM2。
Oracle环境变量:
#su – oracle
$vi .profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=rac1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
注意:节点2的ORACLE_SID=rac2。
设置完成后,使环境变量生效:
$. ./.profile
3.7、在每个节点上设置共享磁盘的属主、属性:
以下以hdisk1 为例说明:
#cd /dev
#chown grid:asmadmin /dev/rhdisk1
#chown 660 /dev/rhdisk1
设置磁盘属性(以hdisk1为例):
#lsattr –El hdisk1
若reserve_policy属性不为no_reserve,则修改:
# chdev -l hdisk1 -a reserve_policy=no_reserve
将磁盘格式化(以hdisk1为例):
如果lspv看到硬盘有pvid的,先执行清除:
#chdev -l hdisk1 -a pv=clear
#dd if=/dev/zero of=/dev/rhdisk1 bs=1M count=2000
3.8、安装grid
下面以安装grid 11.2.0.3为例说明。
#su – grid
$unzip p10404530_112030_AIX64-5L_
$./
$./runInstaller
运行runInstaller安装程序,进行grid安装。
注意:使用grid用户安装, 需要在每个节点都执行。
安装结束后,会要求在root用户下执行两个脚本:
/u01/app/oraInventory/
/u01/11.2.0/grid/
注意:脚本要按照提示在root用户下顺序执行,节点1执行成功后,再在
节点2上执行,不可并行执行。
3.9、安装oracle database
下面以安装oracle database 11.2.0.3为例说明。
#su – oracle
$unzip p10404530_112030_AIX64-5L_
$unzip p10404530_112030_AIX64-5L_
注意使用oracle用户安装,将两个压缩包解压到同一个目录。
$./runInstaller
运行runInstaller程序进行database安装
软件安装结束后,会提示在root用户下执行$ORACLE_HOME/脚本。
注意:脚本要按照提示在root用户下顺序执行,节点1执行成功后,再在
节点2上执行,不可并行执行。
3.10、配置ASM磁盘组
以grid用户登陆图形化界面。
$asmca
运行asmca程序,创建用于存放数据文件的ASM磁盘组。
例如:磁盘组+DATADG,冗余方式External。
3.11、创建数据库
以oracle用户登陆图形化界面。
$dbca
运行dbca程序,创建集群数据库。
注意:选择创建集群模式数据库,数据文件采用ASM方式,
正确选择数据库字符集。
四、 数据库的配置和优化
一般而言,oracle会建议使用DBCA工具创建数据库,DBCA在创建数据库时,已将必要的初始化参数都设置好了,这些由DBCA设定的参数大都可以适应用户的应用系统,只有很少的几个参数需要个别指定或调整。
4.1、实例参数设置
MEMORY_TARGET:这是oracle 11g以后的版本在内存管理增强的一个功能,称为自动内存管理(AMM),建议关闭该功能。
SGA_TARGET:指定SGA(共享全局区)的上限大小,推荐初始设置物理内存的50%。
PGA_AGGREGATE_TARGET:指定所有连接到实例的服务器进程可使用的PGA内存总和,推荐初始值大小设为20%的SGA
PROCESSES:oracle 实例可以启动的最大进程参数。推荐初始值设置1500
SESSIONS:指定用户会话和系统会话的总量,其默认数量稍大于PROCESSES参数,由oracle自动设定。
OPEN_CURSORS:每个会话可以打开的最大游标数,推荐初始值设置为500。
UNDO_MANAGEMENT:指定系统使用还原表空间的方式。在oracle9i到11G
之间版本中该参数的最佳值是AUTO。
4.2、重做日志文件配置
从经验看,日志文件的大小从50M到500M不等,甚至更大,这取决于重做信息的生成总额和频率。考虑日志文件的切换频率,最好不要超过20分钟。由于日志文件是oracle在运行状态下发生写操作频率最高的文件之一,因此推荐将日志文件存放在读写性能较好的存储设备上,在保证高可用性的前提下,最大化IO性能。每个数据库至少有两个Redo Log组,每组至少有一个日志文件。Oracle的多重在线Redo Log文件可以确保在线日志文件的安全。对于多重在线Redo
Log文件,LGWR同时将相同的Redo Log信息写入不同的Redo Log文件中,从而减少单个文件丢失的损失。
4.3、控制文件配置
控制文件是Oracle的物理文件之一,它记录了数据库的名字、数据库的物理结构及备份信息。控制文件的重要性在于,一旦控制文件损坏,数据库将会宕机。如果没有数据库的备份和归档日志文件,数据库将无法恢复。因此,我们应该多路镜像控制文件(Multiplex Control Files),并把每个镜像的控制文件分布在不同的物理磁盘,减少单个文件丢失的损失。建议每个数据库至少有两个控制文件。
4.4、表空间配置
每个数据库由一个或多个逻辑存储单位,即表空间。推荐所有的数据表空间的管理方式都是本地管理方式(Local Management),有利于空间的使用及回收管理。用户对象不应该在系统表空间(SYSTEM)中创建,这将导致系统表空间的碎片产生,并且阻止表空间增长。保证数据库用户被分配一个临时类型的表空间。不要将固定表空间作为默认临时表空间。
五、 RAC高可用性能的测试方案
5.1、测试目的
验证在RAC环境下,某节点重启时,RAC的故障恢复能力。
5.2、测试方法
测试步骤 具体操作 预期效果 衡量方法
RAC运行在正常状态
保持持续的sqlplus连接
保持持续的应用连接
重启某一个节点
crs_stat -t N/A crs_stat –t,各节点所有资源为ONLINE状态
客户端通过sqlplus连接
应用通过数据库连接池提供连接
# shutdown -Fr
N/A
N/A
N/A
N/A
该节点的数据库实例进程及CRS进程消失RAC数据库中存活的实例将进行实例恢复
vip,service均切换到存活的节点上
已有连接发生切换;新连接到新的节点
crs_stat -t该节点的进程为OFFLINE,存活实例进行实例恢复的时间,检查。
检查集群状态
检查sqlplus连接情况
crs_stat -t
检查已有连接和新建连接
crs_stat -t
vip,service均切换正常的节点
已有连接select
instance_name from
v$instance;新建连接conn
userid/password@***;
select instance_name from
v$instance;
检查应用连接池信息;select
inst_id,machine,status,count(*)
from gv$session group by
inst_id,machine,status order by
1,2,3,4;
vip切换到存活节点的时间,检查
CRS重新启动失效实例,检查、
crs_stat -t
已有连接select
instance_name from
v$instance;新建连接
conn userid/password@***;
select instance_name from
v$instance;
检查应用连接池信息;select
inst_id,machine,status,count(*)
from gv$session group by
inst_id,machine,status order by
1,2,3,4;
检查应用连接情况
检查已有连接和新建连接
连接池连接切换
等待集群状态稳定
该节点重启后
检查集群状态
检查sqlplus连接情况
记录过程起始/截止关键点信息
N/A
crs_stat -t
检查已有连接和新建连接
N/A
crs,db,nodeapp将自动启动
vip切换到原节点上
已有连接保持;新连接按tns串规则
检查应用连接情况
检查已有连接和新建连接
连接池连接保持
等待集群状态稳定
记录过程起始/截止关键点信息
恢复原始状态
启动后的实例开始接收连接请求的时间,检查,
同以上步骤,对另外节点进行反向测试。
版权声明:本文标题:ORACLE 11G RAC 安装部署及测试方案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1703290170a445706.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论