Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

109

积分

0

好友

9

主题
1#
发表于 2012-4-17 12:23:36 | 查看: 6680| 回复: 15
从数据库中使用如下语句查询到固定的一到两个数据文件物理读和物理写比较高,多次查询差不多都是类似的结果,请问该采取哪些措施优化?
SQL> select phyrds,phywrts,d.name from v$datafile d,v$filestat f where f.file#=d.file# and rownum<=20;

    PHYRDS    PHYWRTS
---------- ----------
NAME
--------------------------------------------------------------------------------
     52073      90788
/oradata/db/system01.dbf

       196     130478
/oradata/db/undotbs01.dbf

    101949     248154
/oradata/db/sysaux01.dbf


    PHYRDS    PHYWRTS
---------- ----------
NAME
--------------------------------------------------------------------------------
      2462        979
/oradata/db/users01.dbf

    849087     291478
/oradata/db/NEWDB.dbf

  25466919     118096
/oradata/db/DB1.dbf


6 rows selected.

相关信息:
SQL> show parameter sga;      

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 4688M
sga_target                           big integer 4688M
SQL> show sga;

Total System Global Area 4915724288 bytes
Fixed Size                  2027552 bytes
Variable Size            1358958560 bytes
Database Buffers         3539992576 bytes
Redo Buffers               14745600 bytes
服务器为两颗4核PowerPC_POWER6 CPU,内存16G, AIX系统,数据库10.2.0.1.0 - 64bit

[ 本帖最后由 chunchun2012 于 2012-4-17 12:24 编辑 ]
2#
发表于 2012-4-17 18:53:08
phyrds,phywrts  这些都是累计值 amount ,并不能真正意义上反应 一段时间内 实例的 IO情况

从10g以后我们更关注于 性能的度量值 metric,度量是指 一段时间内指标的变化。

建议你做一个问题时间段内 60分钟的AWR , IO可能并不算系统的主要瓶颈, 我们在解决性能问题时 总是希望先解决主要矛盾。

回复 只看该作者 道具 举报

3#
发表于 2012-4-17 20:34:44
领教了!那AWR中主要关注哪一部分信息?
另外,当前系统配置不错,两颗4核PowerPC_POWER6 CPU,内存16G, AIX系统,数据库10.2.0.1.0 - 64bit,
数据库当前分配内存状态如下
SQL> show parameter sga;      

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 4688M
sga_target                           big integer 4688M
SQL> show sga;

Total System Global Area 4915724288 bytes
Fixed Size                  2027552 bytes
Variable Size            1358958560 bytes
Database Buffers         3539992576 bytes
Redo Buffers               14745600 bytes

有没有一个经验值,SGA,PGA占内存总量的百分比为多少时,比较合适?

[ 本帖最后由 chunchun2012 于 2012-4-17 20:51 编辑 ]

回复 只看该作者 道具 举报

4#
发表于 2012-4-17 21:17:15
Question:
"那AWR中主要关注哪一部分信息?"

如果你只关心IO 那么去看看 IO Stats 这块

    Tablespace IO Stats
    File IO Stats

"有没有一个经验值,SGA,PGA占内存总量的百分比为多少时,比较合适?"


一般的教课书 会告诉你一些公式 , 但我并不认为存在万能的 经验公式。  OLTP  OLAP DW 不同的应用环境会有很大的差别。

回复 只看该作者 道具 举报

5#
发表于 2012-4-17 21:24:14
现在已经知道数据库是OLTP类型的,数据库的SGA参数配置也查到了,个人感觉数据库没有充分利用到服务器上的内存资源,所以想调整一下,我也知道没有万能的公式,但是目前是想先按经验值大方向调整一下,看看效果,再进行微调,版主能否给个建议?
服务器配置 两颗4核PowerPC_POWER6 CPU,内存16G, AIX系统,数据库10.2.0.1.0 - 64bit,
数据库当前分配内存状态如下
SQL> show parameter sga;      

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 4688M
sga_target                           big integer 4688M
SQL> show sga;

