8. Oracle用户变量
以oracle 用 户 登 录 , 进 入主目 录 ,配置 .bashrc 文件
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=testora
export ORACLE_OWNER=oracle
export ORACLE_TERM=xterm
export ORACLE_UNQNAME=testora
export ORACLE_HOSTNAME=localhost
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=en_US
9、 开 始 安装
默认情况下安装界面是乱码的,export LANG=en_US使用英文界面安装
./runInstaller
10.链接错误处理,link进度到84%报错处理
10.1 Error in invoking target 'agent nmhs' of makefile '/opt/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'
在日志中详细错误为
/usr/bin/ld: /opt/oracle/product/11.2.0/db_1/sysman/lib//libnmectl.a(nmectlt.o): undefined reference to symbol 'B_DestroyKeyObject'
以及:
Error in invoking target 'all_no_orcl' of makefile '/opt/oracle/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk'.
INFO: pt/oracle/product/11.2.0/db_1/lib/libcommon11.a(kdxd4.o): In function `kdxd4bu':
kdxd4.c:(text.hot+0x2467): undefined reference to `lnxren'
collect2: error: ld returned 1 exit status
/opt/oracle/product/11.2.0/db_1/bin/genorasdksh: Failed to link liborasdk.so.11.1
make: *** [liborasdksh] Error 1
处理方法,参考[2]:
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
###或者打开 ins_emagent.mk文件, 找到 $(MK_EMAGENT_NMECTL) 改成 $(MK_EMAGENT_NMECTL) -lnnz11
类似编译选项错误,这里一并处处理
sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh #注意正则式中有空格
sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk
sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl, --no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk
sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk
###补充:其后才发现:Wl,与--no-as-needed之间应没有空格,这里正确的话根本不会出现下面10.3的error: unrecognized command line option '--no-as-needed'。就一个空格费了我好多时间在这上面。
10.2. INFO: gcc: error: /lib64/libgcc_s.so.1: No such file or directory
处理方法:
sudo ln -s /opt/oracle/product/11.2.0/db_1/lib/stubs/libgcc_s.so.1 /lib64/libgcc_s.so.1