Oracle Listener的TNS 12502错误
每隔几秒钟listener日志中就出现一次该错误的记录,即使是在没有人使用的情况下也是如此,不过并没有发现客户端机器不能正常连接数据库的情况。
Oracle关于TNS-12502错误的解释:
Error: ORA-12502 / TNS-12502
Text: TNS:listener received no CONNECT_DATA from client
Cause: No CONNECT_DATA was passed to the listener.
Action: Check that the service name resolved from TNSNAMES.ORA has the CONNECT_DATA component of the connect descriptor.
根据Oracle的说法分析,只有在TNSNAMES.ORA文件中不包含CONNECT_DATA时才会出现此问题。 但实际上当我们通过一些网络工具或HA工具等监测listener端口的时候,日志中就可能会记录该错误。以下是一个模拟的示例,在客户端通过telnet数据库服务器的1521端口测试连通性:
C:>telnet 172.16.30.11 1521
此时在日志中就会记录如下信息:
TNS-12502: TNS:listener received no CONNECT_DATA from client
10-NOV-2009 13:11:03 * 12502
TNS-12502: TNS:listener received no CONNECT_DATA from client
10-NOV-2009 13:11:13 * 12502
TNS-12502: TNS:listener received no CONNECT_DATA from client
10-NOV-2009 13:11:22 * 12502
TNS-12502: TNS:listener received no CONNECT_DATA from client
假如客户端都很正常的话,此类错误可以忽略不计,因为它并未影响到具体的应用。
相关文档:
关于SGA设置的一点总结
本总结不针对特例,仅对服务器只存在OS + ORACLE 为例,如果存在其他应用请酌情考虑
写这个也是因为近来这种重复性的问题发生的太多所导致的
首先不要迷信STS,SG,OCP,EXPERT 等给出的任何建议、内存百分比的说法
基本掌握的原则是, data buffer 通常可以尽可能的大,shared_pool_size 要适度 ......
1、查找表的所有索引(包括索引名,类型,构成列):
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表
2、查找表的主键(包括名称,构成列):
select cu.* from user_cons_columns cu, user_constr ......
Oracle数据库的数据块DB_BLOCK_SIZE大小确定数据库的最小数据块的大小,在创建表空间时可以如果不想使用默认的数据块大小,可以通过设置自己的数据块大小。
具体实例如下:
create tablespace test_16k
bloc ......
Oracle TNS简述
什么是TNS?
TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,当然在少数情况下,不用配置TNS也可以连接Oracle数据库,比如通过JDBC.如果通过TNS连接Oracle,那么客户端必须安装Oracle client程序.
TNS有那些配置文件 ......