姿姿霸霸~~!
贵在坚持!
posts - 106,  comments - 50,  trackbacks - 0
   

DB Name

DB Id

Instance

Inst num

Release

RAC

Host

TEST1212

3399531915

test1212

1

10.2.0.1.0

NO

DANDAN

Snap Id

Snap Time

Sessions

Cursors/Session

Begin Snap:

1

20-12-10 21:01:03

15

2.5

End Snap:

2

20-12-10 22:00:52

17

5.4

Elapsed:

59.81 (mins)

DB Time:

0.83 (mins)

DBid是唯一的数据库的标示,rman中也能看到该值

C:"Documents and Settings"sure>rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期一 12 20 22:34:01 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到目标数据库: TEST1212 (DBID=3399531915)

RMAN>

DB Time不包括Oracle后台进程消耗的时间。如果DB Time远远小于Elapsed时间,说明数据库比较空闲。计算公式:

59分钟里(其间收集了2次快照数据),数据库耗时0.83分钟,系统有1CPU,平均CPU耗时0.83分钟,CPU利用率只有大约1.38%0.83/59.81)。说明系统压力非常小(该系统啥都没做J)

对于批量系统,数据库的工作负载总是集中在一段时间内。如果快照周期不在这一段时间内,或者快照周期跨度太长而包含了大量的数据库空闲时间,所得出的分析结果是没有意义的。这也说明选择分析时间段很关键,要选择能够代表性能问题的时间段。

Cache Sizes

Begin

End

Buffer Cache:

412M

408M

Std Block Size:

8K

Shared Pool Size:

156M

160M

Log Buffer:

6,968K

显示SGA中每个区域的大小,可用来与初始参数值比较。

shared pool主要包括library cache和dictionary cache。library cache用来存储最近解析(或编译)后SQL、PL/SQL。library cache用来存储最近引用的数据字典。发生在library cache或dictionary cache的cache miss代价要比发生在buffer cache的代价高得多。因此shared pool的设置要确保最近使用的数据都能被cache,也就是尽可能的保持被命中(即传说中的命中率)。

Load Profile

Per Second

Per Transaction

Redo size:

4,600.89

18,956.88

Logical reads:

427.08

1,759.70

Block changes:

29.02

119.57

Physical reads:

1.84

7.57

Physical writes:

0.37

1.52

User calls:

0.11

0.47

Parses:

5.13

21.14

Hard parses:

0.59

2.44

Sorts:

3.03

12.47

Logons:

0.03

0.14

Executes:

17.41

71.72

Transactions:

0.24

% Blocks changed per Read:

6.80

Recursive Call %:

99.93

Rollback per transaction %:

0.00

Rows per Sort:

189.64

 

显示数据库负载概况,将之与基线数据比较才具有更多的意义,如果每秒或每事务的负载变化不大,说明应用运行比较稳定。单个的报告数据只说明应用的负载情况,绝大多数据并没有一个所谓“正确”的值,然而Logons大于每秒1~2个、Hard parses大于每秒100、全部parses超过每秒300表明可能有争用问题

Redo size:每秒/每事务产生的redo大小(单位字节),可标志数据库任务的繁重程序。

Logical reads:每秒/每事务逻辑读的块数

Block changes:每秒/每事务修改的块数

Physical reads:每秒/每事务物理读的块数

Physical writes:每秒/每事务物理写的块数

User calls:每秒/每事务用户call次数

Parses:SQL解析的次数

Hard parses:其中硬解析的次数,硬解析太多,说明SQL重用率不高。

Sorts:每秒/每事务的排序次数

Logons:每秒/每事务登录的次数

Executes:每秒/每事务SQL执行次数

Transactions:每秒事务数

Blocks changed per Read:表示逻辑读用于修改数据块的比例

Recursive Call:递归调用占所有操作的比率

Rollback per transaction:每事务的回滚率

Rows per Sort:每次排序的行数

 

Instance Efficiency Percentages (Target 100%)

Buffer Nowait %:

100.00

Redo NoWait %:

100.00

Buffer Hit %:

99.57

In-memory Sort %:

100.00

Library Hit %:

92.37

