2009年七月月 发布的文章

分享一个Oracle OCI库的BUG

上周测试组反馈在一台HP X86-64主机Solaris 10 for X86环境下部署的应用无法连接Oracle数据库,错误码ORA-12154。而另外一个产品的部署在这台主机上的应用却能正常连接到数据库。本周安排专人对该问题进行查找,在先后排除了用户环境设置、Oracle数据库服务端等问题后,我们最终把目光集中在了Oracle客户端的OCI库上。

定位过程如下:
1、SQLPLUS可以访问数据库;
2、同环境下另一个应用可以访问数据库;
以上证明用户环境和tnsnames.ora配置没有问题;
3、通过抓包未发现客户端有到Oracle服务端的链接和数据传输,所以该问题应该与Oracle Server端一毛钱关系都没有;
4、发现我们产品的应用使用的是32bit库编译的,而另外一个产品的应用使用的是64bit库,但两个产品底层调用都是一样的;
5、基本锁定是该主机上装的Oracle OCI 32bit库有bug;
6、我们的资深系统工程师在Oracle官方找到了该问题的根源;
7、安装新patch后,应用顺利连接到Oracle Server,问题解决。

Oracle官方对该问题的说明摘录如下:
Solaris x86-64: Running 32-bit Applications Connecting to Database Using TNS Naming Adapter Fails With Segmentation Fault (SIGSEGV) or ORA-12154
  Doc ID:  388631.1 Type:  PROBLEM
  Modified Date :  23-OCT-2007 Status:  PUBLISHED

——————————————————————————–
Applies to:
Oracle Server – Enterprise Edition – Version: 10.2.0.2

Symptoms
Running 32-bit applications connecting to Database using TNS Naming Adapter Fails With Segmentation Violation (SIGSEGV)

Segmentation Fault(coredump)

Running 64-bit work as expected.

Other symptoms would be

ORA-12154: TNS:could not resolve the connect identifier specified

Cause
This has been identified to be caused by
Bug 5389730 10.2.0.1 32BIT OCI EXECUTABLES FAILS WITH ORA-12154 ON SOLARIS 10 X86-64(AMD64)

TNS Naming Adapter was not included within the 32-bit Naming Libraries.

Solution
This is fixed Oracle11g Client 11.0.

There exists patches for 10.2.0.2 and 10.2.0.3:

download and installPatch 5389730 with opatch or

To implement the solution manually, please execute the following steps:

Download Patch 5389730
cp $ORACLE_HOME/network/lib/ins_net_client.mk
$ORACLE_HOME/network/lib/ins_net_client.mk.prePatch_5389730
extract ins_net_client.mk into $ORACLE_HOME/network/lib/ins_net_client.mk
cd $ORACLE_HOME/network/lib
make -f ins_net_client.mk nnfgt.o
Which update (check this)
$ORACLE_HOME/lib/libn10.a and $ORACLE_HOME/lib32/libn10.a
make -f ins_net_client.mk client_sharedlib

which update (check this)
#$ORACLE_HOME/lib32/libclntsh.so
#$ORACLE_HOME/lib32/libclntsh.so.10.1
#$ORACLE_HOME/lib/libclntsh.so
#$ORACLE_HOME/lib/libclntsh.so.10.1

Check that executable is loading $ORACLE_HOME/lib32/libclntsh.so.10.1 by ldd ‘executable’

All dynamically linked applications that use libclntsh should work now.
Static linked applications, need to be relinked with the new libraries.

Picasa Web Albums疑似被和谐了

网络相册,我一直用Google的Picasa Web Albums。若干年前的我最初使用的是Flickr,可好景不长,Flickr的图片地址在国内无法访问到了。无奈换到Picasa Web Albums,当初还花了好大力气将各个blog文章中的图片重新上传到Picasa,并更换文章中的链接。近期我最喜欢的巴萨开始正式赛季前的热身了,本打算写几篇文章发表下看法,但是却发现Picasa Web Albums无法显示相册图片了,而且以前上传的图片在blog中也无法显示出来。到Google的帮助中心看了一下,才发现原来国内很多地方的网友都在帮助中心的论坛上发帖,咨询为什么无法看到Picasa的图片了。这时我才醒悟:疑似Picasa Web Albums遭遇了与饭否等的同等待遇-被和谐了。

政府的这种手段不用多加评论了,大家心里都有数了。在没有Pisaca的这段日子里,只能暂以纯文字形式记录生活吧。期待Pisaca早日恢复正常。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言精进之路1 Go语言精进之路2 Go语言编程指南
商务合作请联系bigwhite.cn AT aliyun.com

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats