WEB开发网
开发学院数据库Oracle Oracle9i的动态SGA特性探索 阅读

Oracle9i的动态SGA特性探索

 2006-08-05 11:58:56 来源:WEB开发网   
核心提示: 当然我们不可能在这里详述所有的技术,以下就让我们看一个简单的例子,Oracle9i的动态SGA特性探索(5),它通过使用V$SYSSTAT视图来决定何时重新设置PGA_AGGREGATE_TARGET参数,以下的查询可以得到自数据库实例启动后work areas被执行的全部数目和百分比,以

当然我们不可能在这里详述所有的技术,以下就让我们看一个简单的例子,它通过使用V$SYSSTAT视图来决定何时重新设置PGA_AGGREGATE_TARGET参数。

以下的查询可以得到自数据库实例启动后work areas被执行的全部数目和百分比。

work_area.sql
select
name profile,
cnt,
decode(total, 0, 0, round(cnt*100/total)) percentage
from
(
select
name,
value cnt,
(sum(value) over ()) total
from
v$sysstat
where
name like 'workarea exec%'
);

这个查询的输出可能如下:

PROFILE CNT PERCENTAGE
----------------------------------- ---------- ----------
workarea executions - optimal 5395 95
workarea executions - onepass 284 5
workarea executions - multipass 0 0

这个查询的输出是用来告诉DBA何时动态调整PGA_AGGREGATE_TARGET参数。在通常的情况下,如果multi-pass的执行大于0,就需要增加PGA_AGGREGATE_TARGET的值,并且在optimal executions是100%时减少它的值。

我们还可以使用V$PGASTAT视图来决定我们的Oracle实例的内存使用。V$PGASTAT视图提供了PGA使用和自动内存管理的实例级摘要统计信息。以下的脚本提供了全部Oracle9i连接的整体内存使用的统计信息。

以下是一个用来检测Oracle9i中PGA内存使用的简单脚本。

check_pga.sql
column name format a30
column value format 999,999,999
select
name,
value
from
v$pgastat
;
The output of this query might look like the following:
NAME VALUE
------------------------------------------------------ ----------
aggregate PGA auto target 736,052,224
global memory bound 21,200
total expected memory 141,144
total PGA inuse 22,234,736
total PGA allocated 55,327,872
maximum PGA allocated 23,970,624
total PGA used for auto workareas 262,144
maximum PGA used for auto workareas 7,333,032
total PGA used for manual workareas 0
maximum PGA used for manual workareas 0
estimated PGA memory for optimal 141,395
maximum PGA memory for optimal 500,123,520
estimated PGA memory for one-pass 534,144
maximum PGA memory for one-pass

在上面的v$pgastat显示中我们可以看到以下的统计。

上一页  1 2 3 4 5 6  下一页

Tags:Oraclei 动态 SGA

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接