还有三天放国庆和中秋了,今天周一上班就跟丢了魂一样,本来两台11g RAC一个半小时搞定的事情,我从早上九点一直干到现在晚上八点半才干完,简直是昏了头了。安装的时候将大页设置错误,导致一套库直接系统崩了,两套库grid都只装到一半报错,都要卸载重新安装。
两套库同时安装,都是在节点一安装grid的时候执行root.sh的时候报错,报错如下:
这个是/u01/app/oracle/cfgtoollogs/asmca/asmca230925PM122523.log 里的日志
这张是asm日志
于是我就百度上面的ora-27301报错,结果百度到一个增加 vm.min free bytes 参数,值为物理内存的0.4%。例如8g内存
vm.min free kbytes=810241024*0.004=33554)的解决方法,于是我直接修改两节点sysctl.conf参数,结果直接两台主机系统崩掉,进单用户去除参数才能正常启动。(这里也不确定就是修改这个参数导致的系统崩溃,因为后来修改的时候我把设置过大的大页参数页一并注释掉了,最好不要轻易修改这个参数,特别是生产环境)
后来没办法只能请教大佬,大佬一眼就看出了问题所在,sysctl.ctl文件参数配置问题
我的参数配置如下:系统内存为256G
用上述参数导致系统内存可用几乎为0,所以导致安装grid的时候无法启动pmon
这边除了vm.min_free_bytes之外共有两处错误:
1.vm.nr_hugepages 很明显这个值过大了,因为我在计算大页值的时候直接将sga当做系统内存256g来计算了。
大页配置错误是导致安装grid失败的原因,大页配置过大导致系统没有可用内存,也可能是导致系统崩溃的原因。
2.kernel.shmall 这个值不知道当时是怎么计算的,计算错了
这个值不影响grid安装,这个值配置过小会导致安装数据库实例的时候提示ORA-27102: out of memory没有足够内存。
这边涉及到安装grid安装一般需要重新安装的问题,root.sh在节点1执行结束后报错,然后发现大页配置有问题,大页配置是需要重启服务器才能生效的,所以重启服务器后不能继续安装grid,为保证安装的rac不会出问题,保险起见还是将grid卸载重装。
卸载方法:
卸载很简单,用grid用户执行一下卸载脚本即可
[grid@hisdb1 ~]$ cd
O
R
A
C
L
E
H
O
M
E
[
g
r
i
d
@
h
i
s
d
b
1
]
ORACLE_HOME [grid@hisdb1]
ORACLEHOME[grid@hisdb1] cd deinstall/
[grid@hisdb1]$ ./deinstall
然后一路回车,提示你执行命令的时候将命令复制到相应节点执行就行了。
类似于下面这个命令:
/tmp/deinstall2018-04-25_08-50-35AM/perl/bin/perl -I/tmp/deinstall2018-04-25_08-50-35AM/perl/lib -I/tmp/deinstall2018-04-25_08-50-35AM/crs/install /tmp/deinstall2018-04-25_08-50-35AM/crs/install/rootcrs.pl -force -deconfig -paramfile “/tmp/deinstall2018-04-25_08-50-35AM/response/deinstall_Ora11g_gridinfrahome1.rsp”
提示你在那个节点执行就在哪个节点执行。执行完继续回车或者输入y就行,直到卸载结束。
卸载结束后会提示要删除部分文件如下这样:
Run ‘rm -rf /etc/oraInst.loc’ as root on node(s) ‘dqynj027081,dqynj027082’ at the end of the session.
Run ‘rm -rf /opt/ORCLfmap’ as root on node(s) ‘dqynj027081,dqynj027082’ at the end of the session.
Run ‘rm -rf /etc/oratab’ as root on node(s) ‘dqynj027081’ at the end of the session.
Oracle deinstall tool successfully cleaned up temporary directories.
提示你在那个节点执行就在哪个节点执行,不要瞎删,不然会出问题的。
我卸载的时候没有提示要删除/etc/oraInst.loc我手贱删掉了/etc/oraInst.loc,最后导致安装grid的时候报错
[FATAL] [INS-32035] Unable to create a new central inventory directory : /u01/app/oraInventory.
网上百度解决方法如下:
vi /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
这个方法好像不太对,oraInst.loc用上述权限的话好像权限不对,我后来从别的库复制oraInst.loc过来才能正常安装。
下面是正常权限:
-rw-r–r-- 1 root root 68 Sep 25 16:40 /etc/oraInst.loc