处理Win2003下Oracle10.2.0.4.0的TNS-12518错误

32bit的Windows 2003系统,安装的是oracle 10.2.0.4.0版本,最近时常出现TNS-12518错误,而导致用户端连接失败。

Server是4GB的内存,SGA设置了1.6G,PGA 400MB。在50个process时就会连接失败。

目前暂时设置SGA 1.2G,PGA 400MB,尚未出现连接异常。

怀疑是由于32Bit限制Oracle只能使用1.7G内存,导致内存分配失败。

因此准备做如下两个动作:
1. 修改boot.ini文件,加入/3GB来开放Oracle使用内存限制。(如超过4GB可加入/PAE)
2. 因系统压力不大,继续缩小SGA及PGA大小,分别设置为:1G,200M。

后查询得知,可能是10G的Bug,需要打patch14。(如后续没有因session过多再出现问题,可能这步暂时不会做)

以下内容从Metalink    copy的,供参考:

主题: 10gR2 Dedicated Connections Intermittently Fail with TNS-12518
 文档 ID: 371983.1类型: PROBLEM
 上次修订日期: 02-APR-2009状态: PUBLISHED

In this Document
  Symptoms
  Changes
  Cause
  Solution
  References


Applies to:

Oracle Net Services - Version: 10.2.0.1.0 to 10.2.0.4.13
Microsoft Windows 2000
Microsoft Windows Server 2003
Microsoft Windows (32-bit)
MS Windows 2000MS Windows 2003MS Windows NT
Connections to 10gR2 database
Checked for relevance on 22-JAN-2009.

Symptoms

Connection intermittent fail with TNS-12518: TNS:listener could not hand off client connection
Max Utilization of processes parameter is not being hit by connections and database background processes.

Listener log shows

TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
32-bit Windows Error: 233: Unknown error

Listener trace shows

snlpcss: Unable to spawn Oracle oracle (LOCAL=NO) , error 233.
sntpcall: exit
ntpcon: exit
nserror: entry
nserror: nsres: id=0, p=65, ns=12560, ns2=0; nt[0]= 530, nt[1]=233, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0

ORA-4030 errors messages can also be reported

Changes

Upgrade to 10gR2 (10.2.0.1)

Cause

Lack of available memory on the server. For example Bug 5108234High Memory (Virtual Bytes) Consumption Per Connection in 10.2, was logged for the issue. It has been confirmed for release 10.2 on Windows, dedicated connections take 2.14MB of virtual memory, while 10.1 only takes 1.5MB.

In summary, as more functionality is added to new releases, more resources will be required

It was found that a code change was possible for release 10.2, to lower the resources taken per connection.

This change will not be available for release 11g onwards.

Solution

Code change for 5108234 has been included in Windows 10.2.0.3 Patch 1 Patch 5731535  and 10.2.0.4 Patch 14

Please see Note 161549.1 Oracle Database Server and Networking Patches for Microsoft Platforms for the lastest Patch available. 

Please note, this code change was marked as included in 10.2.0.4 patch set. This has now been confirmed as incorrect. 

Following steps are known to help increase memory available to Oracle or decreased memory utilization by Oracle. Allowing more connections to be established.

1.
Enable 4GB RAM Tuning (4GT). 32-bit Windows 2000 Server (Advanced and Data center editions) and 32-bit Windows Server 2003 (Enterprise and Data center editions) include a feature called 4GB RAM Tuning (4GT). This feature allows memory-intensive Windows applications to directly access up to 3GB of memory as opposed to the standard 2GB that is allowed in other Windows editions. The obvious benefit to the Oracle database is that 50% more memory becomes available for database use, which can increase SGA sizes or connection counts. . The only configuration change required is to ensure that the /3GB flag is used in Windows ’boot.ini file. See http://support.microsoft.com/?kbid=291988

2.
On Windows 2003 we can address more than 4gb of memory, via PAE and USE_INDIRECT_DATA_BUFFERS

USE_INDIRECT_DATA_BUFFERS controls how the system global area (SGA) uses memory.
It enables or disables the use of the extended buffer cache mechanism for 32- bit platforms that can support more than 4 GB of physical memory. See Note 225349.1

3.
Decrease the size of the database SGA (decrease parameters like shared_pool_size, sort areas parameters, large_pool_size, etc.) giving memory back to the O/S, allowing more connections to be established. A good example is the sga_max_size parameter.  Oracle must 'reserve' this size in the process address space. If it does not, then something else may come along, use the space and then the SGA cannot be expanded. But if the SGA is never increases to the value of sga_max_size, then the memory is wasted. Reserved for no reason.

4.
Reduce oracle per thread/connection stack size from default. Oracle supplies the ORASTACK utility to allow customers to modify the default stack size of a thread / session when created in the Oracle executable.
See section c) Altering the way Oracle creates per session memory structures in Note 46001.1

5.
Change the connection model from dedicated to shared server. (formally known as MTS) Switching to Shared server should allow for more scalability. See Note 1005259.6 Shared Server (MTS) Diagnostic

References

Note 161549.1 - Oracle Database Server and Networking Patches for Microsoft Platforms
Note 342443.1 - 10.2.0.x Oracle Database and Networking Patches for Microsoft Platforms
Note 5108234.8 - Bug 5108234 - Win: High memory (virtual bytes) consumption per connection in 10.2

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/110321/viewspace-618028/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/110321/viewspace-618028/

在Java中,当你读取一个JAR文件时出现"error in opening zip file"错误,通常表示该JAR文件已损坏或无效。这可能是由于文件下载中断、传输错误或文件本身的问题引起的。为了解决这个问题,你可以尝试以下几个步骤: 1. 确保你的JAR文件完整且没有损坏。你可以尝试重新下载该文件并替换原始文件。可以使用文件管理器或下载管理器来确保文件已经完全下载。 2. 检查文件路径是否正确。确保你的路径和文件名正确无误,并且可以正确访问该文件。你可以使用终端或命令提示符来检查路径是否正确。 3. 你还可以尝试重新安装该JAR文件到你的Maven仓库中。根据你提供的引用内容,你可以使用以下命令将JAR文件安装到Maven仓库中: mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=D:\maven\maven_repository\com\oracle\ojdbc14\10.2.0.4.0\ojdbc14-10.2.0.4.0.jar 确保命令中的文件路径和文件名与你的实际情况匹配,并且在执行命令时没有出现任何错误提示。 4. 如果问题仍然存在,你可以尝试在你的项目的pom.xml文件中添加对该JAR文件的依赖。根据你提供的引用内容,你可以在pom.xml文件中添加以下依赖项配置: <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.4.0</version> </dependency> 确保pom.xml文件中的依赖项配置与你的实际情况匹配,并且在运行项目时没有出现任何错误提示。 通过以上步骤,你应该能够解决"error in opening zip file"错误并成功读取你的JAR文件。如果问题仍然存在,请确保你的JAR文件没有其他问题,并尝试与相关技术支持团队或论坛寻求帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值