http://forums.oracle.com/forums/thread.jspa?threadID=613450

Oracle的通信协议TNS对不完全对外公开的,只用成为oracle的合作伙伴并向oracle支付一定的费用才能使用。

Jonah H. Harris对oracle的通信协议进行了深入的研究,致力于解析oracle通信协议,实现一个自己的oracle驱动。

他在个人站点 http://www.oracle-internals.com 发表了一些文章介绍。

作者自己也是通过抓包分析来了解TNS协议的。

--------------------------------

Oracle's wire-level protocol is proprietary and not publicly documented. The only way to get a hold of the official specification is to become a partner and pay (what I've heard is) about $100K US for access to it. If you want to research the protocol yourself, there are several online sources of information if you can get the Google keywords just right.

If you're looking for starting information, you can find basic protocol information in David Litchfield's Oracle Hacker's Handbook . If you're looking for a bit more detailed code, you can find dissectors for Oracle's protocol from the Wireshark project (formerly Ethereal) at:

For TNS (Transparent Network Substrate):
http://anonsvn.wireshark.org/wireshark/trunk/epan/dissectors/packet-tns.c
http://anonsvn.wireshark.org/wireshark/trunk/epan/dissectors/packet-tns.h

For TTI (Two-Task Interface):
http://anonsvn.wireshark.org/wireshark/trunk/epan/dissectors/packet-sqloracle.c
http://anonsvn.wireshark.org/wireshark/trunk/epan/dissectors/packet-sqloracle.h

The Wireshark TNS dissector is fairly complete, but the TTI one is far from it.

FYI, I started researching the Oracle protocol in 2001 and now know enough about it to write my own wire-level driver. While I won't release the code to it, in the next couple months you can visit my soon-to-be-fixed website (http://www.oracle-internals.com/ ) for more information on the basic protocol.

Also, if you happen to attend IOUG's COLLABORATE 08, I'm actually presenting on this topic in particular. The session information resides below:

--- 
381: Listening In: Passive Capture and Analysis of Oracle Network Traffic
http://iougew.prod.web.sba.com/displaymod/detailevent.cfm?conference_id=52&event_id=1666

In this presentation we will discuss and demonstrate the methods for passively capturing, analyzing, and reporting the details of Oracle network traffic in real-time for use in end-to-end Oracle tuning and troubleshooting scenarios.

In cases where very short response time requirements must be met, or where sporadic spikes in response time occur, the most reliable way to tune and troubleshoot them is by capturing Oracle's Ethernet traffic, analyzing it, and reporting on various aspects of it. Throughout this session we will demonstrate the passive capture of SQL statements, their frequency, time spent in execution, number of roundtrips, and all relevant response times.

Using the data from these reports can not only assist DBAs in diagnosing network-related issues and in tuning Oracle's network settings, but also ensure that application developers are writing performant, network-friendly database access code.

oracle通信协议TNS的说明相关推荐

  1. oracle 远程tns配置

    oracle 远程tns配置 BYRUIY =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rui-oracle11g)(PORT = 1521)) ...

  2. oracle查询tns信息,懂得oracle tns

    当前位置:我的异常网» 数据库 » 懂得oracle tns 懂得oracle tns www.myexceptions.net  网友分享于:2015-08-26  浏览:32次 了解oracle ...

  3. oracle数据库tns配置方法详解-转

    TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,(可以用sqlDeveloper,不用配置TNS) ...

  4. linux下如何判断oracle数据库tns是否设置正常

    配置完成后,切换到oracle用户: su - oracle 在oracle用户下执行tnsping 服务名(service_name)->这里指的是tnsname文件里的service_nam ...

  5. oracle之TNS:无监听程序解决办法

    先说问题:最近在服务器安装了oracle 11g,建了表之后想测试一下,但是连服务器数据库的时候,老是报TNS:无监听程序.然后我在服务端能够正常登录,我自己电脑也是装了oracle的,用服务端连接自 ...

  6. oracle 新建TNS监听,oracle for windows 监听问题之TNS-12545

    操作系统版本:windows server 2012R2 数据库版本:oracle 11.2.0.1 问题描述:在一vmware虚拟机上搭建的windows server 2012R2,然后在wind ...

  7. Oracle “TNS-12535: TNS: 操作超时“故障的解除。

    系统环境:OEL6.5_x86 数据库版本:Oracle 11g 11.2.0.3.0 客户端环境:Windows7 旗舰版 x86_64 一.[故障现象] 在客户端安装完毕"Oracle ...

  8. Oracle TNS-12535: TNS: 操作超时

    当我们在做一个大型项目时,一般习惯于把数据放在一台机子上,其它机子去连接这个服务器即可.在一台机子上存储oracle数据,别的机子通过toad来连接就行,形成数据的共享.但是经常会碰到 "T ...

  9. oracle的tns错误,Oracle TNS-12514错误的解决步骤

    远程客户端操作数据,发现无法连接到oracle,查看listener.log有 19-JAN-2017 14:44:37 * (CONNECT_DATA=(SERVICE_NAME=orcl)(CID ...

最新文章

  1. CSS3关于过渡效果的问题
  2. 很好的理解梯度 散度 旋度 下三角运算 费曼物理讲义
  3. 数据倾斜的原因和解决方案
  4. Di-visible Confusion 贪心,模拟,思维,时间复杂度
  5. 错误HIERARCHY_REQUEST_ERR: DOM Exception 3
  6. apache 修改服务器配置,Apache服务器配置全攻略
  7. snmp获取交换机日志_日志审计系统和数据库审计系统的区别
  8. Express使用nodemailer完成邮箱验证功能详细流程(含封装,可作自定义模块)
  9. Android 系统性能优化(12)---MTK 平台UX性能分析方法
  10. 分段函数返回字符c语言,C++对cin输入字符的判断及分段函数处理方法示例
  11. 简单选项卡切换(一)
  12. 安卓Android资源链接失败,Android资源链接失败
  13. Percona5.6.15线程池压力测试
  14. 怎样成为一名优秀的运维工程师
  15. 【MySQL数据库教程天花板】
  16. Linux系统简介、安装RHEL7系统、RHEL7基本操作
  17. 《洞见》罗伯特·赖特
  18. 你的奋斗也许只是一个屁
  19. 使用table标签制作常用的html表格
  20. alt在计算机中代表什么,计算机中alt+enter是什么快捷键

热门文章

  1. 蓝桥杯每日积累-打破算法壁垒,攻略2n皇后问题
  2. vscode报错 [Code安装似乎损坏。请重新安装]
  3. 中国数据治理现状调研报告(2021)
  4. 网络工程师日常工作总结
  5. 社区老年人服务系统设计与实现(安卓APP+SSH后台+MYSQL)
  6. 有效减小虚拟机占的内存
  7. java学习基础课(渡一教育)(一)
  8. 各大厂软件测试面试题+答案纯干货
  9. 计算机英语mask,英语单词mask怎么读,mask的音标是什么,mask是什么意思 - 音标网
  10. matlab 更新数据刷新图