设为首页 加入收藏

TOP

ORACLE数据库性能优化之--)内存磁盘(二)
2015-11-21 01:32:45 来源: 作者: 【 】 浏览:1
Tags:ORACLE 数据库 性能 优化 内存 磁盘
0

EDITION 10577860 10577856 0 0

INDEX 403451 315690 11194 0

JAVA DATA 3161 1876 0 0

JAVA RESOURCE 3413 2124 0 0

JAVA SOURCE 3413 2121 0 0

OBJECT ID 0 0 0 0

PIPE 2940 2936 0 0

QUEUE 755296 754776 218 0

RULE 732 365 82 0

RULESET 18358 17693 26 0

SCHEMA 0 0 0 0

SQL AREA 1252576540 1223849814 1430167 926624

SUBSCRIPTION 50182 49948 6 0

TABLE/PROCEDURE 162038767 161228629 429539 263

NAMESPACE PINS PINHITS RELOADS INVALIDATIONS

-------------------------------------------------------------------------- ---------- ---------- -------------

TEMPORARY INDEX 25602 0 7514 0

TEMPORARY TABLE 70046 0 55020 0

TRIGGER 12753767 12747803 1146 0

XDB CONFIG 1 0 0 0

XML SCHEMA 27 6 4 0

25 rows selected

SQL>

PINS:针对特定NAMESPACE的对象请求次数

PINHITS:针对特定NAMESPACE的对象请求次数,在库缓存中存在的次数

RELOADS:需要从磁盘中加载对象的次数

INVALIDATIONS:针对特定的namespace,由于依赖对象的改变而被标识为失败的对象的次数。

库缓存命中率的计算公式(sum(t1.PINHITS)/sum(pins)计算),例如:

SQL> select sum(t1.PINHITS)/sum(pins)"Lib Ratio" from v$librarycache t1;

LibRatio

----------

0.97973692

SQL>

也可以查询动态性能视图v$sgastat来获取共享池空闲内存的数量。例如:

SQL> select t1.* from v$sgastat t1 wheret1.NAME='free money' and pool='shared pool';

POOL NAME BYTES

------------ ------------------------------------

SQL>

看到awr报表中\

3.2 数据字典缓存命中率

通常,如果共享池中库缓存空间充足,那么数据字典缓存也会充足,在某些情况下,数据缓会失败,比如在数据库实例刚启动的时候,数据库字典缓存不包含任何数据,任何sql语句的执行都会导致数据字典缓存失败,而随着数据缓存字典的增多,缓存失败将较少,最后将达到一个稳定的命中率,此时数据字典缓存失败率将非常低。

可以通过查询数据库动态性能视图v$rowcache(select * from v$rowcache;)获取不同类型数据字典条目的统计信息。这里反应了从最近一次数据库启动以来数据字典的使用情况。

SQL> selectt1.PARAMETER,sum(t1.GETS),sum(t1.GETMISSES),100*sum(t1.GETS-t1.GETMISSES)/sum(t1.GETS)pct_succ_gets,sum(t1.MODIFICATIONS)updates from v$rowcache t1 where t1.GETS!=0group by t1.PARAMETER;

PARAMETER SUM(T1.GETS)SUM(T1.GETMISSES) PCT_SUCC_GETS UPDATES

-------------------------------------------- ----------------- ------------- ----------

dc_constraints 39950 16050 59.8247809762 39942

qmc_app_cache_entries 1 1 0 0

sch_lj_oids 33696 1452 95.6908831908 0

dc_tablespaces 994784326 74 99.9999925612 2

dc_awr_control 271427 3 99.9988947304 6322

dc_object_grants 41203543 6097 99.9852027288 0

dc_histogram_data 649621988 1065618 99.8359633725 1069946

dc_rollback_segments 25496538 235 99.9990783062 825

dc_sequences 156506 1536 99.0185679782 156506

sch_lj_objs 4018 796 80.1891488302 0

dc_segments 130394426 139507 99.8930115310 77938

dc_objects 225599535 310991 99.8621490952 96415

dc_histogram_defs 217299674 1852549 99.1474681181 646908

dc_table_scns 4801 4801 0 0

dc_users 1300331635 10744 99.9991737492 789

qmtmrcin_cache_entries 1 1 0 0

outstanding_alerts 413246 2893 99.2999327277 6092

dc_files 36345 49 99.8651809052 6

dc_global_oids 28777369 6959 99.9758178032 235

dc_profiles 5282207 1 99.9999810685 0

PARAMETER SUM(T1.GETS)SUM(T1.GETMISSES) PCT_SUCC_GETS UPDATES

-------------------------------------------- ----------------- ------------- ----------

global database name 12620366 16 99.9998732207 0

qmtmrctn_cache_entries 13 13 0 0

qmtmrciq_cache_entries 1 1 0 0

qmtmrctq_cache_entries 586 585 0.17064846416 0

qmrc_cache_entries 7 7 0 0

25 rows selected

SQL>

PARAMETER:标识一个特定类型的数据字典条目,以dc_为前缀。

GETS:对特性数据字典条目请求的数据总数量

GETMISSES:显示由于数据字典缓存失败,需要进行磁盘I/O操作的数据的数量

MODIFICATIONS:显示数据字典缓存中数据被更新的次数

3.3 共享池大小的调整

通常情况下,库缓存命中率应该高于99%,而数据字典缓存命中率应该高于90%,否则需要调整共享池大小了。因为库缓存的大小和数据字典缓存大小没

首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle中PL/SQL的执行部分和各种.. 下一篇oracle锁表、解锁的语句

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: