`
哇哈哈852
  • 浏览: 91512 次
文章分类
社区版块
存档分类
最新评论

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

阅读更多


用客户端连入Oracle服务器的主要方法。从组件相关方角度看,Oracle Net连接过程涉及到很多的技术和过程,例如客户端连接方式、连接字符串、监听器行为和数据库实例。

一般我们都是借助Oracle Client(非JDBC)的OCI接口方式进行Oracle连接,配置本地连接名local name。一旦连接过程出现错误,我们的诊断策略也是从外到内,从客户端到服务器逐步诊断。

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 Settings\liuzy>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:\app\Administrator\product\11.2.0\client_1\network\admin\sqlnet.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:\app\Administrator\product\11.2.0\client_1\network\admin\sqlnet.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:\app\Administrator\product\11.2.0\client_1\network\trace



最后的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 Settings\liuzy>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:\app\Administrator\product\11.2.0\client_1\network\admin\sqlnet.ora



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

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

OK (30 毫秒)

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

D:\app\Administrator\product\11.2.0\client_1\network\trace

tnsping.trc
  • 大小: 26.6 KB
分享到:
评论

相关推荐

    tnsping命令解析

    tnsping命令作为Oracle网络诊断工具之一,为数据库管理员提供了简单而有效的方法来检查客户端与远程数据库之间的网络连接状况。通过tnsping,不仅可以验证服务名解析的正确性,还可以检测监听器的状态,从而确保...

    oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法

    错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...

    Oracle数据库-TNS连接

    Oracle数据库-TNS连接是Oracle数据库系统中用于网络通信的关键组件,它允许客户端应用程序与服务器端的数据库进行交互。TNS,全称为Transparent Network Substrate,透明网络子结构,是Oracle数据库提供的一种网络...

    如何正确oracle配置tnsname.ora文件

    如果不能连接到数据库,则在 `tnsname.ora` 文件中的网络服务名(net service)后面加上 Oracle 数据库的 `DB_DOMAIN` 参数值,通过用 `sqlplus> show parameter db_domain` 命令察看。此处 `db_domain` 参数值为 `...

    oracle TNS配置方法

    oracle TNS配置方法 大家可以仿照里面来进行配置

    plsql不装oracle直接连接数据库client

    接下来,我们来看看如何在没有完整安装Oracle的情况下配置PL/SQL Developer连接到Oracle数据库。首先,你需要下载并安装Oracle的客户端软件,例如这里的Oracle9iClient。这个客户端包含了连接Oracle服务器所需的网络...

    oracle配置数据源

    如果配置过程中遇到连接失败的情况,特别是出现错误代码12541(TNS无监听程序),可以尝试以下方法: 1. **检查监听器配置**: - 使用Net Configuration Assistant的“监听程序配置”功能,重新配置监听器。 2. *...

    Oracle导dmp出现文件ORA-12154 TNS 无法解析指定的连接标识符解决方案

    首先,可以通过`tnsping`命令来测试TNS连接是否正常。正确的命令格式如下所示: ```bash tnsping ``` 例如,如果你的服务名为`ORCL`,则命令为: ```bash tnsping ORCL ``` 如果成功,你会看到类似以下的输出:...

    通过oracle客户端配置TNS测试报错问题

    - 配置正确后,可以使用`tnsping`命令来验证配置的有效性。 3. **监听服务状态**: - 使用`lsnrctl status`命令检查Oracle监听器(Oracle监听器是Oracle数据库服务器上的一个进程,负责接受客户端连接请求并转发...

    oracle新建数据库和连接配置步骤

    接下来,我们转向连接配置步骤: 1. **编辑init.properties文件**:这个文件是初始化参数文件,用于设置数据库启动时的一些参数。通常位于$ORACLE_HOME/dbs目录下,名为`init<sid>.ora`,其中`<sid>`是数据库的SID...

    Oracle TNS简述

    TNS( Transparent Network Substrate)是 Oracle Net 的一部分,主要用于管理和配置 Oracle 数据库与客户端之间的连接。通常情况下,为了确保客户端能够与数据库顺利通信,需要正确配置 TNS。然而,在某些特殊情况...

    本地连接远程oracle服务器需要的配置文件

    为了能够本地连接到远程Oracle服务器,你需要正确的配置文件和工具。在这个场景下,"oci.dll"和"sqlplus"是两个至关重要的组件。 oci.dll是Oracle Call Interface(OCI)的动态链接库,它是Oracle数据库与应用程序...

    oracle配置文件tnsname

    - `listener.ora` 文件用于配置监听器,监听器是负责接收来自客户端的连接请求并将其分发给合适的 Oracle 服务器进程的组件。如果未使用远程连接,则可能不需要监听器;即使关闭监听器,也不会影响已建立的数据库...

    oracle TNS 配置示例(tnsnames)

    总结来说,Oracle TNS配置是数据库管理员和开发人员必备的技能之一,`tnsnames.ora`文件的正确配置能确保顺利地连接到Oracle数据库。了解并熟练掌握TNS配置不仅能提高工作效率,也是解决网络连接问题的关键。通过...

    oracle TNS配置

    ### Oracle TNS 配置详解 #### 一、Oracle TNS 概述 在 Oracle 数据库环境中,TNS(Transparent Network Substrate)是用于连接客户端应用程序到数据库服务器的关键组件之一。它提供了一种透明的方式,使得客户端...

    Oracle数据库监听器(LISTENER)和本地服务名(Tnsname)配置.docx

    本文主要介绍 Oracle 数据库监听器(LISTENER)和本地服务名(Tnsname)的配置,旨在帮助读者了解 Oracle 网络连接配置的主要组件和配置方法。 一、监听器(LISTENER) 监听器是 Oracle 基于服务器端的一种网络服务,...

    oracle tns 配置文件

    oracle tns 配置文件 按这样配置一定行的 oracle tns 很吹若的东西

    Oracle_TNS浅析.doc

    - **tnsnames.ora**: 客户端到服务器的连接配置。 - **sqlnet.ora**: 用于管理和约束或限制TNS连接的配置。 - **listener.ora**: 虽然主要位于服务器端,但在某些情况下客户端也需要配置。 #### 三、关键配置概念...

Global site tag (gtag.js) - Google Analytics