ORACLE数据库性能问题查找方法

时间:2024-02-02 点赞:43494 浏览:83186 作者原创标记本站原创

本文是一篇数据库论文范文,关于数据库类毕业论文开题报告范文,关于ORACLE数据库性能问题查找方法相关电大毕业论文范文。适合数据库及性能及情况方面的的大学硕士和本科毕业论文以及数据库相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:随着海量数据库系统的深入应用,数据库性能逐渐成为系统的主要瓶颈之一,而性能调整的重中之重就是成功定位性能问题.文章尝试以枚举的方式,列举当前常用的一些性能问题查找方法,希望能够对读者查找性能问题思路.

关 键 词:日志内存命中率等待事件实例活动

中图分类号:TP39文献标识码:A文章编号:1007-3973(2010)04-061-02

随着数据库系统的普遍使用,一方面,各类型企业海量数据信息的存储变得不再困难,越来越多的企业以数据为核心开展自身业务,另一方面,随着数据库系统的长期、深入使用,数据量日积月累的海量增加,数据库逐渐成为企业系统性能性能问题的高发区.

解决数据库的性能问题,提高系统运行速度逐渐成为各DBA的主要任务之一.数据库性能问题调整工作贯穿于整个数据库生存周期,从数据库的设计,实施开始,一直到结束使用.但由于数据库性能问题的时效性、隐蔽性以及突然性等特性使问题的定位变得异常困难.本文结合了一些常见的性能分析手段,枚举了性能问题的定位方法,希望能抛砖引玉使数据库的性能问题定位更规范化、流程化.

1日志监控

由于性能问题常常会伴随着一些系统异常,或者是一些异常发生的先兆,所以监控数据库系统日志是定位性能故障的一个基本点.

1.1库警告日志监控

Oracle在运行过程中,会在BDUMP路径下的警告日志文件中记录数据库的一些运行情况,包括系统启动参数、日志切换情况、数据库异常等.大部分性能问题发生的同时都会伴随着一些异常信息如:死锁、回滚段溢出、临时表空间满等.

1.2监听警告日志监控

监听日志记录数据库的每个连接(无论是正常的还是非法的)的链接情况,查看该日志可以获取数据库链接情况,当出现链接相关的性能问题,如:PGA耗尽或达到UNIX最大链接数等就应该查询该文件.

2OS系统性能监控

由于OS是数据库系统运行的基础,也是数据库系统的载体,所以数据库性能问题一般反映到OS系统上就是CPU、内存、I/O资源的消耗殆尽.所以OS层出现资源短缺的时候,亦是数据出现资源短缺的时候.

2.1TOP命令监控内存/进程/CPU

top命令用来显示执行中的程序进程和其他状况,使用权限是所有用户,top命令提供了实时的对系统处理器的状态监视,通过该命令可以查看数据库进程对CPU、内存等资源的占用情况,并从OS进程PID查找出故障SQL.

2.2VMSTAT监控内存情况

vmstat命令报告关于内核线程的统计信息,包括处于运行和等待队列中的、内存中的、页面调度中的、磁盘中的、中断、系统调用、上下文切换和CPU活动的内核线程.该命令可以确定系统内存的整体消耗情况.


2.3IOSTAT监控I/O情况

iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.该命令可以查看系统的整体I/O消耗状态.

3等待事件监控

在任何一个时间点,每个Oracle进程都正在忙于服务一个请求或者等待某些事件的发生.Oracle的等待事件是衡量Oracle运行状况的重要依据及指标,分为:空闲事件Oracle正等待某种工作,非空闲等待事件专门针对Oracle的活动,指数据库任务或应用运行过程中发生的等待

3.1系统等待事件

通过v$system_event视图,查询从实例启动后各个等待事件的概括.根据系统等待信息的历史影象,并通过两个snapshot获取等待项增量,可以确定这段时间内系统的总体等待信息.从数据库系统级别判断存在等待的资源瓶颈.

3.2会话等待事件

V$session_wait提供了任何情况下session在数据库中当前正在等待什么(如果session当前什么也没在做,则显示它最后的等待事件).当系统存在性能问题时,可使用该视图进一步定位引起等待事件的会话等信息.

4内存命中率监控

监控内存命中率,可以有效地定位由内存参数分配与实际数据库运行状态不匹配等,由数据库内存引起的性能问题故障.

4.1字典缓存命中率

数据字典缓存区是存储在共享池中的,它缓存了最近访问的数据字典信息.在内存中缓存这些信息将大大减少了时间和解析SQL语句所必须的I/O.字典缓冲区的命中率≥95%认为是理想的.

4.2库缓存命中率

