现在位置: 首页 > Oracle性能优化
2016年04月12日 数据库 ⁄ 共 2288字 ⁄ 阅读 605 次
Oracle调优主要有三个领域:一是应用程序,主要针对SQL语句;二是实例,主要针对内存、数据结构和实例配置等;三是操作系统交互,主要针对I/O、参数设置等。 性能调优的目的,一方面是想提升SQL语句执行效率减少执行时间,另一方面是降低资源消耗,如CPU消耗、内存消耗和I/O消耗。降低CPU消耗主要是减少不必要的计算,如排序操作(如order by)、对比操作(如distinct)等,降低I/O消耗和内存消耗主要是减少不必要的表扫描。 【...
阅读全文
2015年02月28日 数据库 ⁄ 共 5272字 ⁄ 阅读 8,860 次
Oracle SQL语句资源消耗监控最常用的系统视图有v$sql、v$sqlarea、v$sqltext和v$session。本文我们先了解这些视图的作用与区别,然后了解如何定位高资源消耗SQL语句,最后再了解一下各视图字段具体含义。 相关系统视图功能与区别 v$sql和v$sqlarea基本相同,记录了共享SQL区(share pool)中SQL统计信息,如内存消耗、IO(物理磁盘读和逻辑内存读)、排序操作、哈希ID等数据。不同之处在于v$sql为每一条SQL保留一个条目,而v$sq...
阅读全文
2015年01月16日 数据库 ⁄ 共 1779字 ⁄ 阅读 2,224 次
Library Cache的命中率 计算公式:Library Cache Hit Ratio = sum(pinhits) / sum(pins) SELECT SUM(pinhits) / sum(pins) FROM V$LIBRARYCACHE; 通常在98%以上,否则,需要要考虑加大共享池,绑定变量,修改cursor_sharing等参数。 共享池内存使用率 SELECT (1 - ROUND(BYTES / (&TSP_IN_M * 1024 * 1024), 2)) * 100 || '%' FROM V$SGASTAT WHERE NAME = 'free memory' AND POOL = 'shared pool'; 其中: &TSP_IN_M是你...
阅读全文
2014年11月19日 数据库 ⁄ 共 3763字 ⁄ 阅读 548 次
一般而言I/O是最耗时的,可以通过内存的调整尽量减少使用I/O。如果无法减少I/O则要想办法将I/O操作均衡的分布到不同的硬盘上。下图是主要后台进程对不同类型文件的I/O操作情况,本章主要内容围绕该图进行。 I/O优化基本原则 尽量减少硬盘I/O操作; 将磁盘I/O均衡分布在所有硬盘和I/O控制器上; 要做到这两点,需要做到: 尽量减少与Oracle数据库无关的磁盘I/O操作,如将操作系统维护、备份等放在Oracle非繁忙时段进行; 将...
阅读全文
2014年11月19日 数据库 ⁄ 共 5174字 ⁄ 阅读 582 次
SGA内存优化 在Oracle 9i之前,内存参数大都不支持动态修改(即不能即刻生效),需要重启数据库才能生效。从Oracle 9i开始,绝大多数系统内存参数都可以动态修改。从Oracle 10g开始内存的管理可以自动化,想动态管理内存参数需要使用二进制参数文件spfile。但内存参数总值不能超过系统全局内存(SGA)分配的总值,该总值由参数SGA_MAX_SIZE设定。 SGA重要参数: sga_max_size是静态参数,只能修改该参数在spfile中的值,修改后...
阅读全文
2014年11月19日 数据库 ⁄ 共 2861字 ⁄ 阅读 621 次
优化一般只要达到用户的要求就要停止优化,最好不要超越用户需求过度优化。因为继续优化下去不会给DBA带来好处,相反万一出现问题则可能给DBA带来麻烦。而且,在优化前需要有一个明确目标,不可以“越快越好”作为目标,而是比如提升一倍的速度等。 数据库优化项目 1)优化数据库系统的设计; 2)优化数据库系统的应用(程序); 3)优化数据库系统内存; 4)优化数据库系统的输入/输出(I/O); 5)优化数据库系统的资源竞争; 6...
阅读全文