• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

教你怎样加强数据库实时连接数的稳定性

发布: 2007-7-04 17:55 | 作者: admin | 来源:  网友评论 | 查看: 30次 | 进入软件测试论坛讨论

领测软件测试网

数据库的实时连接数是否稳定是衡量一套IT系统是否稳定的一个指标。当新系统推出或者在没有严格测试环境下更应该收集和关注这个数据。

我写了一个简单的存储过程采样数据库实时连接数并利用dbms_job来定时,方法如下:

1.在sys用户下建立保存数据库实时连接数结果的表session_num,并建立公有同义词

     create table session_num(    num number(6),    username varchar2(30),    machine varchar2(30),    reportdate date )   pctfree 1 pctused 99 tablespace users;   create public synonym session_num for sys.session_num;
  

2.写一个存储过程select_sessionnum.sql

     create or replace procedure select_sessionnum   is   begin      insert into session_num(num,username,machine,reportdate)      select count(*),username,machine,sysdate      from v$session      where username is not null      group by username,machine;      commit;   exception    when others then    rollback;    raise;   end;   /
  

3.用dbms_job设定每隔一个小时调用select_sessionnum过程采样数据

     variable jobno number;   begin   dbms_job.submit(:jobno,'select_sessionnum;', sysdate,'sysdate + 1/24');   commit;   end;   /
  

关于dbms_job使用和介绍可以参考这篇文章:《在Oracle中实现定时操作》

4.DBA和一般用户都可以不定期检查这些数据:

  set pagesize 1000;   set linesize 100;   column username format a15;   column machine format a30;   select * from session_num where num>50;   select * from v$license;
  

发现异常的问题要用文档记录下来,并发给开发团队参考。历史数据可以用truncate table session_num;清掉(这个50是我假设的一个值,不同的应用系统值会不一样)。

5.如果系统稳定并没有新的服务添加时,可以从sys用户下删掉这个采样工作:

     select job from user_jobs where what='select_sessionnum;';       JOB   ----------      1912           exec dbms_job.remove(1912);
  

后话:这个方法和statspack采样的方式很相象, 但不会增加系统太大的负担。如果你关注其它参数也可以依葫芦画瓢来采样并跟踪它们。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网