ITPub博客

首页 > 数据库 > Oracle > AIX 6.1 安装 Oracle 11.2.0.4 ASM RAC PSU 最佳实践

AIX 6.1 安装 Oracle 11.2.0.4 ASM RAC PSU 最佳实践

原创 Oracle 作者:btldxx 时间:2017-10-06 12:18:05 0 删除 编辑
AIX 6.1 安装 Oracle 11.2.0.4 ASM RAC PSU 最佳实践
近期自己在AIX 6.1平台上安装过多次RAC,碰到过各种坑,究其原因大多是因为配置不对,权限问题等没有遵循官方文档所致,整理出一份相对正确的安装手册,以备后面用到,有疏漏的地方欢迎指正  67549542@qq.com

参考了 Oracle 官方安装文档  见附件 e48294.pef
Oracle Grid Infrastructure
Installation Guide
11g Release 2 (11.2) for IBM AIX on POWER Systems (64-Bit)
E48294-03

操作系统版本:6100-06-12-1339
安装sddpcm 多路径软件,安装包见附件
smit installp
查看pcm盘
pcmpath query device
如果命令没有发现盘,需要重新识别盘
rmdev -Rdl fcs0
rmdev -Rdl fcs1
cfgmgr -v

安装ssh软件,安装包见附件

配置SSH开机启动
注释 /etc/inittab 下的 install_assist:2:wait:/usr/sbin/install_assist /dev/console 2>&1

准备工作:
/etc/hosts
xxx.xxx.101.182 rac1
xxx.xxx.101.183 rac1-vip
xx.xx.80.182 rac1-priv
xxx.xxx.101.184 rac2
xxx.xxx.101.185 rac2-vip
xx.xx.80.184 rac2-priv

xxx.xxx101.186 racdb-scan


把xxx.xxx.101.182的主机名 hostname 设置成rac1
把xxx.xxx.101.184的主机名 hostname 设置成rac2

/etc/security/limits
default:
        fsize = -1
        core = 2097151
        cpu = -1
        data = -1
        rss = -1
        stack = -1
        nofiles = -1

参数调整
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

no -r -o ipqmaxlen=512        
no -p -o rfc1323=1     
no -p -o sb_max=4194304
no -p -o tcp_recvspace=65536
no -p -o tcp_sendspace=65536
no -p -o udp_recvspace=655360
no -p -o udp_sendspace=65536

有些情况下
/usr/sbin/no -o -p rfc1323=1 改完之后。验证还是不通过。明明是改为1了。

查询MOS可能是一个bug 



如果参数已经修改过后,可以忽略


chdev -l sys0 -a maxuproc=16384
chdev -l sys0 -a ncargs=256

创建组,用户:
mkgroup -'A' id='1000' oinstall
mkgroup -'A' id='1020' asmadmin
 mkgroup -'A' id='1021' asmdba
mkgroup -'A' id='1022' asmoper
mkgroup -'A' id='1031' dba
mkgroup -'A' id='1032' oper
参照官方文档,采用GI与DB分开安装和权限的策略,对于多实例管理有利。
mkuser id='1100' pgrp='oinstall' groups='asmadmin,asmdba,asmoper,oper,dba' grid
mkuser id='1101' pgrp='oinstall' groups='dba,asmdba,oper' oracle

chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid
chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle

.profile
grid:
umask 022
export ORACLE_BASE=/oracle/app/grid                
export ORACLE_HOME=/oracle/app/11.2/grid            
export ORACLE_SID=+ASM1      
export NLS_LANG=AMERICAN_AMERICA.UTF8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp

oracle:
umask 022
export ORACLE_BASE=/oracle/app/oracle                    
export ORACLE_HOME=$ORACLE_BASE/product/11.2
export ORACLE_SID=ykcdb1
export ORACLE_UNQNAME=ykcdb
export NLS_LANG=AMERICAN_AMERICA.UTF8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp

SSH免密码登陆
以下两个节点都执行:
#su – grid
$/usr/bin/ssh-keygen -t rsa
提示输入密码时,保持为空,直接回车即可。
以下只在节点1上执行:
$ touch ~/.ssh/authorized_keys
$ ssh ykc1 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
$ ssh ykc2 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
$ scp ~/.ssh/authorized_keys ykc2:.ssh/authorized_keys

在ykc1上 依次执行 ssh ykc1 ssh ykc2 ssh ykc2 ssh ykc1

oracle用户也是一样

批量修改盘属性脚本
lspv,查看有多少hdisk 修改i变量,执行,例如
i=5
while(($i<10))
do
echo $i
chdev -l hdisk$i -a reserve_policy=no_reserve
chown grid:asmadmin /dev/rhdisk$i
chmod 660 /dev/rhdisk$i
let i=i+1
done




创建安装目录
mkdir -p /oracle/app/11.2/grid
mkdir -p /oracle/app/grid
chown -R grid:oinstall /oracle
mkdir /oracle/app/oracle
chown oracle:oinstall /oracle/app/oracle
chmod -R 775 /oracle/


