oracle listener troubleshooting 小结

标签: oracle listener troubleshooting | 发表时间:2013-11-04 05:11 | 作者:royjj
出处:http://blog.csdn.net

监听诊断

1.tnsping的作用及适用场景:

检查tnsnames.ora文件中的连接串是否配置,或者配置是否符合语法。

根据执行tnsping命令所消耗的时间来诊断数据库的性能问题。

检查服务器端的监听是否启动。tnsping主要检查的是远程监听是否启动在相应的IP地址和端口上,并不检查监听中的实例服务和句柄(handle)。

 

2.跟踪客户端会话连接过程:

在客户端sqlnet.ora设置如下参数:

TRACE_LEVEL_CLIENT=16

TRACE_FILE_CLIENT=CLIENT

TRACE_TIMESTAMP_CLIENT = ON

TRACE_DIRECTORY_CLIENT=<path wheretnsping.trc will go>

应用场景:

定位客户端无法连接至数据库具体原因(如防火墙)。

跟踪结束之后,务必关闭以上参数!

 

 

3.跟踪本地sqlplus连接过程

跟踪服务器端sqlplus连接过程(AIX下):

truss -D sqlplus„/as sysdba‟

应用场景:

本地sqlplus无法连接至数据库

连接hang

 

4. 跟踪客户端tnsping连接过程

跟踪客户端tnsping过程,在客户端

sqlnet.ora设置如下参数:

TNSPING.TRACE_LEVEL =[OFF|USER|ADMIN|SUPPORT]

TNSPING.TRACE_DIRECTORY = <path wheretnsping.trc will go>

跟踪结束之后,注意关闭以上参数!

 

5. 跟踪监听处理过程

在HP-UX平台中,可以使用tusc命令跟踪

监听进程:

tusc -T hires -afpolsnr3.log <pid进程号>

应用场景:

监听连接缓慢,定位某一环节。

 

6. 客户端无法连接至服务端的故障处理思路

尝试登陆:

(1)客户端能tnsping通吗?能ping通吗?

(2)服务端sqlplus“sys/xxx@xxxas sysdba”可以吗?

(3)服务端sqlplus“/as sysdba”可以吗?

观察监听状态:

(1)执行lsnrctl status/service

(2)查看监听进程内存和CPU资源使用率

(3)查看listener.ora,sqlnet.ora,listener.log

尝试跟踪:

(1)客户端设置跟踪参数

(2)服务端跟踪sqlplus连接过程

查看数据库状态:

(1)检查主机资源消耗情况

(2)检查数据库等待事件:v$session_wait

(3)检查$ORACLE_HOME/bin/oracle权限和大小

 

7. $ORACLE_HOME/bin/oracle

为可执行文件,其权限为:

在服务端派生服务进程(通过tusc命令跟踪):

出现ORA-12547:TNS:lostcontact或者ORA-12537:

TNS:connectionclosed错误,应该首先检查

$ORACLE_HOME/bin/oracle文件

安装数据库软件时,如果缺包,那么该文件大小很可能为0

 

8. 监听优化思路

监听使用串行方法处理客户端连接,建议使用连接池。高并发的短连接可能会使监听CPU消耗100%。

尽量少使用dblink,这个也是性能杀手。

设置arraysize,减少客户端和服务端包传递次数。

调整操作系统的TCP的发送和接受缓冲区大小。如AIX的tcp_sendspace和tcp_recvspace

调整Oracle的TCP的发送和接受缓冲区大小。调整SEND/RECV_BUF_SIZE大小。

通过设置监听参数QUEUESIZE来提高监听处理的最大并发数。

增加监听来处理更多的并发数。比如在服务器端分别开设1521端口和1522端口的监听

注意监听日志大小,如4G限制。

作者:royjj 发表于2013-11-3 21:11:19 原文链接
阅读:117 评论:0 查看评论

相关 [oracle listener troubleshooting] 推荐:

oracle listener troubleshooting 小结

