Академический Документы
Профессиональный Документы
Культура Документы
You benefit from not having to save all the on-line redo
log files, on heavily accesed systems this type of
configuration alleviates disk-space usage,because in
ARCHIVELOG every on-line redo log file is eventually
backed-up; these archived redo-log files can easily fill
up a WHOLE disk (10-12 GB) in a matter of hours.
However the disadvantage of running this configuration is
that in the event of a failure your only means of backup is
by your last backup tape, Oracle cannot help in this case
because it does not have a history of previous redo-log
files , the ones that are ARCHIVED in ARCHIVELOG mode.
select name,value
from v$sysstat
where name = 'redo log space requests'
The size of the redo log buffer will have to be
increased if the number of waits is too high.
dbms_share_pool.keep('object
name','P');
To check the object in the shared pool that are not
pinned :
select
name,type,kept,sharable_mem
From v$db_object_cache
Where kept = 'NO'
Order by shareable_mem desc;
EXECUTE DBMS_SHARED_POOL.UNKEEP('<object
name>');
To determine if the object was pinned
select sum(shareable_mem)
from V$db_object_cache
where shareable_mem >=
<SHARED_POOL_RESERVED_MIN_ALLOC> ;
In order to do the previous you need to have an
idea of what constitutes a "large object". So take
the following steps:
1. Set
SHARED_POOL_RESERVED_MIN_ALLOC to
your specification
2. Set
SHARED_POOL_RESERVED_SIZE to the
output of the last query, plus a fudge factor
of 10%.
Rather than using the large pool, you can reserve an area
within the shared pool for large objects via the
SHARED_POOL_RESERVED_SIZE parameter in init.ora .
The "reserve size" is set aside for the shared pool entries
of large object (such as large packages).
Describe the User Global Area (UGA) and session
memory consideration
Configure the Large Pool
A dirty buffer is one that has been used, but has not been
flushed , or written out by the DBWR on checkpoint.
(SORT_WRITE_BUFFERS x
SORT_WRITE_BUFFER_SIZE ) + SORT_AREA_SIZE
For PQO , each (parallel) sort requires :
((SORT_WRITE_BUFFERS x SORT_WRITE_BUFFER_SIZE)
+ SORT_AREA_SIZE) x 2 x (degree of
parallelism)
The init.ora parameter, SORT_DIRECT_WRITES,
determines the sorting behavior regarding using the
database buffer cache or not. If set to AUTO, the default,
and if SORT_AREA_SIZE >= 10 x Sort Direct Writes
Buffer, the Sort Direct Writes Buffer is used. If set to
FALSE, sort writes are buffered in the database buffer
cache before being written back out to disk.These are
normal sort buffer writes. If set to TRUE, sort writes are
always sort direct writes. VLDBs, DSSs, and Data
Warehouses should normally have this set to TRUE (or at
least left to AUTO)
A. Partitioned Tables
B. Index-Organized Tables
C. Reverse Indexes
D. Parallel Execution
E. Star transformations
F. Star Joins
Oracle stores outline data in the OL$ table and hint data in
the OL$HINTS table. Unless you remove them Oracle
retains outlines indefinitely. Oracle retains execution plans
in cache and only recreates them if they become invalid or
if the cache is not large enough to hold all of the them.
The only effect outlines have on caching execution plans is
that the outlines category name is used in addition to the
SQL text to identify whether the plan is in cache. This
ensures Oracle does not use an execution plan complied
under one category to execute a SQL statement that
Oracle should compile under a different category.
With MTS, the UGA is moved up into the shared pool. The
remaining process-specifc memory is reatined in the
Process Global Area (PGA) and holds information that
cannot be shared. In this way, the total amount of
memory required in using MTS is not really more than the
dedicated server, just redistributed. However, you have to
increase the SHARED_POOL_SIZE, To help size the UGA
that is relocated to the SGA, use:
select sum(value)
from v$SESSTAT SE, V$STATNAME SN
WHERE SN.NAME = 'max session memory'
AND SE.STATISTIC# = SN.STATISTIC#;
This yields the maximum amount of UGA session memory
used since instance startup. You may wish to take
samples of this result often , and then increment the
SHARED_POOL_SIZE by this amount. From Oracle 8 you
can use 'session uga memory max'
1. SESSION_CACHED_CURSORS
2. CLOSE_CACHED_OPEN_CURSOR