ITPub博客

首页 > Linux操作系统 > Linux操作系统 > (ZT)AIX平台升级到Oracle10.2.0.4的几个问题

(ZT)AIX平台升级到Oracle10.2.0.4的几个问题

原创 Linux操作系统 作者:zergduan 时间:2008-07-25 16:28:57 0 删除 编辑

最近将AIX5306上一个Oracle从9.2.0.6升级到了10.2.0.4,虽然最终升级顺利完成,不过还是碰到了几个小问题,在这里记录一下。

1. plan_table的问题
如果在9i的sys用户下手动执行过$ORACLE_HOME/rdbms/admin/utlxplan.sql脚本建立plan_table,则升级前必须删除。否则执行完升级脚本catupgrd.sql会发现Oracle Database Packages and Types组件一直是invalid的,并且升级脚本的log中有如下错误:

118/44   PL/SQL: ORA-00904: "OTHER_XML": invalid identifier

遇到该错误后,删除plan_table重建也还来得及:

@?/rdbms/admin/utlxplan
@?/rdbms/admin/prvtspao.plb
@?/rdbms/admin/utlrp


2.lock_sga的问题

Oracle10.2.0.4在AIX平台分配共享内存的机制有了一点变化。原来9i使用lock_sga=true是正常的,但是10.2.0.4则无法启动instance,报错:

SQL> startup
ORA-27126: unable to lock shared memory segment in core
IBM AIX RISC System/6000 Error: 1: Not owner

看起来像是权限问题,但是即使给Oracle用户加system组也没有用。后来Oracle解释说需要给Oracle用户赋予两个capability:CAP_BYPASS_RAC_VMM和CAP_PROPAGATE,但这两个capabilities是采用大页内存时才需要设置的,这样说10.2.0.4如果lock_sga的话,默认是要采用大页内存的。当然,大页内存的使用还需要os上设置相关参数的,如果os没有设置,oracle还是要采用4k的内存页。

#chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle
#lsuser -a capabilities oracle
oracle capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE

3.dba_segments和dba_free_space空间计算不一致的问题

select sum(bytes)/1024/1024/1024 from dba_data_files;

SUM(BYTES)/1024/1024/1024
-------------------------
468.554688

select sum(bytes)/1024/1024/1024 from dba_free_space;

SUM(BYTES)/1024/1024/1024
-------------------------
63.3510742

select sum(bytes)/1024/1024/1024 from dba_segments;

SUM(BYTES)/1024/1024/1024
-------------------------
381.477112

显然,468.554688-63.3510742=405.203614,这比从dba_segments算出来的总占用空间381.477112大了20多G,并且这个差距在不断拉大,每天大概相差4G左右。这个问题还在跟Oracle扯皮,不知道他们是否会承认这个是bug。

http://rdc.taobao.com/blog/dba/html/179_aix_oracle_10204_issues.html/trackback

<!--

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

上一篇: 特殊字符 判断
下一篇: (ZT)关于ROWID
请登录后发表评论 登录
全部评论

注册时间:2008-03-12

  • 博文量
    77
  • 访问量
    757962