11gr1 installation failed on Fedora 14 with libnnz11.so could not read symbols

尝试把桌面迁移到Fedora 14上,在安装11g r1数据库软件时遭遇了libnnz11.so: could not read symbols: Invalid operation错误,OUI部分日志如下:

INFO: gcc -o /u01/app/maclean/product/11.1.0/db_1/sysman/lib/emdctl -L/u01/app/maclean/product/11.1.0/db_1/lib/ -L/u01/app/maclean/product/11.1.0/db_1/sysman/lib/ -L/u01/app/maclean/product/11.1.0/db_1/lib/stubs/       `cat /u01/app/maclean/product/11.1.0/db_1/lib/sysliblist` -Wl,-rpath,/u01/app/maclean/product/11.1.0/db_1/lib -lm    `cat /u01/app/maclean/product/11.1.0/db_1/lib/sysliblist` -ldl -lm   -L/u01/app/maclean/product/11.1.0/db_1/lib /u01/app/maclean/product/11.1.0/db_1/sysman/lib//s0nmectl.o -lnmectl -
INFO: lclntsh -L/u01/app/maclean/product/11.1.0/db_1/lib  -L/u01/app/maclean/product/11.1.0/db_1/sysman/lib/ -lnmemso -lcore11 -Wl,-rpath,/u01/app/maclean/product/11.1.0/db_1/lib/:/u01/app/maclean/product/11.1.0/db_1/sysman/lib/:/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386/client:/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386 -L/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386/client -L/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386 -z lazyload -ljava -ljvm -lverify -z nolazyload -Wl,-rp
INFO: ath,/u01/app/maclean/product/11.1.0/db_1/lib/:/u01/app/maclean/product/11.1.0/db_1/sysman/lib/:/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386/client:/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386 -Wl,--allow-shlib-undefined    `cat /u01/app/maclean/product/11.1.0/db_1/lib/sysliblist` -ldl -lm

INFO: /usr/bin/ld: /u01/app/maclean/product/11.1.0/db_1/sysman/lib//libnmectl.a(nmectlt.o): undefined reference to symbol 'B_DestroyKeyObject'
/usr/bin/ld: note: 'B_DestroyKeyObject' is defined in DSO /u01/app/maclean/product/11.1.0/db_1/lib/libnnz11.so so try adding it to the linker command line
/u01/app/maclean/product/11.1.0/db_1/lib/libnnz11.so: could not read symbols: Invalid operation

INFO: collect2: ld returned 1 exit status

INFO: make[1]: *** [/u01/app/maclean/product/11.1.0/db_1/sysman/lib/emdctl] Error 1

INFO: make[1]: Leaving directory `/u01/app/maclean/product/11.1.0/db_1/sysman/lib'

INFO: make: *** [emdctl] Error 2

INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'agent tclexec' of makefile '/u01/app/maclean/product/11.1.0/db_1/sysman/lib/ins_emagent.mk'. See '/u01/oraInventory/logs/installActions2011-03-15_09-59-46PM.log' for details.
Exception Severity: 1

google了一下网上的解决方法,需要手动修改make文件ins_emagent.mk,该文件位于$ORACLE_HOME/sysman/lib/ins_emagent.mk,找出该文件中的以下部分并修改:

$(SYSMANBIN)emdctl:
        $(MK_EMAGENT_NMECTL)

修改为

$(SYSMANBIN)emdctl:
        $(MK_EMAGENT_NMECTL) -lnnz11

之后重新编译该agent部分模块:

make -f ins_emagent.mk "agent"

Recommended Hidden Parameters for 11gR1

Question #1:
==========
_optimizer_cost_based_transformation=false Currently set to false, should we keep or remove it for 11g upgrade?
It is a workarond for several bugs, including ORA-600 bug 6666870 fixed only in 11,2?

ANSWER
=======
_OPTIMIZER_COST_BASED_TRANSFORMATION controls whether or not the
optimizer tries different transformations against a query
using the cost with and without the transformations in order
to determine if a transformation is useful or not.
The parameter can be set to any of:
“exhaustive”, “iterative”, “linear”, “on”, “off”
giving some control over how much effort is given to costing
various transformations.

Cost based transformation can add a high overhead at parse time
but can yeild considerable benefits by way of a better plan
for the statement.

Known bugs
6666870 11.2 OERI:qctcte1 from cost based transformation
8541212 11.2 OERI [qctcte1] with function based index and OLD style join push predicate

Question #2: _undo_autotune=false Currently set to false, should we remove it for 11g upgrade?
Search key: _undo_autotune 11.1.0.7
Bug.8430038/7291739 ORA-1628 MAX # EXTENTS 32765 REACHED FOR ROLLBACK SEGMENT _SYSSMU105_123755639:
Fixed in 11.2
Patch available

If you leave the _undo_autotune=false in the parameter file in 11.1.0.7, then you will have to manually adjust
UNDO_RETENTION, and none of the historical information would be captured in undostats. It is better to remove this
parameter and allow AUM to administer the tuned retention for you.
However, in 11.1.0.7 there is a bug that can occur for which the workaround is to set it to false. This is Bug 7291739.

So my recommendation is to remove the parameter, allowing _undo_autotune to default to true, then install the fix for
Bug 7291739 in 11.1.0.7.

Question #3:
===========
_unnest_subquery=false – Currently NOT set, but recommended by PeopleSoft in note ID 749100.1
“Operating System, RDBMS & Additional Component Patches Required for Installation PeopleTools 8.49”

ANSWER
=======
_UNNEST_SUBQUERY
This parameter controls whether the optimizer attempts to unnest
correlated subqueries or not.

Known bugs
8245217 11.2 Dump [vopcpl] unnesting subquery

沪ICP备14014813号-2

沪公网安备 31010802001379号