← Performance
Oracle · Performance

How to run all Oracle memory advisors in one script

Print current memory parameters plus DB cache, MEMORY_TARGET, PGA, and SGA target advice — all spooled to one file.

Tested on11g12c18c19c21c23ai26ai

One-stop advisor report: prints current memory parameter values, then queries V$DB_CACHE_ADVICE, V$MEMORY_TARGET_ADVICE, V$PGA_TARGET_ADVICE, V$SGA_TARGET_ADVICE, and the maximum shared pool from V$SGA_RESIZE_OPS. Spools everything to advisormem.txt.

SPOOL advisormem.txt

PROMPT checkmem
SET PAGESIZE 60
SET LINESIZE 300
COLUMN name  FORMAT a30
COLUMN value FORMAT a70

SELECT name, value
FROM   v$parameter
WHERE  name IN ('memory_max_target', 'memory_target',
                'sga_max_size', 'sga_target',
                'db_cache_size',
                'shared_pool_reserved_size', 'shared_pool_size',
                'large_pool_size',
                'pga_aggregate_target');

PROMPT dbcache
COLUMN size_for_estimate         FORMAT 999,999,999,999 HEADING 'Cache Size (MB)'
COLUMN buffers_for_estimate      FORMAT 999,999,999     HEADING 'Buffers'
COLUMN estd_physical_read_factor FORMAT 999.90          HEADING 'Estd Phys|Read Factor'
COLUMN estd_physical_reads       FORMAT 999,999,999,999 HEADING 'Estd Phys| Reads'
SELECT size_for_estimate,
       buffers_for_estimate,
       estd_physical_read_factor,
       estd_physical_reads
FROM   v$db_cache_advice
WHERE  name          = 'DEFAULT'
AND    block_size    = (SELECT value FROM v$parameter WHERE name = 'db_block_size')
AND    advice_status = 'ON';

PROMPT memtarget
SELECT * FROM v$memory_target_advice ORDER BY memory_size;

PROMPT pgatarget
SELECT ROUND(pga_target_for_estimate / 1024 / 1024) AS target_mb,
       estd_pga_cache_hit_percentage              AS cache_hit_perc,
       estd_overalloc_count
FROM   v$pga_target_advice;

PROMPT sgatarget
SELECT * FROM v$sga_target_advice ORDER BY sga_size;

PROMPT sharedpool
SELECT ROUND(MAX(final_size) / 1024 / 1024) AS final_size_mb
FROM   v$sga_resize_ops
WHERE  component = 'shared pool';

SPOOL OFF
performancememoryadvisorsspool