Oracle V$ Views Quick Reference - Dynamic Performance Views Guide
Oracle V$ Views Quick Reference
Section titled “Oracle V$ Views Quick Reference”Quick reference guide to Oracle’s dynamic performance views (V$ views) for database monitoring and troubleshooting.
Understanding V$ Views
Section titled “Understanding V$ Views”V$ views are Oracle’s dynamic performance views that provide real-time information about database performance, sessions, memory, and more.
-- List all V$ viewsSELECT VIEW_NAME FROM V$FIXED_VIEW_DEFINITIONWHERE VIEW_NAME LIKE 'V$%'ORDER BY VIEW_NAME;
-- View underlying base tablesSELECT VIEW_NAME, VIEW_DEFINITIONFROM V$FIXED_VIEW_DEFINITIONWHERE VIEW_NAME = 'V$SESSION';Session & Process Views
Section titled “Session & Process Views”V$SESSION
Section titled “V$SESSION”Current session information
-- Active sessionsSELECT SID, SERIAL#, USERNAME, STATUS, SQL_ID, EVENT, WAIT_CLASSFROM V$SESSIONWHERE USERNAME IS NOT NULL AND STATUS = 'ACTIVE';
-- Key columns: SID, SERIAL#, USERNAME, STATUS, MACHINE, PROGRAM, SQL_ID, EVENT, BLOCKING_SESSIONV$PROCESS
Section titled “V$PROCESS”OS process information
-- Session to OS process mappingSELECT s.SID, s.SERIAL#, s.USERNAME, p.SPID AS os_pid, p.PGA_USED_MEMFROM V$SESSION sJOIN V$PROCESS p ON s.PADDR = p.ADDRWHERE s.USERNAME IS NOT NULL;V$ACTIVE_SESSION_HISTORY (ASH)
Section titled “V$ACTIVE_SESSION_HISTORY (ASH)”Recent session activity (sampled every second)
-- Top SQL in last hourSELECT SQL_ID, COUNT(*) AS samplesFROM V$ACTIVE_SESSION_HISTORYWHERE SAMPLE_TIME > SYSDATE - 1/24GROUP BY SQL_IDORDER BY COUNT(*) DESCFETCH FIRST 10 ROWS ONLY;SQL & Cursor Views
Section titled “SQL & Cursor Views”SQL statements in shared pool
-- Top SQL by elapsed timeSELECT SQL_ID, EXECUTIONS, ELAPSED_TIME/1000000 AS elapsed_sec, BUFFER_GETS, DISK_READS, SQL_TEXTFROM V$SQLORDER BY ELAPSED_TIME DESCFETCH FIRST 10 ROWS ONLY;V$SQLAREA
Section titled “V$SQLAREA”Aggregated SQL statistics
-- SQL with high buffer getsSELECT SQL_ID, EXECUTIONS, BUFFER_GETS, BUFFER_GETS/EXECUTIONS AS gets_per_execFROM V$SQLAREAWHERE EXECUTIONS > 0ORDER BY BUFFER_GETS DESCFETCH FIRST 10 ROWS ONLY;V$SQLTEXT
Section titled “V$SQLTEXT”Full SQL text (64-char pieces)
-- Reconstruct full SQLSELECT SQL_TEXT FROM V$SQLTEXTWHERE SQL_ID = '&sql_id'ORDER BY PIECE;V$SQL_PLAN
Section titled “V$SQL_PLAN”Execution plans in cache
SELECT PLAN_TABLE_OUTPUT FROM TABLE( DBMS_XPLAN.DISPLAY_CURSOR('&sql_id', NULL, 'ALLSTATS LAST'));Memory Views
Section titled “Memory Views”System Global Area summary
SELECT NAME, VALUE/1024/1024 AS size_mb FROM V$SGA;V$SGAINFO
Section titled “V$SGAINFO”Detailed SGA information
SELECT NAME, BYTES/1024/1024 AS mb, RESIZEABLE FROM V$SGAINFO;V$BUFFER_POOL
Section titled “V$BUFFER_POOL”Buffer cache pools
SELECT NAME, BLOCK_SIZE, CURRENT_SIZE/1024/1024 AS mb, BUFFERSFROM V$BUFFER_POOL;V$PGASTAT
Section titled “V$PGASTAT”PGA memory statistics
SELECT NAME, VALUE/1024/1024 AS mb FROM V$PGASTATWHERE NAME LIKE '%memory%';V$SHARED_POOL_ADVICE
Section titled “V$SHARED_POOL_ADVICE”Shared pool sizing advice
SELECT SHARED_POOL_SIZE_FOR_ESTIMATE AS mb, ESTD_LC_TIME_SAVED_FACTOR AS time_saved_factorFROM V$SHARED_POOL_ADVICE;I/O Views
Section titled “I/O Views”V$DATAFILE
Section titled “V$DATAFILE”Datafile information
SELECT FILE#, NAME, STATUS, BYTES/1024/1024 AS size_mbFROM V$DATAFILE;V$FILESTAT
Section titled “V$FILESTAT”Datafile I/O statistics
SELECT d.NAME, f.PHYRDS AS reads, f.PHYWRTS AS writes, f.AVGIOTIM/100 AS avg_io_secFROM V$FILESTAT fJOIN V$DATAFILE d ON f.FILE# = d.FILE#ORDER BY f.PHYRDS + f.PHYWRTS DESC;V$TEMPFILE
Section titled “V$TEMPFILE”Temporary file information
SELECT FILE#, NAME, STATUS, BYTES/1024/1024 AS size_mb FROM V$TEMPFILE;Redo log groups
SELECT GROUP#, SEQUENCE#, BYTES/1024/1024 AS mb, MEMBERS, STATUS, ARCHIVEDFROM V$LOG;V$LOGFILE
Section titled “V$LOGFILE”Redo log file members
SELECT GROUP#, MEMBER, STATUS FROM V$LOGFILE;Performance Views
Section titled “Performance Views”V$SYSSTAT
Section titled “V$SYSSTAT”System statistics
SELECT NAME, VALUE FROM V$SYSSTATWHERE NAME IN ('db block gets', 'consistent gets', 'physical reads');V$SYSTEM_EVENT
Section titled “V$SYSTEM_EVENT”System-wide wait events
SELECT EVENT, TOTAL_WAITS, TIME_WAITED_MICRO/1000000 AS secs, WAIT_CLASSFROM V$SYSTEM_EVENTWHERE WAIT_CLASS != 'Idle'ORDER BY TIME_WAITED_MICRO DESCFETCH FIRST 10 ROWS ONLY;V$SESSION_EVENT
Section titled “V$SESSION_EVENT”Session wait events
SELECT EVENT, TOTAL_WAITS, TIME_WAITED/100 AS secsFROM V$SESSION_EVENTWHERE SID = &sidORDER BY TIME_WAITED DESC;V$LATCH
Section titled “V$LATCH”Latch statistics
SELECT NAME, GETS, MISSES, SLEEPS, SPIN_GETSFROM V$LATCHORDER BY MISSES DESCFETCH FIRST 10 ROWS ONLY;V$LIBRARYCACHE
Section titled “V$LIBRARYCACHE”Library cache performance
SELECT NAMESPACE, GETS, GETHITRATIO, PINS, PINHITRATIO, INVALIDATIONSFROM V$LIBRARYCACHE;Lock Views
Section titled “Lock Views”V$LOCK
Section titled “V$LOCK”Current locks
-- Session locksSELECT SID, TYPE, ID1, ID2, LMODE, REQUEST, BLOCKFROM V$LOCKWHERE TYPE IN ('TX', 'TM');V$LOCKED_OBJECT
Section titled “V$LOCKED_OBJECT”Locked objects
SELECT l.SESSION_ID, l.ORACLE_USERNAME, o.OWNER, o.OBJECT_NAME, o.OBJECT_TYPEFROM V$LOCKED_OBJECT lJOIN DBA_OBJECTS o ON l.OBJECT_ID = o.OBJECT_ID;V$TRANSACTION
Section titled “V$TRANSACTION”Active transactions
SELECT s.SID, s.SERIAL#, t.USED_UBLK AS undo_blocks, t.USED_UREC AS undo_recordsFROM V$TRANSACTION tJOIN V$SESSION s ON t.ADDR = s.TADDR;Database Information Views
Section titled “Database Information Views”V$DATABASE
Section titled “V$DATABASE”Database information
SELECT DBID, NAME, CREATED, OPEN_MODE, LOG_MODE, FLASHBACK_ONFROM V$DATABASE;V$INSTANCE
Section titled “V$INSTANCE”Instance information
SELECT INSTANCE_NUMBER, INSTANCE_NAME, HOST_NAME, VERSION, STATUS, STARTUP_TIMEFROM V$INSTANCE;V$VERSION
Section titled “V$VERSION”Version information
SELECT * FROM V$VERSION;V$PARAMETER
Section titled “V$PARAMETER”Initialization parameters
SELECT NAME, VALUE, ISDEFAULT, ISMODIFIED FROM V$PARAMETERWHERE NAME = 'sga_target';V$SPPARAMETER
Section titled “V$SPPARAMETER”SPFILE parameters
SELECT NAME, VALUE, ISSPECIFIED FROM V$SPPARAMETERWHERE VALUE IS NOT NULL;Archive & Recovery Views
Section titled “Archive & Recovery Views”V$ARCHIVED_LOG
Section titled “V$ARCHIVED_LOG”Archived redo logs
SELECT SEQUENCE#, NAME, FIRST_TIME, NEXT_TIME, DELETED, STATUSFROM V$ARCHIVED_LOGWHERE FIRST_TIME > SYSDATE - 1ORDER BY SEQUENCE#;V$BACKUP
Section titled “V$BACKUP”Datafile backup status
SELECT FILE#, STATUS, CHANGE# FROM V$BACKUP;V$RECOVER_FILE
Section titled “V$RECOVER_FILE”Files needing recovery
SELECT FILE#, ERROR FROM V$RECOVER_FILE;V$RECOVERY_AREA_USAGE
Section titled “V$RECOVERY_AREA_USAGE”Flash recovery area usage
SELECT FILE_TYPE, PERCENT_SPACE_USED, NUMBER_OF_FILESFROM V$RECOVERY_AREA_USAGE;RAC Views (GV$)
Section titled “RAC Views (GV$)”-- GV$ views show all instancesSELECT INST_ID, SID, SERIAL#, USERNAME, STATUSFROM GV$SESSIONWHERE USERNAME IS NOT NULL;
-- Key RAC views:-- GV$INSTANCE, GV$SESSION, GV$SQL, GV$LOCK-- V$ACTIVE_INSTANCES, V$CLUSTER_INTERCONNECTSMost Essential V$ Views Summary
Section titled “Most Essential V$ Views Summary”| View | Purpose |
|---|---|
| V$SESSION | Current sessions |
| V$PROCESS | OS processes |
| V$SQL | Cached SQL |
| V$SYSSTAT | System statistics |
| V$SYSTEM_EVENT | Wait events |
| V$LOCK | Locks |
| V$DATABASE | Database info |
| V$INSTANCE | Instance info |
| V$PARAMETER | Parameters |
| V$SGA | Memory usage |