使用LoadRunner测试Oracle数据库经验总结

发表于:2010-3-11 11:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:senciya    来源:51Testing软件测试博客

  1、我将登录SQL*Plus的操作也录制在Action中,添加迭代运行会报错,提示如下:

  Action.c(11): Error: lrdo_server_attach: "OCIServerAttach" return-code=OCI_ERROR, error-code=24309:

  Action.c(11): Error:     ORA-24309: 已连接至服务器

  Action.c(11): server_attach: ERROR, return-code=LRDE2009.  ServerHandle=OraSrv1, ServerID="customs"

  Abort was called from an action.

  解决办法:1)将登陆SQL*Plus的操作录制在vuser_init中;2)同时录制退出SQL*Plus的操作

  2、测试压力上来以后,会有好多Vuser出现Error,具体报错如下:

  Action.c(37): Error: lrdo_ora8_exec: "OCIStmtExecute" return-code=OCI_ERROR,error-code=00054:

  解决方法:把lrd_ora8_exec(OraSvc1, OraStm<i>, 0, 0, &uliRowsProcessed, 0, 0, 0, 0, 0);

  改为:lrd_ora8_exec(OraSvc1, OraStm<i>, 0, 0, &uliRowsProcessed, 0, 0, 0, 0, 1);

  3、测试压力上来以后,会有好多Vuser出现Error,具体报错如下:

  Action.c(13): Error: lrdo_server_attach: "OCIServerAttach" return-code=OCI_ERROR, error-code=12514:

  解决办法:开启数据库服务器监听,启动数据库服务器。

  4、测试压力上来以后,会有好多Vuser出现Error,具体报错如下:

  Action.c(26): Error: C interpreter run time error: Action.c (26): Error -- Unresolved symbol : lrd_session_begin.

  解决办法:在vuser_init中添加 #include "lrd.h"

  5、测试压力上来以后,会有好多Vuser出现Error,具体报错如下:

  Starting iteration 1.

  Starting action Action.

  Action.c(13): Error: lrdo_server_attach: "OCIServerAttach" return-code=OCI_ERROR, error-code=12541:

  Action.c(13): Error: ORA-12541: TNS: 没有监听器

  Action.c(13): server_attach: ERROR, return-code=LRDE2009. ServerHandle=OraSrv1, ServerID="lr"

  解决办法:启动数据库服务器,开启listener。如果需要使用isqlplus的话,开启服务:$isqlplusctl start

  6、测试压力上来以后,会有好多Vuser出现Error,具体报错如下:

  Action.c(13): Error: lrdo_server_attach: "OCIServerAttach" return-code=OCI_ERROR, error-code=12514:

  Action.c(13): Error: ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME

  Action.c(13): server_attach: ERROR, return-code=LRDE2009. ServerHandle=OraSrv1, ServerID="lr"

  解决办法:检查压力机Oracle客户端解析文件tnsnames.ora,确保正确配置了这个文件。

  检查测试的数据库服务器,确保正确配置了监听,并已经开启。

  7、使用Controller产生负载,最后测试数据只有以下4条性能曲线:Running Vusers、Trans Response Time、Trans/Sec(Passed)、Total Trans/Sec(Passed)、其余的Throughput、HTTP Responses per Second、Connections等等性能统计项均显示为灰色,没有统计数据

  解决办法:因为sqlplus.exe是一个win32程序,那么在测试的过程中只统计上面的四项,它不会统计Throughput这些Web测试才有的性能曲线。

  所以,如果想对数据库服务器测试的更全面,这个时候就要使用isqlplus来发出查询。

  1)在DB server上启动isqlplus服务:isqlplusctl start

  2)启动VuGen,在客户端(压力机)启动isqlplus的Web页面

  3)输入用户名、密码,我这里采用scott/tiger@lr

  OK!录制完成之后,产生压力执行测试。顺利结束之后,可以看到如下曲线已经抓取出来了:

  Throughput、HTTP Responses per Second、Connections

  剩余的工作就是如何分析性能数据了。

(以上言论仅代表作者的个人观点,不代表51Testing观点)


版权声明:本文出自senciya的51Testing软件测试博客:http://www.51testing.com/?38732

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号