性能测试常用Oracle语句,这10个果断收藏了!

数据库的性能优化是个非常复杂的事情,熟悉Oracle的专家能手更是数不胜数,所以虽说我已经入行软件测试5年之久,但也没敢写过Oracle。

直到最近,我认识了一位资深Oracle大师,我竟然发现大师有几个地方说错了,主要是在理论联系实际的问题分析、AWR报告解读方面,提问之后竟然把大师挂在了台上。后来想想,大师也有不懂的,我怕什么呢,写!下面我就和大家分享下,从性能测试的角度看Oracle。

oracle的性能测试主要是模拟大量的sql语句操作,来对数据库服务器进行加压。在测试前,需要准备以下要模拟的sql语句,测试脚本,并将测试控制机、测试加压机、被测数据库服务器准备妥当。

Oracle数据库性能优缺点

优点

1、能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。

2、平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。

3、如果windowsNT不能满足需要, 用户可以把数据库移到UNIX中。

4、安全性方面,性能最高。

5、客户端支持及应用模式 ,多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接式要求,可根据实际系统需求构造数据库。

6、采用标准的SQL结构化查询语言。

7、具有丰富的开发工具,覆盖开发周期的各阶段。

8、支持大型数据库,数据类型支持数字、字符、大至2GB的二进制数据,为数据库的面向对象存储提供数据支持。

9、具有第四代语言的开发工具(SQL*FORMS、SQL*REPORTS、SQL*MENU等)。

10、具有字符界面和图形界面,易于开发。

11、通过SQL*DBA控制用户权限,提供数据保护功能,监控数据库的运行状态,调整数据缓冲区的大小。

12、分布优化查询功能。

13、具有数据透明、网络透明,支持异种网络、异构数据库系统。并行处理采用动态数据分片技术。

14、支持客户机/服务器体系结构及混合的体系结构(集中式、分布式、客户机/服务器)。

15、实现了两阶段提交、多线索查询手段。

16、数据安全保护措施:没有读锁,采取快照SNAP方式完全消除了分布读写冲突。自动检测死锁和冲突并解决。

17、数据安全级别为C2级(最高级)。

18、数据库内模支持多字节码制,支持多种语言文字编码。

19、具有面向制造系统的管理信息系统和财务系统应用系统。

20、WORKGROUP/2000具有ORACLE7WORKGROUP服务器,POWER OBJECTS(图形开发环境,支持OS/2、UNIX、WINDOWS/NT平台。

21、在中国的销售份额占50%以上。

缺点

1、管理维护麻烦一些;

2、数据库崩溃后回复很麻烦,因为他把很多东西放在内存里;

3、数据库连接要慢些,最好用连接池;

4、大对象不好用,vchar2字段太短,不够用;

5、管理员的工作烦,且经验非常重要;

6、对硬件的要求很高;

性能测试常用Oracle语句

显示数据库当前的连接数:

selectcount(*) from v$process;

显示数据库最大连接数:

selectvalue from v$parameter where name ='processes'

修改最大Oracle最大连接数:

alter systemset processes = 300 scope = spfile;

显示当前的session连接数:

selectcount(*) fromv$session

查看当前有哪些用户正在使用数据:

SELECT osuser,a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine fromv$session a, v$sqlarea b where a.sql_address =b.address order by cpu_time/executionsdesc;

查看数据库中SGA:

System globalarea (SGA),system global area(PGA);

查看连接oracle的所有机器的连接数:

selectmachine,count(*) fromv$session groupbymachine;

查看连接oracle的所有机器的连接数和状态:

selectmachine,status,count(*) fromv$session groupbymachine,status orderbystatus;

Oracle 11g设置内存自动管理:

查看消耗磁盘读取最多的SQL Top 5:

selectdisk_reads,sql_text,SQL_FULLTEXT

from (selectsql_text,disk_reads,SQL_FULLTEXT,

dense_rank() over

(order by disk_reads desc) disk_reads_rank

from v$sql)

wheredisk_reads_rank

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181108A1SAS800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券