====== Oracle DB 생성시 ins_rdbms.mk 오류 해결방법 ======
===== all_no_orcl 생성에러 =====
==== Exception ====
- Exception String
Error in invoking target 'all_no_orcl' of makefile
'/u01/app/oracle/product/11.2.0/rdbms/lib/ins_rdbms.mk.'
==== 해결 ====
=== ins_emagent.mk ===
- FILENAME : $ORACLE_HOME/sysman/lib/ins_emagent.mk
- 원본소스
LDFLAGS=-o $@...
- 소스수정
LDFLAGS=-Wl,--copy-dt-needed-entries -o $@...
=== genorasdksh ===
- FILENAME : $ORACLE_HOME/bin/genorasdksh
- 원본소스
$LD $LD_RUNTIME $LD_OPT $LD_OUT ...
- 소스수정
$LD $LD_RUNTIME -Wl,--no-as-needed $LD_OPT $LD_OUT ...
=== env_srvm.mk ===
- FILENAME : $ORACLE_HOME/srvm/lib/env_srvm.mk
- 원본소스
GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1)
- 소스수정
GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) -Wl,--no-as-needed
=== env_network.mk ===
- FILENAME : $ORACLE_HOME/network/lib/env_network.mk
- 원본소스
TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) $(LINKTTLIBS) ...
- 소스수정
TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) -Wl,--no-as-needed $(LINKTTLIBS) ...
=== ins_rdbms.mk ===
- $ORACLE_HOME/rdbms/lib/ins_rdbms.mk
- 원본소스
$(ORAPWD_LINKLINE)
- 소스수정
$(ORAPWD_LINKLINE) -lnnz11
=== env_rdbms.mk ===
- $ORACLE_HOME/rdbms/lib/env_rdbms.mk
- 원본소스
KFED_LINKLINE=$(LINK) $(S0MAIN) $(SSKFEDED) $(SKFEDPT) \
- 소스수정
KFED_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFEDED) $(SKFEDPT) \
- 원본소스
KFOD_LINKLINE=$(LINK) $(S0MAIN) $(SSKFODED) $(SKFODPT) $(KFODOBJ) \
- 소스수정
KFOD_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFODED) $(SKFODPT) $(KFODOBJ) \
- 원본소스
AMDU_LINKLINE=$(LINK) $(S0MAIN) $(SSKFMUED) $(SKFMUPT) \
- 소스수정
AMDU_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFMUED) $(SKFMUPT) \
- 원본소스
KFNDG_LINKLINE=$(LINK) $(S0MAIN) $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ) \
- 소스수정
KFNDG_LINKLINE=$(LINK) $(S0MAIN) -Wl,–no-as-needed $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ) \
- 원본소스
ORACLE_KERNEL_LIBS=$(LLIBSKGTR) $(LLIBPERFSRV) $(NAETTOBJS) $(CONFIG)\
$(SPOBJS) $(LLIBSERVER) $(LLIBODM) $(LLIBSAGE) \
- 소스수정
ORACLE_KERNEL_LIBS=$(LLIBSKGTR) $(LLIBPERFSRV) $(NAETTOBJS) $(CONFIG)\
$(SPOBJS) -Wl,--no-as-needed $(LLIBSERVER) $(LLIBODM) $(LLIBSAGE) \
===== irman ioracle 생성에러 =====
==== Exception ====
- Exception String
Error in invoking target 'irman ioracle' of makefile
'/u01/app/oracle/product/11.2.0/rdbms/lib/ins_rdbms.mk'.
- ORACLE LOG FILE
libocrutl11.so: undefined reference to `lfifcp' rdbms/lib/ins_rdbms.mk
==== 해결 ====
- FILENAME : $ORACLE_HOME/rdbms/lib/env_rdbms.mk
- 원본소스
ORACLE_LINKLINE=$(ORACLE_LINKER) $(PL_FLAGS) $(ORAMAI)
- 소스수정
ORACLE_LINKLINE=$(ORACLE_LINKER) -Wl,--no-as-needed $(PL_FLAGS) $(ORAMAI)
===== 재컴파일 =====
- ins_rdbms.mk 에러가 발생했을 경우, DB를 모두 내린 후 재컴파일 해준다.
$ lsnrctl stop
$ sqlplus "/as sysdba"
SQL> shutdown immediate;
$ cd $ORACLE_HOME/lib/
$ make -f ins_rdbms.mk