- - CSDN博客数据库推荐文章
1.tnsping的作用及适用场景:. 检查tnsnames.ora文件中的连接串是否配置,或者配置是否符合语法. 根据执行tnsping命令所消耗的时间来诊断数据库的性能问题. 检查服务器端的监听是否启动. tnsping主要检查的是远程监听是否启动在相应的IP地址和端口上,并不检查监听中的实例服务和句柄(handle).

Servlet、Filter和Listener

- - Web前端 - ITeye博客
Java Servlet是与平台无关的服务器端组件,运行于Servlet容器中(如Tomcat),Servlet容器负责Servlet和客户端的通信以及调用Servlet的方法,Servlet和客户端的通信采用“请求/响应”的模式. Servlet可完成以下功能:. 1、创建并返回基于客户请求的动态HTML页面.

SSL Troubleshooting and Reference Guide - CAS User Manual - Apereo Wiki

- -
This section contains the most often-cited SSL errors reported by the CAS server and CAS clients in typical CAS integration scenarios.. If the certificate is issued by your own PKI, it is better to import the root certificate of your PKI into the CAS client truststore.

Java中用Servlet Listener实现定时监听 (Timer、TimerTask)

- - C++博客-牵着老婆满街逛
    (1)实现 javax.servlet.ServletContextListener 接口的两个方法:contextInitialized()和contextDestroyed().     contextInitialized():当Servlet容器启动时会执行contextDestroyed():当Servlet容器停止时会执行.

web.xml 中的listener、 filter、servlet 加载顺序及其详解

- - 企业架构 - ITeye博客
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰.         首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关. 即不会因为 filter 写在 listener 的前面而会先加载 filter.

与IO相关的等待事件troubleshooting-系列5

- - CSDN博客推荐文章
        这是另一种常见的等待事件. 他产生于Oracle从磁盘读取多个块到Buffer Cache中非连续("scattered")缓存的时候. 这种读一次最大值是DB_FILE_MULTIBLOCK_READ_COUNT. 这种典型场景像全表扫描(Full Table Scans)和全索引快速扫描(Fast Full Index.

与IO相关的等待事件troubleshooting-系列3

- - CSDN博客数据库推荐文章
        使用Statspack类似的工具对数据库响应时间分析之后,已经表明与IO相关的等待事件限制了系统性能,有许多的方法可以判断这种问题.         接下来的章节会介绍排查等待事件的方法.         有一些方法可以不用管特定的等待事件. 在这个章节,会介绍和解释每个方法背后的概念和基本原理.

与IO相关的等待事件troubleshooting-系列2

- - CSDN博客数据库推荐文章
Troubleshooting步骤:. Troubleshooting与IO相关的等待:. 数据库性能调优方面一项关键的方法就是响应时间分析. 找出时间都花费在数据库的哪些环节. 时间是性能调优中最重要的属性. 用户通过交易或批处理任务的响应时间来感知系统的性能. Oracle的响应时间分析使用如下公式:.

与IO相关的等待事件troubleshooting-系列1

- - CSDN博客数据库推荐文章
近来XX应用充分暴露出开发人员最初只关心功能,未考虑性能的问题,夜维、OLTP应用均出现了不同程度的与数据库相关的性能问题. 这个应用所在磁盘的IO较差,原因在于这块磁盘较旧,已进入更换的流程,但短期内还不能更换,对应用是个极大的隐患. 而且也出现过某段时间IO非常差,导致应用处理速度非常缓慢. 针对与IO相关的性能问题,MOS有篇文章(223117.1)介绍的就是与IO相关的troubleshooting,拜读一下.

Oracle 收购 Ksplice

- feng823 - LinuxTOY
实现无需重启即可为 Linux 内核打安全补丁的 Ksplice 被 Oracle 收购. 在被收购前, Ksplice 为 Fedora, Ubuntu 免费提供该功能,对于 RHEL 和 CentOS 则需要订阅其产品. Oracle 表示将把 Ksplice 带来的零宕机安全更新功能添加到 Oracle 产品订阅服务中,同时停止对其他企业级 Linux 发行版的支持,将 Oracle Unbreakable Linux 打造成唯一具备零宕机安全更新功能的企业级 Linux 发行版.