重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍“AIX6.1怎么安装Oracle 11”,在日常操作中,相信很多人在AIX6.1怎么安装Oracle 11问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”AIX6.1怎么安装Oracle 11”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
我们提供的服务有:成都网站建设、网站设计、微信公众号开发、网站优化、网站认证、礼县ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的礼县网站制作公司
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 hh34: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 hh34: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
到此,关于“AIX6.1怎么安装Oracle 11”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!