Installing Oracle 10g on SuSE 9.1 professional

[Oracle] Installing Oracle 10g on SuSE 9.1 professional

作者:Fenng
日期:03-Jul-2004 
出处:http://www.dbanotes.net
版本:1.01

SuSE 9.1 专业版是前一段时间发布的。SuSE公司是欧洲的一个重要的Linux厂商。Suse Linux一直以界面华丽而著称。其实,SuSE Linux的一个很引人注目的地方就是对Oracle的支持一向不错。

在SuSE以前的几个版本中,都针对Oracle有过专门的改进,安装起来也比较的方便,一般用户只需要安装一个RPM包即可搞定。不过目前的9.1版本是否支持Oracle 10g还没有官方声明。经过笔者测试,发现Oracle 10g在SuSE上可以运行的很好。

SuSE Linux 9.1 采用的是2.6( 2.6.4-52)的核心。这是笔者要对其测试的一个重要原因。这个版本KDE是3.2版本的,GUI足够华丽, 不过这个和我们今天的这个主题关系不大。对SuSE新特性感兴趣的读者可以先去看一下这个Links: http://www.suse.com/us/private/products/suse_linux/prof/new_features.html 。此外,SuSE集成了 LVM2。LVM对维护上带来了不少方便,从某种意义上说提高了系统可用性。2.6核心 + LVM2 + 10g--还真的蛮吸引人的。

安装之前,先去Suse的Oracle支持站点看看: http://www.suse.com/en/business/certifications/certified_software/oracle/documents.html 。虽然没有直接针对Oracle 10g 的资料,不过一些文档也是非常有参考价值的哦。还有http://otn.oracle.com 上的支持文档,也应该是必读之物。

一 准备工作

先检查操作系统软件包是不是已经安装齐备。也就是属于开发环境的那些东西,Gcc 、binutils 、make等等,如果没有安装的话,可以通过yast2工具来进行安装,仔细选好软件,按照提示依次插入各安装盘即可。

参考http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm 这里的信息。(另外, 在该Link还可以找到其它的一些有用的Link)。

接下来我们创建用户和相关的组,调整用户的环境变量:

export ORACLE_BASE=/u/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORACLE_SID=TEST
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

创建目录,检查核心参数。SuSE上我没有发现 sysctl.conf 文件。自己创建之。内容如下:

kernel.shmall = 2097152 
kernel.shmmax = 2147483648 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
fs.file-max = 65536 
net.ipv4.ip_local_port_range = 1024 65000

然后sysctl -p 确定一下。在这里要注意的一点是在系统重新启动之后不能自动读取我们创建的文件。 可以考虑

#chkconfig boot.sysctl on

或者是利用SuSE 的Yast 工具来设置。

二 安装软件

安装之前要进行一下处理。因为runInstaller所需要的配置文件oraparame.ini 中没有提到SuSE ,所以,预检查的时候会报告错误。

我们采取调整该文件的办法.具体参考: http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm

vi oraparam.ini

找到

[Certified Versions]
Linux=redhat-2.1,UnitedLinux-1.0,redhat-3

修改成

[Certified Versions]
Linux=redhat-2.1,UnitedLinux-1.0,redhat-3,SuSE-9.1

然后运行./runInstaller

如果不能出现X安装界面,注意DISPLAY环境变量的设置。以后一路是图形文件。不多说了。注意,在安装的时候不要创建数据库。

三 创建实例

运行dbca ,创建实例。不过,在这里一个比较令人头疼的问题。图形化创建实例总是报告: ORA-27125:unable to create shared memory segment. 检查核心参数,没有发现问题。后来经过网络上的交流得知:Linux 2.6内核有个特性:Huge TLB支持。该特性默认条件下是激活的。

相关解释:

By default only root has permission to allocate shared memory with this option (SHM_HUGETLB) and Oracle 10g defaults using it, so Oracle fails to allocate the SGA.This capability is supposed to be able to controlled with the setcaps program (CAP_IPC_LOCK), but I couldn't get it to work properly. The solution is either to set DISABLE_HUGETLBFS=1 before you start Oracle or to recompile the kernel without CONFIG_HUGETLB_PAGE and CONFIG_HUGETLBFS configuration parameters.

要解决该问题,在Oracle用户下执行 $export DISABLE_HUGETLBFS=1 (初稿这里有误) 注(2004年9月19日):本文最初描述的有问题,一般来说执行如下的操作比较稳妥:

linux: # cd $ORACLE_HOME/bin
linux: # mv oracle oracle.bin

cat >oracle <<"EOF"
#!/bin/bash

export DISABLE_HUGETLBFS=1
exec $ORACLE_HOME/bin/oracle.bin $@
EOF

linux: # chmod +x oracle

这是因为类似dbca这样的Java应用不能把 DISABLE_HUGETLBFS=1传递给oracle执行程序。

具体信息可参考URL:http://www.gesinet.it/oracle/hugetlb.html 还有下面的参考URL.

然后再次运行dbca 。如果遇到问题的话,最好是定制库,最后选择"生成脚本" (当然,可以自己写脚本建库,不过用图形工具方便一些) 。运行脚本创建实例。不出意外的话,这次应该没有问题了。

安装数据库只是学习Oracle 10g的一个序曲。别等待,开始探索10g 的众多特性吧!

参考信息


Oracle on SuSE ,一个意大利老兄维护的站点 - http://www.gesinet.it/oracle/oracleonsuse.html 
对Hugetlb的解释 - http://www.gesinet.it/oracle/hugetlb.html 
5种解决ORA-27125的办法 - http://linux.inet.hr/oracle10g_on_debian.html

相关信息

http://blog.csdn.net/fenng/archive/2004/07/04/33439.aspx
http://blog.itpub.net/post/8/1196

原文出处

http://www.dbanotes.net/Oracle/Install-Oracle10g-SuSE9.1.htm

回上页<-|->回首页


All Articles (by Fenng) are licensed under a Creative Commons License.
I would welcome any feedback. Please send questions, comments or corrections to dbanotes@gmail.com
Valid XHTML 4.01 / Valid CSS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值