pls-00123 program too large

pklosky

Member
When we try to compile some code with pl/sql developer, it yields:

pls-00123 program too large

However, when we run it with the Oracle provided sqlplus utility, it compiles.

Thanks for providing pl/sql developer. We, as a company, are proud to have invested our money in it. Now, we are trying to learn how to use it and also to find out how to get responses from the vendor when we find trouble with the tool pl/sql developer tool itself.

Looking forward to any comments you may have,

Peter Klosky
 
Marco,

Thanks for the prompt response. As you suggest, we will try disabling the debugger to see if that yields an improvement in our situation.

Peter
 
This problem can occur because the "Add debug information when compiling" preference causes additional symbol information to be stored with the object code. Therefore this workaround may apply.

------------------
Marco Kalter
Allround Automations
 
Marco,

Thanks for the information. We tried abandoning the debug capability of your product as you suggest. You are correct; at least now we can get the code passed on to Oracle without issues based on what we now understand to be the extra code your product adds to the code we write. Do you have any general comment as to how limiting the debug feature of your product is to our code, in terms of code expansion? Based on our observation, the increase in code size is roughly ten or one hundred times the original code size when your debugging is enabled. Is this observation consistent with your design and testing of this feature, that your PL/SQL Developer product limits us to somewhere between 1% and 10% of what sqlplus would allow?

Again, we appreciate your assistance and are still hoping that using debug is possible for code sections larger than a few lines. Our modules are on the order of 4 to 8 thousand lines and includes references to objects and methods.

Peter
 
It is not my experience that the size increases that much, or that it limits you in any way compared to SQL*Plus. If the code size increases by a factor 100, then this would be extreme. I did some tests, and only noticed a few percent increase.

Note that adding debug information is not really a PL/SQL Developer feature, but rather an Oracle feature. You can simply execute the following SQL to add debug information:

SQL> alter package compile debug body;

To remove it:

SQL> alter package compile body;

Can you double-check the code size increase like this? Maybe there is a problem regarding debug information with specific aspects of your packages, or with your Oracle Server version in general.

------------------
Marco Kalter
Allround Automations
 
Marco,

Thanks for explaining the details of the debug feature. I now understand you to say that pl/sql developer simply provides a debug argument to Oracle. In this case, we should be able to reproduce our problem with "program too large" by using sqlplus with the arguments you mention. I was loboring under the mis-understanding that pl/sql developer itself provided code itself to support debugging. In a little more detail, how does pl/sql developer indicate to Oracle that a particular breakpoint should be respected during execution? I am now thinking that there is no "breakpoint code" that pl/sql developer inserts, but rather an Oracle feature to support it. What can you tell me?

Peter
 
PL/SQL Developer does not modify your PL/SQL code in any way. Not for the debug information, and not for breakpoints.

Breakpoints are part of the Oracle Debug API. You can execute a PL/SQL Block or SQL statement in debug mode, and control its execution by stepping into/over lines, setting breakpoints, retrieving call stacks, and so on.

------------------
Marco Kalter
Allround Automations
 
Back
Top