linux6以上版本安装ORACLE10g常见问题
有个客户在RHEL 6u3操作系统上安装ORACLE 10.2.0.1.0版本的数据库,到83%就卡住,编译不过去,我试了下,在OEL 6u3操作系统上也同样存在这个问题。
经过分析安装日志,发现好多和网络有关的错误:
Caught UnknownHostException: oel6u3: oel6u3 Caught UnknownHostException: oel6u3: oel6u3
修改/etc/hosts文件,加上解析主机名和将localhost改成主机名后,软件可以安装成功。
[root@oel6u3 ~]# cat /etc/hosts 127.0.0.1 oel6u3 oel6u3.localdomain localhost4 localhost4.localdomain4 ::1 oel6u3 oel6u3.localdomain localhost6 localhost6.localdomain6 192.168.249.200 oel6u3
只加入解析部分,还是编译不过去,我也不知道为什么将localhost改成主机名(标红部分)就可以编译过去,也没找到相关的资料,凭感觉改了就可以了。
在安装完软件后,DBCA创建数据库时,又遇到了ORA-27125错误,这个错误之前在OEL 6.0操作系统安装10g数据库时遇到过(http://www.dbdream.com.cn/wp-content/uploads/2012/11/ORA-27125-unable-to-create-shared-memory-segment.pdf),现在才搞明白。
ORA-27125错误是由于ORACLE用户没有锁定大页内存的权限,在6.0以上版本的linux中,默认ORACLE10g会使用到大页内存,这是6.0及以上版本的linux和5版本的linux的一大变化,可能是6.0及以上版本的linux内存机制发生了变化导致的。
解决方法就是修改/proc/sys/vm/hugetlb_shm_group文件,将dba组id加到这个文件就可以了。
[root@oel6u3 ~]# id oracle uid=1002(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba) [root@oel6u3 ~]# echo 1001 >> /proc/sys/vm/hugetlb_shm_group [root@oel6u3 ~]# more /proc/sys/vm/hugetlb_shm_group 0 1001
这样就一般可以成功创建数据库了。
6及以上版本的linux没有经过oracle 10g的认证,不建议安装10g版本的数据库,而且甲骨文公司也不对ORACLE10g继续支持了,11g已经是很成熟的版本,而且也认证通过了6.3版本的linux,在未来的几年中11g将占据大量的ORACLE份额,那些刚接触ORACLE或还在搞10g的DBA们,应该需要玩11g了。