ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RAC环境出现ORA-439错误

RAC环境出现ORA-439错误

原创 Linux操作系统 作者:yangtingkun 时间:2009-08-03 23:59:24 0 删除 编辑

在一次产品环境的升级中碰到ORA-439错误:feature not enabled: partitioning

 

 

手头有两台服务器和一台存储,准备在正式环境中搭建一套RAC数据库。在正式环境搭建之前,利用这两台服务器测试了一下不同Oracle的版本对性能的影响。这两台服务器先后安装了11gr1 Rac环境、10gr2 Rac环境和9i单实例环境。

开始打算测试11g10g的性能差别,由于上线的时候使用10g环境,因此先测试11g,然后完全删除Oracle环境,再搭建10g的环境,等到测试完成后,只需要删除测试的数据库,并重现创建数据库就可以了。无论是Cluster环境还是OracleRAC软件环境都不需要再安装了。

其实本来这个偷懒的方法没有什么大问题,但是测试完成后,发现时间还有点富裕,于是又测试了一下Oracle9i的单实例环境。不过为了能够继续偷懒,没有卸载现有的10g Rac环境,而是直接在Rac环境的其中一个节点上安装了Oracle9i的软件,并建立了9i的数据库,还打了9204的补丁。测试完成后,将9i的数据库和软件全部卸载。另外当时9i的安装和数据库的建立都采用了Silent模式,在删除数据库和卸载软件的使用,也尝试使用SILENT模式,但是由于9ibug,没有能够成功。

本来以为偷懒成功了,Oracle10gClusterDatabase都只安装了一次,结果在产品环境正式升级过程中,碰到了这个ORA-439错误:feature not enabled:partitioning

首先碰到这个错误就是很奇怪的,安装的是10gr2的企业版,不可能没有安装分区选件,而且前面在10g Rac环境测试的时候还用到了分区表,怎么这次新建的数据库会出现这个问题呢。

更奇怪的现象是,并不是两个节点都会报错,另一个节点上可以建立分区表。检查V$OPTION视图可以发现,两个节点得到的结果居然是不同的,出错节点分区属性对应的值是FALSE。而这个出错的节点恰好就是安装9i数据库的节点。看来问题多半就是由于先安装了10g数据库,而后安装了9i数据库,这个错误的安装顺序到了问题的产生。

不过由于上面描述的安装、打补丁、卸载的操作太多,且历时时间很长,无法回忆起所有的操作以及这些操作的先后顺序,因此现在已经无法模拟出这个错误了。在这里记录这个问题主要是说明两个问题:安装不同版本的数据库应该遵循低到高的原则;对于产品环境应该从一个干净的环境开始创建,而不要偷懒利用现有的环境,这样很可能埋下一些问题。

对于这个问题,其实应该可以通过对问题节点的Oracle进行重新编译链接,并将分区选项添加上:

$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk part_on
$ make -f ins_rdbms.mk ioracle

但是由于是产品环境,已经由于偷懒导致了问题,于是选择了最稳妥的方法。将RAC数据库软件部分卸载,重新安装Oracle Rac,然后再建立数据库。问题最终解决。

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-611268/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10423175