DBAsupport.com Forums - Powered by vBulletin
Results 1 to 4 of 4

Thread: PACKAGE SIZE

  1. #1
    Join Date
    Nov 2000
    Posts
    15

    Arrow

    I recive the following error when I try to compile a large package body (almost 4000 lines) in Oracle8:

    PLS-00123: program too large

    Can anyone tell me if there a limit as to the amount of code that can be stored in a package? I can't find anything in Oracle's documentation.
    Michael Auer
    Oracle DBA/Developer
    Oracle8i OCP

  2. #2
    Join Date
    Dec 2000
    Location
    Ljubljana, Slovenia
    Posts
    4,439
    There is a limmit (or at least there was, I'm not sure if it still is in 8i), but you'll never be able to get the actual value for this limit, either in number of lines of code or in bytes of source. It is some kind of soft limit. When oracle parses PL/SQL package, it breakes the code in "nodes" (I belive this was the expression used in the article I've read about this), and there is a limit on the number of this "nodes" that parser can handle. Different PL/SQL constructs create differend number of "nodes", so you can't realy determined this limmit, but if I remember correctly in 7.3 the limit was somewhere around 120 KB of parsed size, but was raised significantly in 8.0.

    Your only option is to break this large package into two (or more) smaller packages.
    Jurij Modic
    ASCII a stupid question, get a stupid ANSI
    24 hours in a day .... 24 beer in a case .... coincidence?

  3. #3
    Join Date
    Nov 2000
    Posts
    15
    Thanks Jurij!
    Michael Auer
    Oracle DBA/Developer
    Oracle8i OCP

  4. #4
    Join Date
    Nov 2000
    Location
    Baltimore, MD USA
    Posts
    1,339
    Uh, if you are actually hitting that limit, I would suggest breaking it up into *many* smaller packages. I can't imagine how long it must take to simply compile the thing . Also, when Oracle has to load it, it needs a big contiguuous space for that object. If it is broken down, you will have fewer problems and less fragmentation of the SGA. Additionally, it is more likely that pieces of it will remain in the SGA. There are *many* good reasons for keeping the packages sizes small.

    - Chris

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Click Here to Expand Forum to Full Width