ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据库诊断一例

数据库诊断一例

原创 Linux操作系统 作者:husthxd 时间:2008-06-17 10:53:59 0 删除 编辑
平台:

生产环境:
安腾64bit CPUx8
16G memory
Windows 2003 Server 64bit
测试环境:
安腾64bit CPUx4
8G memory
Windows 2003 Server 64bit

现象:
同样的一条SQL语句,生产机执行需要200s,测试机上只需要5s,性能有巨大差异。

不在现场,通过常规的诊断步骤去判断:
1.由于数据库参数没有调整过,使用安装时的默认参数,首先进行 数据库参数调优
a.sga_max_size修改为物理内存的60%
b.sga_target修改为物理内存的50%
c.pga_aggregate_target修改为物理内存的25%

2.收集统计信息
exec dbms_stats.gather_schema_stats(ownname=>'<用户名>',DEGREE=>CPU数目);
如有多个用户,修改<用户名>,重复执行该过程。

完成上面两个步骤后,现象依旧。
再次沟通后,发现生产机所有的sql均有这样的情况,怀疑是磁盘阵列的问题。
于是在测试环境和开发环境以sysdba登录均执行以下语句:
sql>set timing on
sql>create tablespace tbs_test datafile '<阵列所在的目录>\tbs_test01.dbf' size 2048M;
sql>drop tablespace tbs_test including contents and datafiles;
并记录执行时间。

发现生产环境耗时4分50秒,测试环境耗时45秒。

由此诊断可断定是磁盘阵列的问题,已要求厂商解决。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/6906/viewspace-349427/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 绩效管理
请登录后发表评论 登录
全部评论
ITPUB数据库版块资深版主,对Oracle、PostgreSQL有深入研究。

注册时间:2007-12-28

  • 博文量
    1602
  • 访问量
    4380195