转自:http://www.hellodba.com/reader.php?ID=104&lang=CN
1.1.4.7.共享池的重要视图
·v$shared_pool_advice
字段 | 数据类型 | 描述 |
SHARED_POOL_SIZE_FOR_ESTIMATE | NUMBER | 估算的共享池大小(M为单位) |
SHARED_POOL_SIZE_FACTOR | NUMBER | 估算的共享池大小与当前大小比 |
ESTD_LC_SIZE | NUMBER | 估算共享池中用于库缓存的大小(M为单位) |
ESTD_LC_MEMORY_OBJECTS | NUMBER | 估算共享池中库缓存的内存对象数 |
ESTD_LC_TIME_SAVED | NUMBER | 估算将可以节省的解析时间。这些节省的时间来自于请求处理一个对象时,重新将它载入共享池的时间消耗和直接从库缓存中读取的时间消耗的差值。 |
ESTD_LC_TIME_SAVED_FACTOR | NUMBER | 估算的节省的解析时间与当前节省解析时间的比。 |
ESTD_LC_MEMORY_OBJECT_HITS | NUMBER | 估算的可以直接从共享池中命中库缓存的内存对象的命中次数。 |
·V$SHARED_POOL_RESERVED
Column | Datatype | Description |
以下字段只有当参数SHARED_POOL_RESERVED_SIZE设置了才有效。 | ||
FREE_SPACE | NUMBER | 保留区的空闲空间数。 |
AVG_FREE_SIZE | NUMBER | 保留区的空闲空间平均数。 |
FREE_COUNT | NUMBER | 保留区的空闲内存块数 |
MAX_FREE_SIZE | NUMBER | 最大的保留区空闲空间数。 |
USED_SPACE | NUMBER | 保留区使用空间数。 |
AVG_USED_SIZE | NUMBER | 保留区使用空间平均数。 |
USED_COUNT | NUMBER | 保留区使用内存块数。 |
MAX_USED_SIZE | NUMBER | 最大保留区使用空间数 |
REQUESTS | NUMBER | 请求再保留区查找空闲内存块的次数。 |
REQUEST_MISSES | NUMBER | 无法满足查找保留区空闲内存块请求,需要从LRU列表中清出对象的次数。 |
LAST_MISS_SIZE | NUMBER | 请求的内存大小,这次请求是最后一次需要从LRU列表清出对象来满足的请求。 |
MAX_MISS_SIZE | NUMBER | 所有需要从LRU列表清出对象来满足的请求中的内存最大大小 |
以下字段无论参数SHARED_POOL_RESERVED_SIZE是否设置了都有效。 | ||
REQUEST_FAILURES | NUMBER | 没有内存能满足的请求次数(导致4031错误的请求) |
LAST_FAILURE_SIZE | NUMBER | 没有内存能满足的请求所需的内存大小(导致4031错误的请求) |
ABORTED_REQUEST_THRESHOLD | NUMBER | 不清出对象的情况下,导致4031错误的最小请求大小。 |
ABORTED_REQUESTS | NUMBER | 不清出对象的情况下,导致4031错误的请求次数。。 |
LAST_ABORTED_SIZE | NUMBER | 不清出对象的情况下,最后一次导致4031错误的请求大小。 |
·v$db_object_cache
字段 | 数据类型 | 说明 |
OWNER | VARCHAR2(64) | 对象所有者 |
NAME | VARCHAR2(1000) | 对象名称 |
DB_LINK | VARCHAR2(64) | 如果对象存在db link的话,db link的名称 |
NAMESPACE | VARCHAR2(28) | 库缓存的对象命名空间,包括: |
TYPE | VARCHAR2(28) | 对象类型,包括:INDEX, TABLE, CLUSTER, VIEW, SET, SYNONYM, SEQUENCE, PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY, TRIGGER, CLASS, OBJECT, USER, DBLINK, CURSOR, JAVA CLASS, JAVA SHARED DATA, NON-EXISTENT, NOT LOADED, PUB_SUB, REPLICATION OBJECT GROUP, TYPE |
SHARABLE_MEM | NUMBER | 对象消耗的共享池中的共享内存 |
LOADS | NUMBER | 对象被载入次数。即使对象被置为无效了,这个数字还是会增长。 |
EXECUTIONS | NUMBER | 对象执行次数,但本视图中没有被使用。可以参考视图v$sqlarea中执行次数。 |
LOCKS | NUMBER | 当前锁住这个对象的用户数(如正在调用、执行对象)。 |
PINS | NUMBER | 当前pin住这个对象的用户数(如正在编译、解析对象)。 |
KEPT | VARCHAR2(3) | 对象是否被保持,即调用了DBMS_SHARED_POOL.KEEP来永久将对象pin在内存中。 (YES | NO) |
CHILD_LATCH | NUMBER | 正在保护该对象的子latch的数量。 |
·v$sql、v$sqlarea 、v$sqltext
字段 | 数据类型 | 说明 |
SQL_TEXT | VARCHAR2(1000) | 游标中SQL语句的前1000个字符。 |
SHARABLE_MEM | NUMBER | 被游标占用的共享内存大小。如果存在多个子游标,则包含所有子游标占用的共享内存大小。 |
PERSISTENT_MEM | NUMBER | 用于一个打开这条语句的游标的生命过程中的固定内存大小。如果存在多个子游标,则包含所有子游标生命过程中的固定内存大小。 |
RUNTIME_MEM | NUMBER | 一个打开这条语句的游标的执行过程中的固定内存大小。如果存在多个子游标,则包含所有子游标执行过程中的固定内存大小。 |
SORTS | NUMBER | 所有子游标执行语句所导致的排序次数。 |
VERSION_COUNT | NUMBER | 缓存中关联这条语句的子游标数。 |
LOADED_VERSIONS | NUMBER | 缓存中载入了这条语句上下文堆(KGL heap 6)的子游标数。 |
OPEN_VERSIONS | NUMBER | 打开语句的子游标数。 |
USERS_OPENING | NUMBER | 打开这些子游标的用户数。 |
FETCHES | NUMBER | SQL语句的fetch数。 |
EXECUTIONS | NUMBER | 所有子游标的执行这条语句次数。 |
USERS_EXECUTING | NUMBER | 通过子游标执行这条语句的用户数。 |
LOADS | NUMBER | 语句被载入和重载入的次数 |
FIRST_LOAD_TIME | VARCHAR2(19) | 语句被第一次载入的时间戳。 |
INVALIDATIONS | NUMBER | 所以子游标的非法次数。 |
PARSE_CALLS | NUMBER | 所有子游标对这条语句的解析调用次数。 |
DISK_READS | NUMBER | 所有子游标运行这条语句导致的读磁盘次数。 |
BUFFER_GETS | NUMBER | 所有子游标运行这条语句导致的读内存次数。 |
ROWS_PROCESSED | NUMBER | 这条语句处理的总记录行数。 |
COMMAND_TYPE | NUMBER | Oracle命令类型代号。 |
OPTIMIZER_MODE | VARCHAR2(10) | 执行这条的优化器模型。 |
PARSING_USER_ID | NUMBER | 第一次解析这条语句的用户的ID。 |
PARSING_SCHEMA_ID | NUMBER | 第一次解析这条语句所用的schema的ID。 |
KEPT_VERSIONS | NUMBER | 所有被DBMS_SHARED_POOL包标识为保持(Keep)状态的子游标数。 |
ADDRESS | RAW(4 | 8) | 指向语句的地址 |
HASH_VALUE | NUMBER | 这条语句在library cache中hash值。 |
MODULE | VARCHAR2(64) | 在第一次解析这条语句是通过调用DBMS_APPLICATION_INFO.SET_MODULE设置的模块名称。 |
MODULE_HASH | NUMBER | 模块的Hash值 |
ACTION | VARCHAR2(64) | 在第一次解析这条语句是通过调用DBMS_APPLICATION_INFO.SET_ACTION设置的动作名称。 |
ACTION_HASH | NUMBER | 动作的Hash值 |
SERIALIZABLE_ABORTS | NUMBER | 所有子游标的事务无法序列化的次数,这会导致ORA-08177错误。 |
IS_OBSOLETE | VARCHAR2(1) | 游标是否被废除(Y或N)。当子游标数太多了时可能会发生。 |
CHILD_LATCH | NUMBER | 为了包含此游标的子latch数。 |
- SQL>
select a.sid||'.'||a.SERIAL#, a.username, a.TERMINAL, a.program, s.sql_text -
2 from v$session a, v$sqlarea s -
3 where a.sql_address = s.address(+) -
4 and a.sql_hash_value = s.hash_value(+) -
5 order by a.username, a.sid; -
- ...
... -
- SQL>
·v$sql_plan
- SQL>
select lpad(' ', 2*(level-1))||operation "Operation", -
2 options "Options", -
3 decode(to_char(id), '0', 'Cost='||nvl(to_char(position), 'n/a'), object_name) "Object Name", -
4 substr(optimizer, 1, 6) "Optimizer" -
5 from v$sql_plan a -
6 start with address = 'C0000000FCCDEDA0' -
7 and id = 0 -
8 connect by prior id = a.parent_id -
9 and prior a.address = a.address -
10 and prior a.hash_value = a.hash_value; -
- Operation
Options Object Name Optimizer - -------------------
-------------------- -------------------- --------- - SELECT
STATEMENT Cost=0 CHOOSE -
NESTED LOOPS -
INDEX RANGE SCAN CSS_BL_CNTR_IDX1 ANALYZ -
INDEX RANGE SCAN CSS_BKG_BL_ASSN_UQ1 ANALYZ -
- SQL>
·v$librarycache
字段 | 数据类型 | 说明 |
NAMESPACE | VARCHAR2(15) | library cache的命名空间 |
GETS | NUMBER | 请求GET该命名空间中对象的次数。 |
GETHITS | NUMBER | 请求GET并在内存中找到了对象句柄的次数(锁定命中)。 |
GETHITRATIO | NUMBER | 请求GET的命中率。 |
PINS | NUMBER | 请求pin住该命名中对象的次数。 |
PINHITS | NUMBER | 库对象的所有元数据在内存中被找到的次数(pin命中)。 |
PINHITRATIO | NUMBER | Pin命中率。 |
RELOADS | NUMBER | Pin请求需要从磁盘中载入对象的次数。 |
INVALIDATIONS | NUMBER | 命名空间中的非法对象(由于依赖的对象被修改所导致)数。 |
DLM_LOCK_REQUESTS | NUMBER | GET请求导致的实例锁的数量。 |
DLM_PIN_REQUESTS | NUMBER | PIN请求导致的实例锁的数量. |
DLM_PIN_RELEASES | NUMBER | 请求释放PIN锁的次数。 |
DLM_INVALIDATION_REQUESTS | NUMBER | GET请求非法实例锁的次数。 |
DLM_INVALIDATIONS | NUMBER | 从其他实例那的得到的非法pin数。 |
- SQL>
select sum(pins) "hits", -
2 sum(reloads) "misses", -
3 sum(pins)/(sum(pins)+sum(reloads)) "Hits Ratio" -
4 from v$librarycache; -
-
hits misses Hits Ratio - ----------
---------- ---------- -
84962803 288 0.99999661 -
- SQL>
- SQL>
select sum(pins) "hits", -
2 sum(reloads) "misses", -
3 ((sum(reloads)/sum(pins))*100) "Reload%" -
4 from v$librarycache; -
-
hits misses Reload% - ----------
---------- ---------- -
84963808 288 0.00033896 -
- SQL>
·v$library_cache_memory
字段 | 数据类型 | 说明 |
LC_NAMESPACE | VARCHAR2(15) | Library cache命名空间 |
LC_INUSE_MEMORY_OBJECTS | NUMBER | 属于命名空间并正被在共享池使用的内存对象数。 |
LC_INUSE_MEMORY_SIZE | NUMBER | 正在使用的内存对象的大小总(M未单位)。 |
LC_FREEABLE_MEMORY_OBJECTS | NUMBER | 共享池中空闲的内存对象数。 |
LC_FREEABLE_MEMORY_SIZE | NUMBER | 空闲内存对象的大小总和(M为单位)。 |
·v$sgastat
1.1.5.重做日志缓存(Redo Log Buffer)
- SQL>
select * from v$sgastat where name = 'log_buffer'; -
- POOL
NAME BYTES - ------------
-------------------------- ---------- -
log_buffer 7139328 -
- 1
row selected. -
- SQL>
show parameter log_buffer -
- NAME
TYPE VALUE - ------------------------------------
----------- ------------------- - log_buffer
integer 7028736 -
- SQL>
1.1.6.大池(large pool)
1.1.7.Java池(Java Pool)
1.1.8.流池(Streams Pool)