Total System Global Area 4915724288 bytes
Fixed Size                  2027552 bytes
Variable Size            1358958560 bytes
Database Buffers         3539992576 bytes
Redo Buffers               14745600 bytes
经过几次向楼主请教,发现我现在应该加强体系结构和基本概念的学习, 数据库优化更是需要日积月累的,但是目前有些眼前的问题需要解决,所以不得不先把这些暂时解决掉,呵呵....

[ 本帖最后由 chunchun2012 于 2012-4-17 21:27 编辑 ]

回复 只看该作者 道具 举报

6#
发表于 2012-4-17 21:28:01
上传 业务高峰  时段 一个小时的AWR报告

回复 只看该作者 道具 举报

7#
发表于 2012-4-17 21:36:50
收集了立马上传
业务高峰时段收集AWR报告时,有没有注意事项,应该对数据库性能影响很小吧?

回复 只看该作者 道具 举报

8#
发表于 2012-4-18 16:07:30
"业务高峰时段收集AWR报告时,有没有注意事项,应该对数据库性能影响很小吧?"

AWR snapshot 性能快照是每小时 自动会收集一次的,

这里的 "收集报告"不是指做一个快照,而是指 用如 awrrpt.sql这样的awr report 脚本 在 "事后" (7/8天之内的任意时间) 将性能快照信息 导出为实体的 TXT或者 HTML 形式 ,  是要导出 高峰时段的AWR 性能快照,   请搞清楚AWR 的基本概念。

回复 只看该作者 道具 举报

9#
发表于 2012-4-18 18:00:36
...,谢谢,知道了

回复 只看该作者 道具 举报

10#
发表于 2012-4-19 13:16:53
已经收集了AWR报告,请帮我分析一下
awrrpt_1_14962_14966(yesterday07-11).html (277.16 KB, 下载次数: 5)
awrrpt_1_14964_14965(yesterday09-10).html (278.93 KB, 下载次数: 0)
awrrpt_1_14986_14989(today07-09).html (286.91 KB, 下载次数: 1)
awrrpt_1_14988_14989(today09-10)).html (292.36 KB, 下载次数: 0)
Readme.txt (281 Bytes, 下载次数: 5)
AWR1.jpg

2.jpg

[ 本帖最后由 chunchun2012 于 2012-4-20 08:01 编辑 ]

回复 只看该作者 道具 举报

11#
发表于 2012-4-19 21:00:07
Elapsed:                 179.97 (mins)                  
DB Time:                 14.87 (mins)         


你的几个 awr报告 收集的时间周期都太长了 , 一般间隔在 1小时即可。

就DB TIME来看 系统的 性能负载都很轻微 , IO也没有成为系统的 性能瓶颈。

回复 只看该作者 道具 举报

12#
发表于 2012-4-19 21:32:40
yesterday09-10和today09-10这两个是一个小时,另外两个时间是有点长,
有几个地方我不太确定,
1. sort 99.11/second是不是有点长?
2. top 5里面os thread startup的avg waits最高,这个os thread startup是指什么?
3. Complete List of SQL Text里面有一些排在前面的SQL语句怎么那么长?能不能根据SQL部分的信息分析一下SQL语句有无明显问题?

回复 只看该作者 道具 举报

13#
发表于 2012-4-19 21:49:48
负载很轻微的系统, 240.57 (mins) 内 os thread startup 的总等待时间 为 11s 可以忽略

os thread startup 你可以理解为启动一个新的oracle服务进程

在重复一次 就AWR来看 负载极低 ,目前看来不存在调优的必要。

回复 只看该作者 道具 举报

14#
发表于 2012-4-19 22:17:16
楼主提供的附件我怎么看不了?需要什么特别权限吗?

回复 只看该作者 道具 举报

15#
发表于 2012-4-20 07:55:28

回复 13# 的帖子

好的,多谢maclean!

回复 只看该作者 道具 举报

16#
发表于 2012-4-20 08:00:04

回复 14# 的帖子

因为AWR报告中可能涉及到与业务相关的信息,出于安全保密的原因,附件阅读权限设得高,这里贴出一部分内容,供学习和分析。见10楼图片。

[ 本帖最后由 chunchun2012 于 2012-4-20 08:01 编辑 ]

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-25 00:59 , Processed in 0.064566 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569