v9.0.6.1665 serious performance issue with DBMS_OUTPUT.PUT_LINE

WexSoft

Member³
Hi Folks

I recently upgraded to v9.0.6.1665, and now I notice a serious performance issue with scripts that contain DBMS_OUTPUT.PUT_LINE. Although the script runs within a few hundreths of a second, it takes about 1 second per 100 lines of dbms_output before the entire PL/SQL Developer program is accessible again i.e. it locks up the entire program, not just the window in which the script is run. If a lot of lines are written to the dbms_output buffer, you just have to kill the program using task manager.

Here is a sample script to recreate the problem - load this into a SQL window and execute - it should run within a few hundreths of a second (per the status line), but for me it locks up the entire program for about 20 seconds:

DECLARE
lv_count NUMBER := 0;
BEGIN
WHILE lv_count < 2000 LOOP
dbms_output.put_line('Counter='||TO_CHAR(lv_count));
lv_count := lv_count + 1;
END LOOP;
END;
/

Can you recreate this issue?

Best regards

Billy
 
Hi,

I have tested your sample on my machine and I noticed a small lock up of only 1 or 2 seconds...

Kind regards,

Roeland

v9.0.6.1665
Win7 32 bit
Oracle 10.2.0.4
Oracle Client 11.2
 
Hi Roeland

Thanks for your reply. Have you tried increasing the counter in the loop to say 20,000 to see if it gets worse?

Best regards

Billy

Win XP SP3 (32 bit)
Oracle 10.2.0.4.0
Oracle Client 10.1 (I think!)
 
It seems to be network related:

on a database in local LAN it's about 1 or 2 seconds
on a remote database with tnsping of 70 ms , the above takes about 50 seconds...
 
Back
Top