库高速缓存区是系统全局区(SGA)中的一块区域.Oracle对最近执行的SQL语句执行计划和解析树进行缓存,也包括了PL/SQL代码的缓存备份.库高速缓存区的命中率表明了代码重用的频繁程度.通常来说,命中率接近100%是理想值.

4.3数据库高速缓存区命中率

数据库高速缓存区,以下称为高速缓存区,它存放着内存中最近被访问的数据块.通过查看高速缓存器的命中率,DBA可以判断出数据库高速缓存器的规模是否合理.如果命中率≥90%,可以认为参数设置是合理的,否则说明缓存中的很多数据无法满足数据库访问的需要,增加了系统I/O操作的次数.

4.4闩命中率

获得Latch的次数与请求Latch的次数的比率.该指标的值应接近100%,如果低于99%,可以考虑采取一定的方法来降低对Latch的争用.

4.5内存排序命中率

指排序操作在内存中进行的比率.当查询需要排序的时候,数据库会话首先选择在内存中进行排序,当内存大小不足的时候,将使用临时表空间进行磁盘排序,但磁盘排序效率和内存排序效率相差好几个数量级.该指标的值应接近100%,如果指标的值较低,则表示出现了大量排序时的磁盘I/O操作.

5实例活动情况监控

针对性能问题期间,对实例的各个内部模块的活动和各种资源使用情况的统计,主要包括CPU使用情况,SQL*Net消息,链接的行存取和PGA使用情况等,从数据库的实际活动情况可以分析出数据库系统的负载情况,主要活动内容等.

5.1系统活动情况

v$sysstat视图可用于监控系统资源使用情况,以及系统资源利用率的变化.正因如此多的性能数据,检查某区间内系统资源使用情况可以这样做,在一个时间段开始时创建一个视图数据快照,结束时再创建一个,二者之间各统计项值的不同(endvalue-beginvalue)即是这一时间段内的系统资源消耗情况.

5.2会话活动情况

v$sesstat存储session从login到logout的详细资源使用统计.类似于v$sysstat可从该视图查询出每一会话的资源消耗情况.

6STATPACK/AWR检测

通过Statspack/AWR我们可以很容易的确定Oracle数据库的瓶颈所在,记录数据库性能状态,也可以使远程技术支持人员迅速了解你的数据库运行状况.

7自建JOB监控实时视图

由于会话等待事件,会话活动等均为实时视图,无历史记录,而STATPACK/AWR有时不能抓取想要的信息,此时,需要建立一套临时记录表,编写存储过程,定时记录相关的实时情况,再根据空闲时段的视图对比,获取系统的瓶颈.

8通过自建视图对比检测

由于系统等待事件视图与系统实例活动视图等系统级视图记录的都是由系统启动以来的信息,并不能体现出增量变化情况,此时可创建临时表记录系统表信息,然后在使用当前系统表信息与之对比,以获取在故障时段的增量变化,以便从变化中定位到系统瓶颈.

9结束语

ORACLE数据库性能问题出现机率,会随着数据库系统的使用时间与使用频率会成几何倍数上升,但性能问题一般出现都会呈现明显的时段性、随机性,这使得故障重现,或者在故障发生期间及时查找出故障问题变得难上加难.

数据库的性能问题定位是一个系统工程,涉及的方面很多.如何有效地进行定位,数据库管理员需要经过反反复复的过程,且要注重各方面的努力才会取得整体效果.这些都需要在大量的实践工作中不断地积累经验,从而更好地进行数据库的调优而解决问题的关键是找到真正的性能问题.

相关论文

ORACLE数据库教学大纲

关于教育技术及作业及信息技术方面的免费优秀学术论文范文,教育技术方面有关小学教学论文库,关于ORACLE数据库教学大纲相关论文范文参考文。

法律自考文参考文献查找方法

关于参考文献及法律自考及自考生方面的免费优秀学术论文范文,参考文献方面有关论文反抄袭软件,关于法律自考文参考文献查找方法相关论文范。

oracle数据库安全概

本文是一篇数据库论文范文,数据库类有关毕业论文范文,关于oracle数据库安全概相关专升本毕业论文范文。适合数据库及操作系统及信息安全方面。

oracle数据库

本文是一篇数据库论文范文,数据库类有关函授毕业论文,关于oracle数据库相关开题报告范文。适合数据库及计算机及方面的的大学硕士和本科毕业。

电梯光幕的原理性能和检测方法

本文是一篇电气安全论文范文,电气安全有关在职研究生毕业论文,关于电梯光幕的原理性能和检测方法相关研究生毕业论文开题报告范文。适合电气。

电缆故障点查找方法

本文是一篇电缆论文范文,关于电缆毕业论文,关于电缆故障点查找方法相关学年毕业论文范文。适合电缆及故障及电气设备方面的的大学硕士和本科。