测试人员如何使用Oracle数据库,使用LoadRunner测试Oracle数据库经验总结

这篇博客总结了在使用LoadRunner进行Oracle数据库压力测试时遇到的一些常见错误,如OCIServerAttach错误、OCIStmtExecute错误、监听问题等,并提供了相应的解决方法,包括检查配置文件、启动服务、修改代码等。此外,还提到了由于sqlplus.exe不支持某些性能统计,建议使用isqlplus来获取更全面的性能数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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, 0, 0, &uliRowsProcessed, 0, 0, 0, 0, 0);

改为:lrd_ora8_exec(OraSvc1, OraStm, 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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值