title: PL/SQL maximum size of VARRAY
body: <p>I'm trying to figure out the possible <strong>upper bound</strong> of VARRAY in PL/SQL.</p>
  
  <p>We sure can define VARRAY type as</p>
  
  <pre><code>TYPE type_name IS {VARRAY | VARYING ARRAY} (size_limit) 
     OF element_type [NOT NULL];
  </code></pre>
  
  <p>Oracle documentation has this to say:</p>
  
  <blockquote>
    <p>Each varray is stored as a single object, either inside the table of
    which it is a column (if the varray is less than 4KB) or outside the
    table but still in the same tablespace (if the varray is greater than
    4KB). You must update or retrieve all elements of the varray at the
    same time, which is most appropriate when performing some operation on
    all the elements at once. But you might find it impractical to store
    and retrieve large numbers of elements this way.</p>
  </blockquote>
  
  <p>But what is the upper bound of <code>size_limit</code> parameter? Is it equal to unsigned integer (4,294,967,295)?</p>