安装前验证脚本
./runcluvfy.sh stage -pre crsinst -n 主机名1,主机名2 -fixup -verbose


安装grid
先解压  p13390677_112040_AIX64-5L_3of7.zip
安装一定要在rac1 第一个节点上执行,否则1,2顺序会乱
创建GRID磁盘组,选一个盘就够了
存储上的盘 冗余选择external,创建DATA磁盘组 选择其他盘



执行root.sh脚本,顺序是先执行节点1,然后执行节点2,最后在界面点击OK



asmca,在asmca里可以创建删除dg,添加磁盘等操作




安装database软件
解压 p13390677_112040_AIX64-5L_1of7.zip和 p13390677_112040_AIX64-5L_2of7.zip



创建RAC数据库
dbca


检查补丁
 /oracle/app/11.2/grid/OPatch/opatch lsinventory

查看PSU补丁
select * from dba_registry_history;  

打PSU补丁 

官方readme文件见附件README.html
下载最新的GI补丁
Patch 26610246 - Oracle Grid Infrastructure Patch Set Update 11.2.0.4.170814 (Jul2017) (Includes Database PSU 11.2.0.4.170814)
p26610246_112040_AIX64-5L.zip
用grid用户解压,一定要grid用户,或者用root解压后 修改成grid.oinstall 后面阐述原因


下载合适的OPatch   
 readme.html中提到需要升级到11.2.0.3.6以上的版本
 Opatch Auto Fails With ERROR: update the opatch version for the failed homes and retry (文档 ID 1962957.1)

下载:
p6880880_112000_AIX64-5L.zip

备份 /oracle/app/11.2/grid/opatch目录,在/oracle/app/11.2/grid 目录下解压p6880880_112000_AIX64-5L.zip
su - root
mv /oracle/app/11.2/grid/OPatch /oracle/app/11.2/grid/OPatchbak
mkdir -p /oracle/app/11.2/grid/OPatch
chown grid.oinstall /oracle/app/11.2/grid/OPatch
cp p6880880_112000_AIX64-5L.zip  /oracle/app/11.2/grid/
su - grid
cd /oracle/app/11.2/grid/
执行解压
/oracle/unzip /oracle/app/11.2/grid/p6880880_112000_AIX64-5L.zip

su - root
生成rsp文件
/oracle/app/oracle/product/11.2/ccr/bin/emocmrsp -no_banner -output /oracle/psu/file.rsp

开始打补丁
/oracle/app/11.2/grid/OPatch/opatch auto /oracle/psu/26610246 -oh /oracle/app/11.2/grid -ocmrf /oracle/psu/file.rsp


2号节点也执行以上步骤

因为opatch没有升级,所以报错,升级后执行



执行:catbundle.sql 参考readme.html

For each database instance running on the Oracle home being patched, connect to the database using SQL*Plus. Connect as SYSDBA and run the catbundle.sql script as follows:

su - oracle
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT

The catbundle.sql execution is reflected in the dba_registry_history view by a row associated with bundle series PSU.



检查补丁:
select * from dba_registry_history;  

/oracle/app/11.2/grid/OPatch/opatch lsinventory |grep -i 'Patch description'



如果补丁包权限是root:system会有下面的问题:
1号机补丁顺利完成,但是2号机报错

分析,手工执行检查
/oracle/app/11.2/grid/OPatch/opatch prereq CheckApplicable -ph /oracle/psu/26610246/26609929 -oh /oracle/app/11.2/grid

找到问题原因


补丁包的权限是root,修改成grid.oinstall即可
/oracle
# chown -R grid.oinstall psu




可能会有用的信息:

rac要检查的日志文件及其路径
oracle 下的alert日志$ORACLE_BASE/diag/rdbms/orcl/orcl1/trace/alertorcl1.log
grid 下的 alert 日志 $ORACLE_HOME/log/rac1/alertrac1.log
css的日志$ORACLE_HOME/log/rac1/cssd/cssd.log  ocssd.log
crs的日志$ORACLE_HOME/log/rac1/crsd/crsd.log
ohas的日志$ORACLE_HOME/log/rac1/ohasd/ohasd.log
evm的日志$ORACLE_HOME/log/rac1/evmd/evmd.log

删除GRID 配置
/oracle/app/11.2/grid/crs/install/roothas.pl -deconfig -force -verbose
删除后可以重新执行root.sh脚本
重新安装grid   先卸载
su - grid
$ /oracle/app/11.2/grid/deinstall/deinstall

磁盘验证   dd命令
dd if=/dev/hdisk2 of=/dev/null bs=1024k count=100


创建磁盘组之后,清空盘
  dd if=/dev/zero of=/dev/hdisk2 bs=1024k count=100
  dd if=/dev/zero of=/dev/hdisk3 bs=1024k count=100

lspv,查看有多少hdisk 修改i变量,执行
i=3
while(($i<13))
do
echo $i
dd if=/dev/zero of=/dev/hdisk$i bs=1024k count=100
let i=i+1
done
AIX 6.pdf

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

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-01-21

  • 博文量
    4
  • 访问量
    102867