Results 1 to 3 of 3

Thread: Pinning a table

  1. #1
    Join Date
    Jun 2001
    Location
    The Netherlands
    Posts
    38

    Unanswered: Pinning a table

    With DBMS_SHARED_POOL.KEEP() it is possible to pin a procedure or package in memory. According to the documentation (8.1.6/7) this is not possible for tables.
    Is there some (undocumented) way to do this?

  2. #2
    Join Date
    Apr 2001
    Location
    Netherlands
    Posts
    191
    Hoi Ben,

    You pin a table by defining this in the storage clause.
    Alter table NAME storage (buffer_pool keep);

    See 8.1.7 documentation, SQL Reference, chapter 11, storage_clause

    Groetjes van Ruud

    <edit> Oh of course you need a KEEP buffer pool for this, specify the size in the init.ora </edit>
    Last edited by Ruudboy; 01-09-02 at 13:07.
    Ruud Schilders
    -----------------
    Oracle DBA
    e-mail : ruud@schilders.it
    URL : www.schilders.it
    Twitter : www.twitter.com/ruudschilders

  3. #3
    Join Date
    Jan 2002
    Location
    italy
    Posts
    39
    Hi!!!

    You can try to use the clause CACHE in the table properties.

    With this clause the blocks retrieved when a full scan table is performed are placed in the most recently used end of the LRU list in the buffer cache.

    The manual says this is particularly true for small lookup tables...

    Another workaround is to increase (if you have enough RAM) the parameter DB_BLOCK_BUFFERS if you have a poor buffer cache hit rate, but this does not guarantee to keep the table in memory...

    ciao
    astropp

Posting Permissions

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