ProC血的教训!Connect失败也必须RELEASE!

原创 2013年12月03日 18:15:25

又到日志时间啦,最近工作上遇到一个问题,数据库在两个IP地址上监听,所以程序在检测到数据库连接断开后,就要切换到另一个IP上去连接数据库,因此我写了一个函数去做这件事,主要就是

EXEC SQL CONNECT :uid1,不行的话就EXEC SQL CONNECT :uid2


结果在测试的时候,开始还奏效,在插拔几次网线之后,程序就崩了,主要表现:

连接是提示成功了,但是一执行SQL语句就崩,屏幕输出

“pthread_mutex_lock __pthread_mutex_lock_full: Assertion failed with robust and 0x4000000”这样的错误,

或者有时候连接都没成功,屏幕输出

“OCI-21500: internal error code, arguments: [kghfrmrg:nxt]”这样的东东。

把我郁闷坏了,这个问题我调了差不多1天,怀疑跟多线程的锁有关系,又怀疑我Connect 远程数据库的uid格式有问题,反正把能想到的都改了一个遍,还是问题依旧。

最后我都要放弃了,自己写了一个小程序试了一下,终于找到了问题所在:

我在连接数据库的时候,CONNECT :uid,通过判断sqlcode确定连接数据库成功与否。但是如果没成功,我就没有RELEASE.因为我开始认为,都没连接成功,干嘛需要RELEASE。事实证明我错了,如果不RELEASE,程序提示“OCI-21500: internal error code, arguments: [kghfrmrg:nxt]”这样的东东,而且其实没连接成功,sqlcode也等于0!!!

我认为由于没有RELEASE,造成了嵌入式SQL的上下文混乱,结果oracle也晕了,oracle晕了就挂了。

我猜测Connect的时候,程序将自己与oracle的连接进行了绑定,RELEASE不仅仅是关闭连接,而且那些连接信息也会进行清理。

具体的大道理咱也说不明白,总之Connect用完之后或者失败必须RELEASE,不然后患无穷啊。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ProC血的教训之二!游标使用完关闭之后最好释放!

在经历上一个教训并解决问题之后,本以为可以高枕无忧了,结果又遇到一个问题,在多次拔插网线之后,程序运行到fetch cursor的时候就崩掉了,任何信息都没有提示。我确定是上下文的问题,但是怎么也改不...

Unladen Swallow 的失败与教训以及PyPy

转:http://fosschef.com/2011/04/the-failure-of-unladen-swallow-and-the-lessons/ 在淡出人们的视线近一年之后,Unl...

技术创业失败的7个教训

技术创业失败的7个教训 分享到:微博微信 http://www.infoq.com/cn/articles/lessons-from-the-fai...

人人旗下风车网产品经理的创业失败教训总结【转载】

【编者按】本文由tech2ipo的杨涛根据人人网旗下类Pinterest旅游社交网站“风车网”PM陈晓峰对于团队解散的分析PDF中的文字整理而来,文章包含陈晓峰在百度、人人等多家公司的从业经验,也包括...

2015年11月20 关于百度地图导航初始化失败的一个教训

开发中遇到了要使用导航功能,选择了百度地图的导航功能,一切都是按部就班。 也在开发者中心把demo给down下来了。新创建一个项目,测试,key校验成功,百度导航引擎初始化成功,ok. 于是进行移...

欧洲知名创业公司CEO的创业失败教训

我曾是sofanatics.com 的CTO(首席技术官),sofanatics.com 曾被视为欧洲最受欢迎的创业企业,但是我们还是没能将其壮大,现如今sofanatics.com已经倒闭。我从中获...

一个程序员的创业失败教训

一个程序员的创业失败教训 TheEdge推荐 [2007-1-4] 出处:blog 作者:梅松   这段经历是悲伤的,也是快乐的,毕竟创业是充满激情的,想着自己以后可以不再给人打...

研究了100多个创业失败案例后,这里有7个血色教训

成功者的传记人们争相阅读,失败者的故事却少人问津,甚至当事人也希望越快忘掉越好。Anastasia Mudrova曾是一家创业公司的联合创始人,在项目失败后,她发疯似地阅读和思考了 100 多个创业失...

网站运营失败要学会吸取教训

大家感觉互联网的门槛比较低,而做站长是大多数朋友的选择,然而大多数的站长可以说是完全的转入到一个陌生的行业,连网站为什么要有空间,怎样使用ftp都不了解,至于网站为什么要做SEO更是一无所知,然而大家...

人人旗下风车网产品经理的创业失败教训总结【转载】 .

2012-07-23 16:11 5862人阅读 评论(4) 收藏 举报 【编者按】本文由tech2ipo的杨涛根据人人网旗下类Pinterest旅游社交网站“风车网”PM陈晓峰对...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)