欧拉操作系统上安装11G单机的问题: ·安装完成软件之后,发现rman和sqlplus功能有问题(还有其他的功能应该也是),查看安装日志发现部分lib下link文件报错。 例如:
INFO: collect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/db_1/network/lib/ins_net_client.mk:46: tnsping] Error 1 INFO: n/ld: cannot find /usr/lib64/libpthread_nonshared.a collect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/db_1/sqlplus/lib/ins_sqlplus.mk:43: /u01/app/oracle/product/db_1/sqlplus/bin/sqlplus] Error 1 /usr/bin/ld: cannot find /usr/lib64/libpthread_nonshared.a INFO: collect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/db_1/rdbms/lib/ins_rdbms.mk:867: /u01/app/oracle/product/db_1/rdbms/lib/rman] Error 1 ......
relink一下看看情况:
具体操作步骤如下 1、Verify umask value is set as 022 , in case umask value is not correct , set umask to 022 ( run command "umask 022" ) 2、As Oracle user perform following Command: $ORACLE_HOME/bin/relink all 3、Check relink log: $ORACLE_HOME/install/relink.log
查看relink日志,类似如下报错:
collect2: error: ld returned 1 exit status make: *** [/u01/app/oracle/product/db_1/network/lib/ins_net_client.mk:46: tnsping] Error 1 ......
处理步骤,从a依次做到e步骤:
a)Take backup and make changes to sysliblist file(备份sysliblist文件,并将from后的内容替换为to后面的内容) cd <DB_Oracle_Home>/lib/ cp sysliblist sysliblist.bkp from -ldl -lm -lpthread -lnsl -lirc -lipgo -lsvml -laio to -ldl -lm -lpthread -l:libnsl.so.1 -lirc -lipgo -lsvml -laio b) Change the value of NMEHL_OSLIBS and MK_EMAGENT_NMECTL in(同上步骤) <DB_Oracle_Home>/sysman/lib/env_emagent.mk from NMEHL_OSLIBS=$(LDLIBFLAG)pthread$(LIB_SUFFIX) $(LDLIBFLAG)nsl$(LIB_SUFFIX) \ $(LDLIBFLAG)m$(LIB_SUFFIX) $(LDLIBFLAG)dl$(LIB_SUFFIX) To NMEHL_OSLIBS=$(LDLIBFLAG)pthread$(LIB_SUFFIX) $(LDLIBFLAG)m$(LIB_SUFFIX) \ $(LDLIBFLAG)dl$(LIB_SUFFIX) c)(同上步骤,和b修改同一文件) from MK_EMAGENT_NMECTL=$(LDCCOM) $(NMECTLMAIN) $(LIBNMECTL_LINK) $(LLIBCLNTSH) \ $(NMEFET_STACKLIBS_LINK) $(USRLIBS) $(LDLIBS) To MK_EMAGENT_NMECTL=$(LDCCOM) $(NMECTLMAIN) $(LIBNMECTL_LINK) $(LLIBCLNTSH) \ $(NMEFET_STACKLIBS_LINK) $(USRLIBS) $(LDLIBS) $(LLIBNZ) d) Incase of if you notice $ORACLE_HOME/rdbms/lib/config.o as 0 bytes $ cd $ORACLE_HOME/rdbms/lib $ rm config.o $ make -f ins_rdbms.mk config.o ioracle ---该步骤报错/usr/bin/ld: cannot find /usr/lib64/libpthread_nonshared.a,无法找到该文件libpthread_nonshared.a,需要操作系统安装这个package:compat-libpthread_nonshared 安装完该包后,重做d步骤 $ ls -la config.o e) Re-link oracle binaries cd $ORACLE_HOME/bin ./relink all
relink完成后,rman和sqlplus等功能已正常,relink日志还剩emagent的报错,这个用不上,问题处理完成
$(MK_EMAGENT_NMECTL)
