论坛首页 海阔天空论坛

在SLES 9 sp3 x64上安装oracle 10gR2的2个问题

浏览 5051 次
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-17  
订的机器快到货了,今天找了个机器,在sles 9 sp3上装了把oracle 10g R2,做做准备。

基本环境是这样的:
OS : SLES 9 sp3 x64
database: oracle 10g R2 x64

先到OTN找了个安装文档看,http://www.oracle.com/technology/tech/php/installtxt/10gr2_sles9.txt

看下来,发觉在SLES 9上装oracle太简单了,多数工作SLES都为你做好了准备。
简单的归纳了一下要点:
1.尽可能简单的基本系统,采用默认安装就好。
2。通过yast安装需要用到的软件包,有如下几个:
cpp,gcc,gcc-c++,libgcc,openmotif.orarun
orarun会自动帮你添加oracle用户,组,生成为oracle准备的内核参数修改脚本等等
3.设置一下oracle账号,修改一下生成的脚本里的个别参数并执行。
这样就完成了安装前的准备工作,比RHEL简单多了。

没想到做完这些,安装oracle时就出问题了。先是在安装中过程报"Error in invoking target 'install'  of makefile ....".估计是链接什么库文件时出错了,可我已经是对着安装文档安装所需库的了。
google了一通,有人说是oracle 10g的x64版本并不是纯64位版本,但按照其提示的解决方法,也不行。会不会用到了什么32位的库文件?在yast中挑了几个试试:autoconf,automake,bison,bison-32,glibc-devel-32,嘿,还真通过了。但究竟是哪个文件引起的,还不确定,先记下来,下次再安装的时候试试。很可能是glibc-devel-32。

安装完oracle后,在创建数据库时有出错了:“ORA-27125,unable to create share memory segment”,一查,原来是SLES 9的x64版本,默认HUGETLBFS为true,直接装10g就会报这个错。改了一下oracle_home/bin/oracle,给它传进去一个参数,把HUGETLBFS禁用了,就正常了。但禁用HUGETLBFS会有啥影响我现在还搞不清楚,先记下来吧,明天查查看。
   发表时间:2007-06-22  
查了一下资料,这个HUGETLBFS可是好东西,是2.6内核的新特性之一。一般来说,x86使用的内存页为 4 KB,而要将虚拟内存地址映射到物理内存地址,就必须使用一个页表条目来记录这个映射关系。如果遇到对内存消耗比较大的进程来说,这就会造成额外的页表条目开销,但是如果把内存页的大小调大,调整为4MB,那么页面条目的开销也减少为原来的1/10.大内存页的使用还可以通过减少 变换索引缓冲(translation lookaside buffer, TLB)的失败次数来提高性能。

我是准备在SLES上跑oracle的,是需要大内存消耗的应用,那这个大内存页特性还是很有用的,不能禁用它,要找个解决方法才行。
0 请登录后投票
   发表时间:2007-06-22  
http://www.nextre.it/oracledocs/hugetlb.html

这个link里面有针对你的问题的详细解决步骤描述。

http://www.nextre.it/oracledocs/oracleonsuse.html

很全的Oracle on SuSE的安装文档。

在SLES9上面,你其实可以玩玩Oracle的raw partition。分区使用LVM逻辑卷,不要创建文件系统,直接把Oracle的裸设备创建在上面,然后创建tablespace的时候指定使用该裸设备。这样做的好处在于:

1、使用裸设备可以绕开操作系统的IO开销,对于Oracle数据库的硬盘IO号称可以提高40%的效率。
2、使用LVM可以动态伸缩表空间,避免了传统裸设备的空间大小无法扩展的问题。


0 请登录后投票
   发表时间:2007-06-22  
用raw partition在备份上会不会有甚么问题?

我现在的库已经有20G了,为了减少备份时间,我是写脚本关闭oracle实例,然后用冷备的方式,这样速度快一些。用了raw partition就没法用冷备了
0 请登录后投票
   发表时间:2007-06-22  
无明 写道
用raw partition在备份上会不会有甚么问题?

我现在的库已经有20G了,为了减少备份时间,我是写脚本关闭oracle实例,然后用冷备的方式,这样速度快一些。用了raw partition就没法用冷备了


20GB也不算太大,即使是exp也花不了多少时间的。

如果你是冷备份的话,裸设备也没有问题,一行dd命令就搞定了,直接把整个裸分区往磁带机或者其他备份介质上面备吧。这种低级分区拷贝可比你在操作系统上面上面的文件拷贝快多了。
0 请登录后投票
   发表时间:2007-06-23  
这么说来使用raw partition备份效率更高?等新机器到了后试试看。
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics