dbTalk Databases Forums  

Pinning Objects

comp.databases.oracle.misc comp.databases.oracle.misc


Discuss Pinning Objects in the comp.databases.oracle.misc forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
The Magnet
 
Posts: n/a

Default Pinning Objects - 07-20-2009 , 11:57 AM






Hi,

We want to pin a couple of tables, hoping to increase some
performance. From the docs, a pinned table means less reads from
disk, etc.

If the table gets updated or inserted into, is there any advantage to
this? If yes, how does the committed transactions get saved?

Reply With Quote
  #2  
Old   
ddf
 
Posts: n/a

Default Re: Pinning Objects - 07-20-2009 , 12:35 PM






On Jul 20, 11:57*am, The Magnet <a... (AT) unsu (DOT) com> wrote:
Quote:
Hi,

We want to pin a couple of tables, hoping to increase some
performance. *From the docs, a pinned table means less reads from
disk, etc.

If the table gets updated or inserted into, is there any advantage to
this? *If yes, how does the committed transactions get saved?
Why do you not consider using the KEEP pool?

http://oratips-ddf.blogspot.com/2008...ts-keeper.html


David Fitzjarrell

Reply With Quote
  #3  
Old   
The Magnet
 
Posts: n/a

Default Re: Pinning Objects - 07-20-2009 , 01:04 PM



On Jul 20, 12:35*pm, ddf <orat... (AT) msn (DOT) com> wrote:
Quote:
On Jul 20, 11:57*am, The Magnet <a... (AT) unsu (DOT) com> wrote:

Hi,

We want to pin a couple of tables, hoping to increase some
performance. *From the docs, a pinned table means less reads from
disk, etc.

If the table gets updated or inserted into, is there any advantage to
this? *If yes, how does the committed transactions get saved?

Why do you not consider using the KEEP pool?

http://oratips-ddf.blogspot.com/2008...ts-keeper.html

David Fitzjarrell
I think that is what I meant:

EXEC DBMS_SHARED_POOL.keep('mf_functions');
alter TABLE subscriptions storage (buffer_pool keep);

But was curious about tables with heavy DML.....

Reply With Quote
  #4  
Old   
joel garry
 
Posts: n/a

Default Re: Pinning Objects - 07-20-2009 , 01:08 PM



On Jul 20, 9:57*am, The Magnet <a... (AT) unsu (DOT) com> wrote:
Quote:
Hi,

We want to pin a couple of tables, hoping to increase some
performance. *From the docs, a pinned table means less reads from
disk, etc.

If the table gets updated or inserted into, is there any advantage to
this? *If yes, how does the committed transactions get saved?
If you just let Oracle do its thing, blocks that get used a lot will
stay in memory, since Oracle uses an LRU algorithm. Also, small
tables use a different algorithm for full scanning ("The definition of
a small table is the maximum of 2% of the buffer cache and 20,
whichever is bigger.") I used to have noticeable results on certain
objects with a recycle pool, but nowadays don't seem to need to
bother. Be careful about catching obsessive tuning disorder. Take
any rule of thumb that uses percentages with a very large dose of
salt. Remember that most performance problems come from the app
code. "Hoping" is not a particularly good tuning methodology. You
want to use a methodology that tells you how to find what is wrong and
where to put your effort.

See metalink Note: 135223.1 and note the auto-tuning part. And keep a
lot of salt handy.

See commit transactions in the concepts manual for the basic idea on
how that works.

Do you have an actual problem to solve? You need to state it
exactly. http://dbaoracle.net/readme-cdos.htm

jg
--
@home.com is bogus.
http://www3.signonsandiego.com/stori...led/?uniontrib

Reply With Quote
  #5  
Old   
Mark D Powell
 
Posts: n/a

Default Re: Pinning Objects - 07-25-2009 , 09:49 AM



On Jul 20, 2:08*pm, joel garry <joel-ga... (AT) home (DOT) com> wrote:
Quote:
On Jul 20, 9:57*am, The Magnet <a... (AT) unsu (DOT) com> wrote:

Hi,

We want to pin a couple of tables, hoping to increase some
performance. *From the docs, a pinned table means less reads from
disk, etc.

If the table gets updated or inserted into, is there any advantage to
this? *If yes, how does the committed transactions get saved?

If you just let Oracle do its thing, blocks that get used a lot will
stay in memory, since Oracle uses an LRU algorithm. *Also, small
tables use a different algorithm for full scanning ("The definition of
a small table is the maximum of 2% of the buffer cache and 20,
whichever is bigger.") *I used to have noticeable results on certain
objects with a recycle pool, but nowadays don't seem to need to
bother. *Be careful about catching obsessive tuning disorder. *Take
any rule of thumb that uses percentages with a very large dose of
salt. *Remember that most performance problems come from the app
code. *"Hoping" is not a particularly good tuning methodology. *You
want to use a methodology that tells you how to find what is wrong and
where to put your effort.

See metalink Note: 135223.1 and note the auto-tuning part. *And keep a
lot of salt handy.

See commit transactions in the concepts manual for the basic idea on
how that works.

Do you have an actual problem to solve? *You need to state it
exactly. *http://dbaoracle.net/readme-cdos.htm

jg
--
@home.com is bogus.http://www3.signonsandiego.com/stori...judges23536-fe...
I agree with Joel. Most DBA's will be better off just letting Oracle
manage the single buffer pool.

If you really thing this table should be cached and Oracle needs help
to make that decision then the table should be fairly small. You can
then consider using a keep buffer pool. As far as I know the cache
hint still works though Oracle does not use a true LRU list any more.
The documentation has not been changed to reflect the fact Oracle uses
a touch count mechanism to manage aging out of the buffers. You can
see the buffer block touches via v$bh (x$bh). This can be useful for
finding "hot" blocks.

HTH -- Mark D Powell --

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.