本文提供了解决Oracle 11g在Lubuntu 12.10环境下编译tnslsnr时遇到的问题的方法。通过修改编译选项和ins_net_server.mk文件来规避错误,最终成功生成tnslsnr可执行文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

处理方法:参考[3]
1.手工编译上面出错的gcc命令,修改了编译选项如下
gcc -o tnslsnr -m64 -L/opt/oracle/product/11.2.0/db_1/network/lib/ -L/opt/oracle/product/11.2.0/db_1/lib/ -L/opt/oracle/product/11.2.0/db_1/lib/stubs/  /opt/oracle/product/11.2.0/db_1/network/lib/s0nsgl.o /opt/oracle/product/11.2.0/db_1/network/lib/snsglp.o -lclntsh  `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags`  -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lztkg11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11   -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11   `cat /opt/oracle/product/11.2.0/db_1/lib/sysliblist` -Wl,-rpath,/opt/oracle/product/11.2.0/db_1/lib,-rpath,/opt/oracle/product/11.2.0/db_1/network/lib/ -lm    `cat /opt/oracle/product/11.2.0/db_1/lib/sysliblist` -ldl -lm   -L/opt/oracle/product/11.2.0/db_1/lib -lnl11  -ln11 -lnlsnr11 -lnlsnrc11 -lnsgr11 -lnms -lncm11 -lnmsp -lpeer -lnro11 -ln11   -lnl11 -lnlsnr11 -lnlsnrc11 -lnms -lncm11 -lnmsp -ln11     -lm -leons








如果上面通过,会以所在目录生成tnslsnr可执行文件,以后拷到$ORACLE_HOME/bin/


2.修改ins_net_server.mk文件,注释掉tnslsnr的生成以及itnslsnr: tnslsnr改为itnslsnr:
gedit /opt/oracle/product/11.2.0/db_1/network/lib/ins_net_server.mk


#tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP)
#       $(SILENT)$(ECHO) " - Linking $(TNSLSNR)"
#       $(RMF) $@
#       $(TNSLSNR_LINKLINE)


#itnslsnr: tnslsnr
itnslsnr:


重试继续后[3]中说又有错误INFO: /database/app/oracle/product/11.2.0/dbhome_1/lib//libocrutl11.so: undefined reference to `lfifcp'
但实际我未出现。


Lubuntu12.10 桌面版安装Oracle11g - lvstone - 绿石头的博客lvstones blog
 




附:常用工具
dbca
netca,netmgr
lsnrctl
sqlplus
emctl start|stop dbconsole




重新配置dbconsole的步骤
emca -repos drop
emca -repos create
emca -config dbcontrol db
emctl start dbconsole

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值