Toad for Oracle Kill Processing

Quest should really put some effort into a kill function so that processes that are stopped don't crash the entire system. I've lost track of how many times I've needed to kill a statement that then would not release and required shut-down through task manager. The document save helps, but it still loses work sometimes and when you have a lot of windows open you can lose your place when it all comes crashing down.

image

Hi Toad.

I know you are probably venting and didn't expect an actual Toad developer to read this, but that's who I am. An actual Toad developer. I put a LOT of effort into fixing bugs.

Which Toad version are you on? I fixed a bug like this in Toad version 15.0. Search for "cancel" on this page for details. There are 2 bugs on that page that may be relevant. If your case is different, please give me whatever details you can about how to reproduce it and I'll do what I can to fix it.

In the meantime, you might want to try using the threaded query option. That way your query executions aren't blocked by a popup cancel button. Instead you can just go to a different editor tab and keep working. To turn this on, go to Options -> Oracle -> Transaction. Check "Execute queries in threads".

-John

Hi, I'm currently on 16.2. The issue for me is pretty much same. Some queries simply will not stop once started and Toad will not release focus from the error message forcing me to kill Toad altogether if it chooses to never release. Sometimes it will quit if I walk away and come back later, but other times it's hung.

Why not allow that to become a background process rather than lock everything up? It's not the only client I work with, but I believe it's the only one that takes this approach. The only resolve is that sometimes I use Script Runner, but I don't always want my output because the grid isn't the same as the Toad editor. Also when you're coding you're not always thinking and you make the mistake of executing something that you wish you hadn't and there's no turning back with Toad sometimes.

I have a dissimilar issue with executing pl/sql scripts. They run for hours only to find out that they stopped processing, but Toad is still showing a running status. I started putting timestamps on my records so I could measure the time between inserts to see if/when the process would stop. I thought perhaps it was a system policy, but if that was the case why wouldn't Toad respond in kind to an idle/terminated process?

Anyway, that's my vent for today. Otherwise I generally like Toad.

image

Well, you're on a pretty recent version, so that's good.

Which Oracle client and server are you using? And can you tell me anything about the SQL that might help me reproduce it? I've tried to come up with SQL that just won't cancel w/o success. I've tried cartesian joins, "order by" on tables with millions of rows...everything I can think of. For me, it always cancels quickly.

Why not allow that to become a background process rather than lock everything up?

I could make the dialog go away, but whatever is waiting would still be waiting. So I don't think you'd be able to run any other queries, and I think the "hang" would just happen at some other step in the shutdown. I can't just move the hanging part to a thread. But there's room for improvement here. I could probably get you to a point were you could at least save everything before having to kill Toad. That's why I suggested "execute queries in threads" though. That would let you save everything.

They run for hours only to find out that they stopped processing, but Toad is still showing a running status.

So, in this case, they are just long-running procedures or just very long scripts with a lot of insert statements, or what? And, do you think that the session becomes disconnected, or there is some oracle error, or what? (OK, I know I just ended two sentences that way. Just trying to toss out ideas and realizing they are probably wrong.)

-John

I'm using Toad for Oracle to connect over a VPN to Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.11.0.0.0. The queries vary, but I can tell you the larger the tables and joins the more likely Toad will freeze if I need to kill it. I also use SQL Developer sometimes, but I haven't encountered issues with stopping queries that I can recall.

If I use Toad Script Runner it's not a problem because I can kill that. The window often freezes and I have to force it to close, but at least it runs as a separate process and doesn't tie up the main editor. That's generally how I avoid the problem, but sometimes I want to run something in the Toad editor.

The pl/sql runs long because they are often cursors processing over a large number of records and in some cases I'm hitting production tables so things can slow down. The tables can be in the hundreds of millions to billions at times. I have brought the matter up to our DBAs before, but haven't pursued further discussion about it. It would require monitoring the process so I would have to coordinate with them to see what's happening on the server. Toad however seems to think it's still running even when no records have been processed for over an hour or more. There's no error which is why the whole thing is a mystery.

I use to think maybe it was just taking a long time to complete, but when I monitor the transactions it looks dead so I usually have to kill and start it again. If you have any other suggestions I'm all ears. Thanks for the info.

I experience this behavior often myself and have just come to live with it. (Toad 16.3; Instant Client 19.6; EE 19.20) I'm also on a VPN, often connected to multiple schemas; complex SQL.

VPN seems to be a common thread when I hear about this. We have a VPN but I have never been able to reproduce the problem through ours. :frowning:

Same problem here. I do not think VPN would be the issue. This started with recent versions of Toad. I am wondering if there is an option to download the previous versions of Toad which are more stable.

@jagandudala Did you use the same Oracle client when you used older versions of Toad?

I am right now on Oracle Client: Version 21.3.0.0.0 and it is the same.

I have people on the team using 19c client and facing same issue:(

Ok, but that doesn't tell me what I was really wondering.

You said "This started with recent versions of Toad". I don't think it did, so I am wondering if you changed Oracle client versions when you changed Toad versions.

The latest Oracle client isn't necessarily the best. For example - with Oracle client version 19c and newer - client leaks memory when you select from a table with LOBs. You can see this with any version of Toad. Change to an 18c or 12cR2 client and there is no memory leak.

Yes, you are right. It was bad since we started moving to Client version 19 and above. but it was not this bad. now it is un-usable. Toad freezes when I double click, format or even run a script. and it stays frozen for like 2-5 mins every time. I feel SQL Developer does a better job. Personally, I just love the formatter tool in Toad and that keeps me on toad. I have other team members who are not very comfortable with SQL Developer and they keep asking for the help when this turns annoying :frowning:

I recently moved to Windows 11 on a new PC. So everything is latest on my machine. Do you think I should go back to older client and I will still be fine ?

Toad freezes when I double click, format or even run a script. and it stays frozen for like 2-5 mins every time.

This is a different issue than what OP was talking about. But try this:

  1. If the navigator is visible, right-click on it, then choose "Navigator Options" and uncheck "Show References"


  2. Right-click here and choose "Close simple navigator"

  3. If you have minimap visible, right-click to turn it off.

Thank you, John,

I will try out these changes and see if this helps. I will create a different thread as I try this out.

~Jagan

No. I run on windows 11 and it's fine. If you have hangs/freezes when running SQL that you didn't have before with an older Oracle client, you might try the older Oracle client again though.

Let me know if the steps above help with the script-editing freezes. If not, please follow these steps to turn on freeze detection and give me the error log of when it freezes for 2-5 minutes.

Created a separate thread for my issue: Toad For Oracle 16.3.231.2085 - Freezes - Toad for Oracle - Toad World® Forums

There's just no warning with Toad. Once Toad has hung there's no way out but to kill it and hope you didn't lose your work.

image

If we know something is going to take a long time, we usually do warn you, or give you the opportunity to cancel it. What you found is either a bug or some long running query. How can we warn you if you are about to experience a bug? No software does that.

If you can tell me steps to reproduce it or get me a call stack as described below, I'll fix it if I can.

To diagnose, follow these steps to turn on freeze detection , and post the output here.

If your issue is a hung query or lost connection, I have found this process helpful to get out of the "Not responding" state:

Click the X to close Toad. Don't worry - If Toad is not responding at this point, it won't actually close.

Then you should get this dialog, with the "try to restore" option.
image

Click "Try to restore the program". It actually works. Toad will realize that the connection is lost, it will come out of the "Not Responding" state, and Toad won't close. Then you can click Session -> Test/Reconnect to reconnect to the database.