当前位置:  数据库>oracle

配置tnsping跟踪来诊断Oracle Net连接

    来源: 互联网  发布时间:2017-06-04

    本文导语: 用客户端连入Oracle服务器的主要方法。从组件相关方角度看,Oracle Net连接过程涉及到很多的技术和过程,例如客户端连接方式、连接字符串、监听器行为和数据库实例。 一般我们都是借助Oracle Client(非JDBC)的OCI接口方式进行O...

用客户端连入Oracle服务器的主要方法。从组件相关方角度看,Oracle Net连接过程涉及到很多的技术和过程,例如客户端连接方式、连接字符串、监听器行为和数据库实例。
 
一般我们都是借助Oracle Client(非JDBC)的OCI接口方式进行Oracle连接,配置本地连接名local name。一旦连接过程出现错误,我们的诊断策略也是从外到内,从客户端到服务器逐步诊断。

不同用户下使用tnsping+客户端服务名,结果不同

Oracle中tnsping命令解析

1、Tnsping简述

Tnsping是Oracle提供的诊断连接动作的重要方法。我们在客户端上使用tnsping xxx(本地连接名),可以快速的定位连接过程中错误,进行问题判断。从功能上看,tnsping能够帮助我们解决几个方面问题:
 
ü  本地Oracle Net配置文件解析:sqlnet.ora、tnsname.ora是我们客户端最重要的两个配置文件。由于历史的原因,Oracle基础配置文件很多是文本格式,Oracle Net三个核心配置文件尤其如此。netca等配置工具也只是一个文本文件写入读取功能。很多朋友进行配置的时候,图简单直接进行文本复制黏贴,容易引起问题故障。tnsping可以模拟连接过程,对配置文件中的名称进行预解析,如果存在格式错误,解析必定失败;
 
ü  服务器端监听器状态诊断:在远程连接数据库服务器的时候,监听器是一个不能回避的组件。tnsping是可以进行网络访问判断的,如果监听器没有运行、或者没有在指定的端口上运行,tnsping是可以做出判断提示信息的;
 
ü  注册服务有限验证:在本地连接名称中,服务名、主机名、监听器伺候端口、连接协议是连接信息的几个要素。服务名是tnsping不能验证的对象,也就是说。如果监听器注册信息(动态注册、静态注册)中不存在连接的服务名,tnsping是不会报错的;
 
C:Documents and Settingsliuzy>tnsping chdb

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 12-5月 -

2014 17:58:21

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

已使用的参数文件:

D:appAdministratorproduct11.2.0client_1networkadminsqlnet.ora

已使用 TNSNAMES 适配器来解析别名

尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.4.53)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = chdb)))
 
OK (30 毫秒)

对于tnsping,我们除了最后的结果信息之后,还可以使用跟踪trace方法,查看每个步骤执行情况,以及在哪个步骤出现问题。本篇就介绍如何从客户端进行tnsping过程跟踪。
 
2、配置跟踪参数

默认情况下,tnsping跟踪功能是关闭的。我们需要在Oracle Net配置文件sqlnet.ora中进行手工的配置。注意:配置是在客户端,我们执行tnsping命令也是在客户端进行。
 
--客户端sqlnet.ora,位置$ORACLE_HOME/network/admin

# sqlnet.ora Network Configuration File: D:appAdministratorproduct11.2.0client_1networkadminsqlnet.ora
 
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to

# install "Software Only", this file wont exist and without the native

# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

 

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

 

TNSPING.TRACE_LEVEL=SUPPORT

TNSPING.TRACE_DIRECTORY=D:appAdministratorproduct11.2.0client_1networktrace
 
 

最后的tnsping.trace_level和tnsping.trace_directory标注了tnsping的跟踪级别和跟踪文件存放目录。和其他Oracle跟踪操作相同,tnsping也支持不同跟踪级别粒度,可以依据我们的目的不同进行调整。
 
目前我们trace_level可选的参数有:off、user、admin和support。在实验中我们选择了support级别,属于比较细的跟踪粒度。

trace_directory是指定跟踪目录位置。跟踪文件名称统一为tnsping.trc。

 

3、执行跟踪过程

 

使用tnsping连接一个本地连接名cogdb。

 

C:Documents and Settingsliuzy>tnsping cogdb

 

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 08-5月 -

2014 12:17:43

 

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

 

已使用的参数文件:

D:appAdministratorproduct11.2.0client_1networkadminsqlnet.ora

 

已使用 TNSNAMES 适配器来解析别名

尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.3.101)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = cogdb)))
 
OK (30 毫秒)

在指定目录中,我们可以看到生成的跟踪文件。

D:appAdministratorproduct11.2.0client_1networktrace

tnsping.trc

下面就是对跟踪文件的解析。

更多详情见请继续阅读下一页的精彩内容:


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 求xmanager3.0 配置root用户,连接redhat linux 6.0 配置文档
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • 连接配置信息的放置问题!
  • xmanager连接linux as 5.0的配置问题
  • Fedora12下如何配置无线网络连接呀?
  • 用jdbc连接数据库是如何配置odbc
  • tomcat连接sql server如何配置环境?
  • 高分求助:如何监测iptables配置的透明网关的内部网连接状态?
  • 请问各位大虾在PB(v7.0)下跟informix数据库(v6.05)连接该如何配置?
  • 如何在tomcat中配置jdbc连接,有人说不用配置,可是不成功
  • 请问Linux上的动态连接库要如何配置?(急)
  • unbuntu8.10源配置老是连接不了
  • 请问:我在win2000下装了一个vMware4.5,又装了一个linux9.0,可是不会配置网络,我的虚拟机已经配置好了桥连接,可是在linux下我不知道
  • vm配置linux虚拟机,连接外网问题
  • 如何配置Linux下的宽带连接?
  • 配置mysql允许远程连接的方法
  • c# 连接access数据库config配置
  • 关于配置weblogic连接池的问题??
  • LINUX7.3怎么配置和修改IP网关连接服务器?
  • 建数据库连接池时,属性文件如何配置?或是放在哪里
  • C++ Strings(字符串) 成员 get_allocator():返回配置器
  • LINUX如何配置网卡,配置TELNET,急!在线等待!
  • C++ MultiMaps 成员 get_allocator():返回multimap的配置器
  • liunx下配置axis2的环境变量怎么配置
  • C++ Lists(链表) 成员 get_allocator():返回list的配置器
  • centos配置JAVA运行环境在配置JK时出错
  • C++ Maps 成员 get_allocator():返回map的配置器
  • 高分求救!!!怎样在linux下配置tomcat文件?同时配置sqlServer数据库?
  • C++ Double Ended Queues(双向队列) 成员 get_allocator():返回双向队列的配置器
  • EJB配置好了,下次启动weblogic的时候还需要重新配置吗


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,