Search code examples
c#roraclerodbc

"Malformed Packet: TNS" retriving data from Oracle database



I seek for help on an issue where I observe a massive amount of "malformed packet: TNS" (observed with wireshark version 1.12.06) while selecting data from an "Oracle Database 12c Release 12.1.0.1.0 - 64bit Production".
I can select the data, but the performance is misserable slow. I can reproduce this with an c# application using oracle .net driver, from within R using RODBC and from the sqlplus command. However, using the Oracle SQL Developer studio seems to not produce this malfomred packets on the network and, hence, the performance is as I would expect.
The background of my question is the fact that the performance of SELECT was very very poor. I observed that the workstation was retriving data at 10 Bit/s and sending data with 6 MBit/s doing an SELECT . This turned my attention to the network layer. I admit that I am new to oracle an i needed some time to figure out what driver needs to be insalled. Further I did uninstall oracle drivers several times and can not exclude the possibility that my setup is somehow broken. I do not want to configure tnsnames.ora, instead I want to configure the clients using connectionstrings and EZCONNECT.
I appreciate any help how to further debug this issue.

Thanks Jan


Solution

  • The TNS (SQLNet) protocol changed from 11g to 12c.

    Wireshark 1.x sees all 12c+ packets as malformed.

    As a test, I ran tshark 1.12 against an 11g database connections, and everything appeared as it should.

    I built Wireshark 2.6 to work with Oracle, and that mostly works correctly.

    Connect Packets still show as malformed. There is an open bug for that issue:

    https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=15727