4 Replies Latest reply on Jan 23, 2015 1:18 PM by thatJeffSmith-Oracle

    Debugger TOAD vs. SQLDeveloper

    cpe

      Why is TOAD able to start a debugging session and SQLDeveloper always comes up with:

       

      ORA-30683: failure establishing connection to debugger

      ORA-12541: TNS:no listener

      ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68

      ORA-06512: at line 1

       

      Same client, same OCI driver, same host, same database, same login, same procedure.

       

      I don't get it.

       

      I have been told that SQLDeveloper requires a "backward connection" from the database to the client, which is prevented by some firewall settings in the company.....

       

      Ok, but why does TOAD not require this, where is the difference?

      Is there anything I can do to convince SQLDeveloper to do it just the same way (without having to convince a lot of people putting holes in firewalls)?

        • 1. Re: Debugger TOAD vs. SQLDeveloper
          thatJeffSmith-Oracle

          Because they use an older pl/sql debugger API, DBMS_DEBUG

           

          We use a newer one DBMS_DEBUG_JDWP

           

          It has more features and continues to be enhanced.

           

          You'll need to work with your dba and network admins to open ports on the database server so it can reach your dev boxes.

          • 2. Re: Debugger TOAD vs. SQLDeveloper

            Here's some additional info to follow on what Jeff already said

            http://www.thatjeffsmith.com/archive/2014/02/how-to-start-the-plsql-debugger/

            It all comes down to can your database server initiate a connection back to where SQL Developer is running. So first things first, can the server ping your machine, and is there a outbound firewall for TCP on the default debugger ports which start at 4000 or so.

             

            How External Application Debugging Works

            The Oracle PL/SQL Debugger starts when you select Start Oracle External Application Debugger from the Visual Studio .NET Tools menu. A dialog box appears and requests that you enter the TCP port for debugging. This must be the same TCP port number that you have provided for the defined mechanisms, the ORA_DEBUG_JDWP environment variable or the DBMS_DEBUG_JDWP package. The debugger listens on this TCP port.

            Have your DBAs read the first couple of sections of that if they need to.

            • 3. Re: Debugger TOAD vs. SQLDeveloper
              cpe

              Dear and Jeff,

               

              thank you very much for the explanation, but to be honest, it is a nightmare to convince security and networking people to open up firewalls to make such a debugging connection working.

               

              Maybe there are enhanced features, but the more complex handling is a nightmare.

               

              Carsten

              • 4. Re: Debugger TOAD vs. SQLDeveloper
                thatJeffSmith-Oracle

                Email me privately at jeff.d.smith@oracle.com and I'll get you instructions for setting up the old debugger interface.