Soft Parse %:

88.46

Execute to Parse %:

70.52

Latch Hit %:

99.99

Parse CPU to Parse Elapsd %:

84.03

% Non-Parse CPU:

80.34

这一段包含了Oracle关键指标的内存命中率及其它数据库实例操作的效率。

Buffer Hit Ratio:也称Cache Hit Ratio,Library Hit ratio也称Library Cache Hit ratio。同Load Profile一节相同,这一节也没有所谓“正确”的值,而只能根据应用的特点判断是否合适。在一个使用直接读执行大型并行查询的DSS环境,20%的Buffer Hit Ratio是可以接受的,而这个值对于一个OLTP系统是完全不能接受的。根据Oracle的经验,对于OLTPT系统,Buffer Hit Ratio理想应该在90%以上。

Buffer Nowait:表示在内存获得数据的未等待比例。

buffer hit:表示进程从内存中找到数据块的比率,监视这个值是否发生重大变化比这个值本身更重要。对于一般的OLTP系统,如果此值低于80%,应该给数据库分配更多的内存。

Redo NoWait:表示在LOG缓冲区获得BUFFER的未等待比例。如果太低(可参考90%阀值),考虑增加LOG BUFFER

library hit:表示Oracle从Library Cache中检索到一个解析过的SQL或PL/SQL语句的比率,当应用程序调用SQL或存储过程时,Oracle检查Library Cache确定是否存在解析过的版本,如果存在,Oracle立即执行语句;如果不存在,Oracle解析此语句,并在Library Cache中为它分配共享SQL区。低的library hit ratio会导致过多的解析,增加CPU消耗,降低性能。如果library hit ratio低于90%,可能需要调大shared pool区

Latch Hit:Latch是一种保护内存结构的锁,可以认为是SERVER进程获取访问内存数据结构的许可。要确保Latch Hit>99%,否则意味着Shared Pool latch争用,可能由于未共享的SQL,或者Library Cache太小,可使用绑定变更或调大Shared Pool解决

Parse CPU to Parse Elapsd:解析实际运行时间/(解析实际运行时间+解析中等待资源时间),越高越好。

Non-Parse CPU:SQL实际运行时间/(SQL实际运行时间+SQL解析时间),太低表示解析消耗时间过多。

Execute to Parse:是语句执行与分析的比例,如果要SQL重用率高,则这个比例会很高。该值越高表示一次解析后被重复执行的次数越多。

In-memory Sort:在内存中排序的比率,如果过低说明有大量的排序在临时表空间中进行。考虑调大PGA。

Soft Parse:软解析的百分比(softs/softs+hards),近似当作sql在共享区的命中率,太低则需要调整应用使用绑定变量。

Shared Pool Statistics

Begin

End

Memory Usage %:

45.69

56.15

% SQL with executions>1:

52.03

32.99

% Memory for SQL w/exec>1:

87.15

60.31

Memory Usage %:对于一个已经运行一段时间的数据库来说,共享池内存使用率,应该稳定在75%-90%间,如果太小,说明Shared Pool有浪费,而如果高于90,说明共享池中有争用,内存不足

SQL with executions>1:执行次数大于1的sql比率,如果此值太小,说明需要在应用中更多使用绑定变量,避免过多SQL解析。

Memory for SQL w/exec>1:执行次数大于1的SQL消耗内存的占比。

Top 5 Timed Events

Event

Waits

Time(s)

Avg Wait(ms)

% Total Call Time

Wait Class

CPU time

37

74.1

db file sequential read

3,312

12

4

24.1

User I/O

control file parallel write

1,198

5

4

9.5

System I/O

os thread startup

58

2

33

3.9

Concurrency

db file scattered read

432

2

4

3.4

User I/O

 


posted on 2010-12-20 23:06 xrzp 阅读(638) 评论(0)  编辑  收藏 所属分类: oracle-优化

只有注册用户登录后才能发表评论。


网站导航:
 

<2010年12月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿(4)

随笔分类

随笔档案

好友的blog

搜索

  •  

积分与排名

  • 积分 - 116440
  • 排名 - 500

最新评论

阅读排行榜

评论排行榜