Oracle内存全面分析(2)
来源:互联网 发布:Js each 编辑:程序博客网 时间:2024/04/28 17:56
Oracle内存全面分析(2)
目录(?)[-]
- 转自httpwwwhellodbacomreader
phpID101langCN - 关于SGA的重要视图
-
vsga -
vsgastat -
vsga_dynamic_components -
VSGA_DYNAMIC_FREE_MEMORY
-
- 数据库缓冲区DatabaseBuffers
- Buffercache的管理
-
Buffercache的数据块访问 -
全表扫描 -
FlushBuffer
-
- BufferCache的重要参数配置
-
BufferCache的大小配置 -
多种块尺寸系统中的BufferCache的配置 -
多缓冲池 -
缓冲池建议器 -
其他相关参数
-
转自:http://www.hellodba.com/reader.php?ID=101&lang=CN
1.1.2. 关于SGA的重要视图
· v$sga
[sql]viewplaincopy
- "font-family:SimSun;font-size:14px;">SQL>
select * fromv$sga; - NAME
VALUE - --------------------
---------- - Fixed
Size 1248428 - Variable
Size 117441364 - Database
Buffers 138412032 - Redo
Buffers 7139328 - 4
rows selected. - SQL>
show sga - Total
System Global Area 264241152 bytes - Fixed
Size 1248428 bytes - Variable
Size 117441364 bytes - Database
Buffers 138412032 bytes - Redo
Buffers 7139328 bytes - SQL>
· v$sgastat
[sql]viewplaincopy
- "font-family:SimSun;font-size:14px;">SQL>
select to_number(v$parameter.value) value, v$sgastat.BYTES, 2 (v$sgastat.bytes/v$parameter.value)*100 "percent free" 3 from v$sgastat, v$parameter 4 where v$sgastat. name='free memory' 5 and v$parameter. name= 'shared_pool_size'6 and v$sgastat.pool= 'sharedpool' 7 ; VALUE BYTES percent free - ----------
---------- ------------ 503316480 141096368 28.033329645 - SQL>
· v$sga_dynamic_components
字段
数据类型
描述
COMPONENT
VARCHAR2(64)
内存区名称
CURRENT_SIZE
NUMBER
当前大小
MIN_SIZE
NUMBER
自从实例启动后的最小值
MAX_SIZE
NUMBER
自从实例启动后的最大值
OPER_COUNT
NUMBER
自从实例启动后的调整次数
LAST_OPER_TYPE
VARCHAR2(6)
最后一次完成的调整动作,值包括:
GROW
(增加) SHRINK
(缩小)
LAST_OPER_MODE
VARCHAR2(6)
最后一次完成的调整动作的模式,包括:
MANUAL
(手动) AUTO
(自动)
LAST_OPER_TIME
DATE
最后一次完成的调整动作的开始时间
GRANULE_SIZE
NUMBER
GRANULE大小(关于granule后面详细介绍)
· V$SGA_DYNAMIC_FREE_MEMORY
[sql]viewplaincopy
- "font-family:SimSun;font-size:14px;">SQL>
select * fromv$sga_dynamic_free_memory; - CURRENT_SIZE
- --------------
- 0
- SQL>
show parameter shared_pool - NAME
TYPE VALUE - -----------------------------------
----------- ---------- - shared_pool_size
big integer 50331648 - SQL>
alter system setshared_pool_size=38M; - system
altered. - SQL>
show parameter shared_pool - NAME
TYPE VALUE - -----------------------------------
----------- ---------- - shared_pool_size
big integer 41943040 - SQL>
select * fromv$sga_dynamic_free_memory; - CURRENT_SIZE
- --------------
- 8388608
1.1.3. 数据库缓冲区(DatabaseBuffers)
1.1.3.1. Buffercache的管理
· Buffercache的数据块访问
[sql]viewplaincopy
- "font-family:SimSun;font-size:14px;">SQL>
select 1-( sum(decode(name,'physical reads' ,value, 0))/ 2 (sum(decode(name, 'db block ,gets' value, 0))+ 3 (sum(decode(name, 'consistent gets' ,value, "Buffer0))))) Hit Ratio" 4 from v$sysstat; - Buffer
Hit Ratio - ----------------
.926185625 - 1
row selected. - SQL>
- user_process_access_block(block)
- {
-
if (search_lru(block)) -
{ -
g_cache_hit++; -
return read_block_from_buffer_cache(block); -
} -
else -
{ -
g_cache_missed++; -
search_count = 1; -
searched = FALSE; -
set_lru_latch_context(); -
buffer_block = get_lru_from_lru(); -
-
do -
{ -
if (block == buffer_block) -
{ -
set_buffer_block(buffer_block, read_block_from_datafile(block); -
move_buffer_block_to_mru(buffer_block); -
searched = TRUE; -
} -
-
search_count++; -
buffer_block = get_next_from_lru(buffer_block); -
}while(!searched && search_count < BUFFER_SEARCH_THRESHOLD) -
-
free_lru_latch_context(); -
-
if (!searched) -
{ -
buffer_block = signal_dbw0_write_dirty_buffer(); -
set_buffer_block(buffer_block, read_block_from_datafile(block); -
move_buffer_block_to_mru(buffer_block); -
} -
-
return buffer_block; -
} - }
· 全表扫描
· FlushBuffer
alter system set events = 'immediate trace name flush_cache'; --9i
alter system flush buffer_cache; -- 10g
1.1.3.2. BufferCache的重要参数配置
· BufferCache的大小配置
- SQL>
alter system setdb_block_buffers=16384 scope=spfile; -
- system
altered. -
- SQL>
alter system setdb_cache_size=128M scope=spfile; -
- system
altered. -
- SQL>
startup force -
- ORA-00381:
cannot use both new and old forparameters buffer sizecache specification
· 多种块尺寸系统中的BufferCache的配置
· 多缓冲池
这三个参数相互之间是独立的。并且他们都只适用于标准块尺寸的数据块。与8i兼容参数DB_BLOCK_BUFFERS相应的,DB_KEEP_CACHE_SIZE对应有BUFFER_POOL_KEEP、DB_RECYLE_CACHE_SIZE对应有BUFFER_POOL_RECYCLE。同样,这些参数之间是互斥的,即DB_KEEP_CACHE_SIZE和BUFFER_POOL_KEEP之间只能设置一个。
· 缓冲池建议器
· 其他相关参数
9i以后这个参数是隐含参数。对于隐含参数,我建议在没有得到Oracle支持的情况下不要做修改,否则,如果修改了,Oracle是可以拒绝为你做支持的。
- Oracle内存全面分析(2)
- Oracle内存全面分析(2)
- Oracle内存全面分析(2)
- Oracle内存全面分析 2
- Oracle内存全面分析
- Oracle内存全面分析
- Oracle内存全面分析(1)
- Oracle内存全面分析(3)
- Oracle内存全面分析(4)
- Oracle内存全面分析(5)
- Oracle内存全面分析(6)
- Oracle内存全面分析(7)
- Oracle内存全面分析(8)
- Oracle内存全面分析(9)
- Oracle内存全面分析(10)
- Oracle内存全面分析(11)
- Oracle内存全面分析(12)
- Oracle内存全面分析(1)
- Oracle后台进程
- Oracle 进程类别
- oracle 的服务器进程(PMON,&…
- oracle SGA的查询与调整
- Oracle内存全面分析(1)
- Oracle内存全面分析(2)
- Oracle内存全面分析(3)
- Oracle内存全面分析(4)
- Oracle内存全面分析(5)
- Oracle内存全面分析(6)
- Oracle内存全面分析(7)
- Oracle内存全面分析(8)
- Oracle内存全面分析(9)
- Python变量与运算符