搜索
您的当前位置:首页正文

Oracle客户端连接bug

2023-11-17 来源:知库网

据同事反映,有两个linux x86的oracle客户端无法连接oracle数据库,从服务器本地进行sqlplus连接也失去响应。Metalink提到这是or

据同事反映,,有两个linux x86的Oracle客户端无法连接oracle数据库,从服务器本地进行sqlplus连接也失去响应。
Metalink提到这是oracle的一个bug(4612267)。

SQL*Plus 10.2.0.1 Hangs, When System Uptime Is Long Period of Time [ID 338461.1]

Applies to:
SQL*Plus - Version: 10.2.0.1 to 10.2.0.1 - Release: Oracle10g to Oracle10g
Generic UNIX
Linux x86
HP-UX PA-RISC (64-bit)
IBM AIX on POWER Systems (64-bit)
Linux x86-64
Checked for relevance on 18-Apr-2010
Symptoms
Trying to invoke SQL*Plus hangs when machine uptime has been for a long period of time. There have been cases where problem occurs when uptime reaches 60 days and others as

long as 248 days.

Database connection is not relevant as the 'sqlplus' executable itself hangs with or without connection information. It hangs regardless of what parameters are passed in. For

example:

sqlplus -V

However, the hang does not reproduce with Instant Client version 10.1.0.4

Generating a stack trace using gdb debugger shows:

#0 0x0048a0dd in times () from /lib/tls/libc.so.6
#1 0x01884599 in sltrgatime64 () from ./libclntsh.so.10.1
#2 0x0137d70f in kghinp () from ./libclntsh.so.10.1
#3 0x00f86b47 in kpuinit0 () from ./libclntsh.so.10.1
#4 0x00f85e7a in kpuenvcr () from ./libclntsh.so.10.1
#5 0x01051b5e in OCIEnvCreate () from ./libclntsh.so.10.1
#6 0x0099787e in afidrv () from ./libsqlplus.so
#7 0x009702b9 in safimTerminate () from ./libsqlplus.so
#8 0x0098c246 in afidrv () from ./libsqlplus.so
#9 0x080486f6 in main ()

Running STRACE tool shows:

$ strace /oracle/home/bin/sqlplus -V 2>&1 |less
......
old_mmap(NULL, 385024, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41794000
gettimeofday({1122996561, 411035}, NULL) = 0
access("/usr/local/UD/conf/sqlnet.ora", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/UD/lib/oracle/network/admin/sqlnet.ora", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/UD/conf/sqlnet.ora", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/UD/lib/oracle/network/admin/sqlnet.ora", F_OK) = -1 ENOENT (No such file or directory)
fcntl64(-1218313656, F_SETFD, FD_CLOEXEC) = -1 EBADF (Bad file descriptor)
times(NULL) = -1825782405
times(NULL) = -1825782405
times(NULL) = -1825782405
times(NULL) = -1825782405
times(NULL) = -1825782405
times(NULL) = -1825782405
times(NULL) = -1825782405

It is looping on the times() function.

In addition to sqlplus, it has been reported that the netca and dbca tools also hang.

Changes
This may happen with a new installation of Instant Client 10.2.0.1.0 or Oracle 10.2.0.1.0 on UNIX platform, or it can just occur after some period of time with no other changes.

Cause
This is a known, unpublished bug.

BUG 4612267 OCI CLIENT IS IN AN INFINITE LOOP WHEN MACHINE UPTIME HITS 248 DAYS

Solution
Select one of the following two solutions:

1) Apply one-off patch available for 10.2.0.1.
a. Download one-off patch off Metalink:
Patch 4612267
Description OCI CLIENT IS IN AN INFINITE LOOP WHEN MACHINE UPTIME HITS 248 DAYS
Product CORE
Release Oracle 10.2.0.1

b. To apply patch on Instant Client install, please follow instructions documented in the OCI manual.
You can find this in:
?which=main&partno=b14250&maxlevel=2?ion=&expand=3216

under "Patching Instant Client Shared Libraries on Linux or UNIX".

2) Apply Patchset 10.2.0.2 or higher.
According to unpublished BUG 4612267, this bug is fixed in version 11, and backported to 10.2.0.2 patchset.

linux

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

上一篇:小孩名字叫什么好

下一篇:

热门图文

  • 基于jquery的滑动样例代码_jquery

    本文实例讲述了jQuery实现将div中滚动条滚动到指定位置的方法。分享给大家供大家参考,具体如下:一、Js代码:onload=function(){//初始化scrollToLocation();};functionscrollToLocation(){varmainContainer=$('#thisMainPanel'),scrollToContainer=mainContainer.find('.son-panel:last');//滚动到<divi

  • 基于jquery的跨域调用文件_jquery

    varqsData={'searchWord':$("#searchWord").attr("value"),'currentUserId':$("#currentUserId").attr("value"),'conditionBean.pageSize':$("#pageSize").attr("value")};$.ajax

  • javascript整除实现代码_javascript技巧

    for (let i = 0; i <= 20; i += 2) {if (i % 3 === 0) {console.log(i);}}上面的代码使用了 for 循环来遍历 0 到 20 的整数,并通过条件筛选出能被 3 整除的偶数进行输出。具体实现步骤如下:使用 for 循环,初始化一个变量 i 并赋值为 0,设置循环结束的条件为 i <= 20,每次循环加 2。在循环体中,判断当前的数字 i 能否同时被 2 和 3 整除,即判断 i 是否是偶数且能被 3 整除。如果 i 满足条

  • 高亮显示web页表格行的javascript代码_javascript技巧

    给你个完整的代码自己研究吧<!--All Files Design & Write by Windy_sk, you can use it freely but ...YOU MUST KEEP THIS ITEM !Email: seasonx@163.net--><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>Pow

  • IE6下出现JavaScript未结束的字符串常量错误的解决方法_javascript技巧

    据我看这里边没有任何错误的!这只是一个定义的过程而已民,又不是执行,即使是执行错误,那么只有一种可能性:那就是传入html变量中含有'字符,而这个字符因与原来的字符相冲突,可能会在浏览器中报错!你在IE6中试着将原来的'字符或"字符全部换成编码或者直接去掉试一下!未结束字符常量往往是这样的语句会出现:var s = "sgfgsfgsdgs;因为这里边只有一个"定界符,与后来必然不配对,所以才会出现未结束字符常量错误!追问整个网页只有下面这段:var

Top