oracle 经常出现12518,oracle错误TNS-12518解决
oracle错误TNS-12518解决
+++
系统环境:
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 16 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:7678M/8181M, Ph+PgF:9751M/10032M, VA:1938M/2047M
+++
症状:
系统设置processes=350 (sessions=390),但当会话数到250左右,新连接就会出现错误:TNS-12518: 监听程序无法分发客户机连接(CS客户端程序提示:未连接到oracle)……
相关讨论:
http://www.itpub.net/thread-1286246-1-1.html
http://www.itpub.net/thread-1285545-1-1.html
+++
联系oracle support,提供解决方案如下:
=== ODM Proposed Solution ===
1. Enable 4GB RAM Tuning (4GT)
OR
2. On Windows 2003 we can address more than 4gb of memory, via PAE and USE_INDIRECT_DATA_BUFFERS
OR
3. Decrease the size of the database SGA
OR
4. Reduce oracle per thread/connection stack size from default.
OR
5. Change the connection model from dedicated to shared server.
=== ODM Proposed Solution Justif ===
According to Note 371983.1 solution,
32-bit Windows Server 2003 (Enterprise and Data center editions) include a feature called 4GB RAM Tuning (4GT).
USE_INDIRECT_DATA_BUFFERS controls how the system global area (SGA) uses memory.
(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.
Oracle supplies the ORASTACK utility to allow customers to modify the default stack size of a thread / session when created in the Oracle executable.
Switching to Shared server should allow for more scalability.
+++
最终决定使用4. Reduce oracle per thread/connection stack size from default.
To implement the solution, please execute the following steps:
1. orastack executable_name new_stack_size_in_bytes
(Below are examples of setting the stack to 500K for the main executables :
orastack oracle.exe 500000
orastack tnslsnr.exe 500000
orastack svrmgrl.exe 500000
orastack sqlplus.exe 500000)
2. Retest the issue.
3. Migrate the solution as appropriate to other environments.
+++
修改前测试:
昨天修改processes=350,测试连接可以达到349,之前未报错,
怀疑单纯测试占用内存较低,无法重现错误
今天修改processes=450,测试连接
SE_QPR_Q
356362
报错:ORA-12518: TNS: 监听程序无法分发客户机连接
修改线程
关闭数据库及服务
修改系统线程
E:\oracle\product\10.2.0\db_1\BIN>orastack oracle.exe 500000
Dump of file oracle.exe
Current Reserved Memory per Thread = 1048576
Current Committed Memory per Thread = 4096
New Reserved Memory per Thread = 500000
E:\oracle\product\10.2.0\db_1\BIN>orastack tnslsnr.exe 500000
Dump of file tnslsnr.exe
Current Reserved Memory per Thread = 1048576
Current Committed Memory per Thread = 4096
New Reserved Memory per Thread = 500000
测试连接
SQL> select * from
2 (select count(*) as se_q from v$session) a,
3 (select count(*) as pr_q from v$process) b;
SE_Q PR_Q
---------- ----------
447 449
可以达到449,再连接则提示:ORA-12516: TNS: 监听程序无法找到匹配协议栈的可用句柄
(当前oracle.exe进程占用内存为1108928K)
增加线程,再测试连接
关闭数据库及服务
修改线程:
E:\oracle\product\10.2.0\db_1\BIN>orastack oracle.exe 2000000
Dump of file oracle.exe
Current Reserved Memory per Thread = 500000
Current Committed Memory per Thread = 4096
New Reserved Memory per Thread = 2000000
E:\oracle\product\10.2.0\db_1\BIN>orastack tnslsnr.exe 2000000
Dump of file tnslsnr.exe
Current Reserved Memory per Thread = 500000
Current Committed Memory per Thread = 4096
New Reserved Memory per Thread = 2000000
启动数据库及服务
测试连接
SQL> select * from
2 (select count(*) as se_q from v$session) a,
3 (select count(*) as pr_q from v$process) b;
SE_Q PR_Q
---------- ----------
237 239
可以达到239,再连接则提示:ORA-12518: TNS: 监听程序无法分发客户机连接
(当前oracle.exe进程占用内存为916620K)
+++
总结:
查看和修改oracle线程
1,查看oracle各线程方法:
主要线程如下:
oracle.exe
tnslsnr.exe
svrmgrl.ex
sqlplus.exe
修改方法:orastack executable_name
如:orastack oracle.exe
2,修改线程大小
各线程默认大小为1M,修改线程,不能小于300k.
orastack executable_name new_stack_size_in_bytes
如:
orastack oracle.exe 500000
orastack tnslsnr.exe 500000
orastack svrmgrl.exe 500000
orastack sqlplus.exe 500000
3,修改线程时必须要在%oracle_home%\bin目录下执行。
4,修改时,必须关闭相关服务
5,以下进程未修改成功,不论是关闭服务,还是打开服务时,原因不明。
E:\oracle\product\10.2.0\db_1\BIN>orastack svrmgrl.exe 500000
Couldn't open file with CreateFile()
GetLastError() == 2
E:\oracle\product\10.2.0\db_1\BIN>orastack sqlplus.exe 500000
Couldn't open file with CreateFile()
GetLastError() == 32
以上
转帖请注明:
oracle 经常出现12518,oracle错误TNS-12518解决相关推荐
- windows中Oracle服务连接不上错误排查及解决方法-实用
windows下Oracle连接不上问题排查思路 外部连接工具plsql,Navicat无法访问oracle数据库服务的排查思路 查看所访问oracle服务的所在服务器能否ping通,oracle服务 ...
- impala写入oracle,dataframe 写入 impala 语法错误,怎么解决?
dataframe写入impala出现语法错误,错误: Exception in thread "main" java.sql.SQLException: [Simba]Impal ...
- oracle数据库的基本错误,Oracle新手最常碰到错误及解决方案
1.ORA-12541:TNS:没有监听器 原因:没有启动监听器或者监听器损坏. 若是前者,使用命令启动监听:net start OracleOraDb10g_home1TNSListener(名字可 ...
- oracle中12523,【Oracle】静态监听导致的ORA-12523错误
今天配置完共享服务器模式之后发现登录过程中报错ORA-12523,排查错误之后发现是静态监听惹的祸.本机之上有两个监听,一个静态监 今天配置完共享服务器模式之后发现登录过程中报错ORA-12523,排 ...
- oracle客户端ora 12541,Oracle 11g 64bit下程序报ORA-12541: TNS: 无监听程序解决办法
开发环境: OS:windows 2008 R2 64bit Oracle: 11g R2 64bit Oracle Client: ODTwithODAC112021 (32 bit ) IDE : ...
- Oracle 错误总结及解决方法
ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常. ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 OR ...
- oracle12541无法连接,“Oracle 连接报错:ORA-12541: TNS: 无监听程序”解决方案
环境描述: Oracle数据库部署在远程机器虚拟机上,本地配置Oracle网络配置,通过PL/SQL连接数据库: 本地已经配置了Oracle Net Manager文件,但是测试后,连接不上Oracl ...
- oracle 12519,Oracle出现TNS-12520 TNS-12519连接错误处理
Oracle出现TNS-12520 TNS-12519 连接错误处理 TNS-12520 连接错误处理 今天巡检客户数据库时,发现有个taf自动offline,手工启动后,再过一段时间又自动offli ...
- oracle连接 无监听程序,“Oracle 连接报错:ORA-12541: TNS: 无监听程序”解决方案 | 学步园...
环境描述: Oracle数据库部署在远程机器虚拟机上,本地配置Oracle网络配置,通过PL/SQL连接数据库: 本地已经配置了Oracle Net Manager文件,但是测试后,连接不上Oracl ...
- 以sysdba身份登录oracle报ORA-1031权限不足错误之完美分析
在linux 操作系统的数据库服务器上,使用"sqlplus / as sysdba" 登录Oracle 10.2 数据库实例时,登录失败,显示ORA-01031: 权限不足. ...
最新文章
- Ubuntu 系统 查看代码的方法在那些地方使用
- 这是一份不完整的数据竞赛年鉴
- 面向对象(内部类,static,包,访问修饰符,final)
- AFN post的数据编码格式问题
- springboot中DataSource数据源实例产生时机及所需环境
- JavaScript 数组 API 全解析
- 如何使用repo sync
- 老程序员如何避免沦落出局?
- 谈谈金融行业的开源风险管理
- UNIX 环境高级编程(四)—— dirent.h
- 计算机配件详情图解,电脑装机教程,详细教您怎么组装电脑
- ansys18安装教程_ANSYS|ansys18.0完整安装过程及常见问题解决方案「图文」
- 如何下载IEEE ACCESS模板
- confluence在CentOS Linux release 8.2.2004 (Core)上搭建过程
- (PC+WAP)绿色小学学校网站源码 pbootcms中小学教育培训机构网站模板
- UBUNTU学习笔记
- 如何构建创新文化——技术视角
- 狗头人与地下世界冒险模式通关记录 [20171224]
- html语言怎么在虚线中加字,html – 用CSS添加虚线spacer / infill
- EEPROM 24C02 24C64误换Debug