测定数据的命中率
select 1 - (sum(decode(name, 'physical reads', value, 0)) /
(sum(decode(name, 'db block gets', value, 0)) +
(sum(decode(name, 'consistent gets', value, 0))))) "Read Hit Ratio"
from v$sysstat;
上面程序清单中的命中率很高,但这并不意味着系统已经调整至最佳状态。很高的命中率也可能意味着查询使用了过度的索引。如果这个命中率低于 95%,您可能需要增加 init.ora 参数 DB_CACHE_SIZE,或者调整一些引起磁盘读取操作的查询(仅当这样做是可行的并且确实有效的情况下)。一种例外情况就是分布在不同块中的数据分布的极不平衡。如果不考虑这种可能性,那么命中率低于 90%几乎总意味着系统调整得很糟糕,要么就是某些人不切实际地设计,使每个数据块的数据都极不平衡。
测定数据字典的命中率
select sum(gets),
sum(getmisses),
(1 - (sum(getmisses) / (sum(gets) + sum(getmisses)))) * 100 HitRate
from v$rowcache;
推荐的命中率是 95%或者更高。如果命中率低于这个百分比,说明可能需要增加 init.ora 参数SHARED_POOL_SIZE。但要记住,在 V$SGASTAT 视图中看到的共享池包括多个部分,而这里仅仅就是其中之一。注意:在大幅度使用公共同名的环境中,字典命中率可能难以超过 75%,即使共享池的尺寸很大。这是因为 Oracle 必须经常检查不存在的对象是否依旧存在。
测定共享SQL和 PL/SQL的命中率
访问 V$LIBRARYCACHE 视图可以显示实际使用的语句(SQL 和 PL/SQL)访问内存的情况。如果 init.ora的参数 SHARED_POOL_SIZE 设置得太小,内存中就没有足够的空间来存储所有的语句。如果共享池的碎片化现象很严重,较大的 PL/SQL 程序就无法加载到共享池中。如果不能有效地重用语句,则扩大共享池可能事与愿违,反而带来更多不利
这里包括执行率(固定命中率)和重载命中率。推荐的固定对象的命中率是 95%以上,重载命中率应为99%以上(低于 1%的重载次数)。如果语句先前已经经过分析,但共享池通常不够大,在分析其他的语句时无法在内存中保存这个语句,则在此时会出现重载。语句的主体被挤出内存(语句头仍然保存下来);当需要再次使用该语句时,就将重载记录下来,并将语句主体再次加载到内存中。这种情况也会出现在语句的执行计划发生变动时。如果有任何一个命中率低于这些百分比,就说明应该更仔细地分析共享池的分布情况。下面的程序清单显示了如何查询上面讨论的所有信息
select sum(pins) "Executions",
sum(pinhits) "Hits",
((sum(pinhits) / sum(pins)) * 100) "PinHitRatio",
sum(reloads) "Misses",
((sum(pins) / (sum(pins) + sum(reloads))) * 100) "RelHitRatio"
from v$librarycache;
分享到:
相关推荐
从给定的文件信息来看,主要涉及的是Oracle数据库的管理和优化相关的SQL脚本与知识点,以下将对这些知识点进行详细的解读和扩展。 ### Oracle数据库I/O统计查询 第一条SQL脚本用于统计Oracle数据库中的I/O操作,...
### Oracle DBA 数据库日常维护手册:常用SQL脚本解析 在IT行业中,数据库的高效稳定运行对于企业的业务连续性和数据安全至关重要。Oracle作为全球领先的数据库管理系统之一,其日常维护工作是确保系统性能、安全与...
在这个"Oracle SQL常用脚本"的资源中,我们重点探讨四个关键知识点:创建表空间、创建用户、理解执行计划以及外连接和全连接。 首先,让我们讨论创建表空间。在Oracle数据库系统中,表空间是存储数据的主要单位。...
Oracle 导入 SQL 脚本执行和常用命令大全 Oracle 导入 SQL 脚本执行和常用命令大全是一个非常重要的知识点,对于 Oracle 数据库的开发和维护人员来说非常有用。在本篇文章中,我们将介绍 Oracle 导入 SQL 脚本执行...
以下是一些Oracle管理中常用的SQL脚本及其相关的知识点: 1. **数据查询与操作**: - `SELECT`语句:用于从表中检索数据,可以使用`WHERE`子句过滤结果,`ORDER BY`进行排序,`GROUP BY`进行分组,以及`JOIN`操作...
oracle sql语句 数据开发常用Sql语句。
这个"Oracle_SQL优化脚本_完整实用资源"压缩包包含了一系列工具和方法,旨在帮助你优化在Oracle数据库上运行的SQL查询,从而提高数据库的响应速度和整体效率。 1. **SQL执行计划分析**:在Oracle中,通过`EXPLAIN ...
Oracle DBA 常用脚本(外国网站上下载)
批量执行sql脚本的web工程,通过myeclipse导入工程即可,经过测试可以批量导入oracle与sql server2005的脚本,而且是web页面的向导式执行*.sql脚本文件 支持事务,任何执行过程出现异常,均会提示并且回滚操作,页面...
Oracle SQL脚本书写规范是确保代码可读性、性能优化以及团队协作的重要准则。遵循这些规范可以帮助初学者更好地理解和编写高效的SQL查询,避免不必要的错误,提高开发效率。以下是一些关键的Oracle SQL书写规范: *...
个人博客中的Windows环境下批量执行Oracle的SQL的一种方法这篇文章的附件 个人博客中的Windows环境下批量执行Oracle的SQL的一种方法这篇文章的附件
本文将深入探讨如何在Linux环境下设置Crontab来定期执行Oracle SQL脚本,这一过程不仅能够提高工作效率,还能确保数据的及时更新与准确性。 ### 关键知识点详解 #### Crontab:Linux下的任务调度工具 Crontab是...
《Oracle实例SQL脚本大全》是一份集合了广泛Oracle数据库操作和管理的SQL脚本资源。这份资料旨在帮助IT专业人士,尤其是数据库管理员(DBA)和开发者更好地理解和掌握Oracle SQL的用法,提升他们在实际工作中的效率。...
oracle dba常用sql脚本分类文档.pdf
在Oracle中,SQL脚本(通常以.sql为扩展名)是一系列SQL语句的集合,它们可以一起执行以完成特定任务。例如,创建表、插入数据、更新记录或者进行数据库的备份与恢复等。脚本的使用极大地提高了数据库管理的效率,...
oracle-sql脚本,省份城市经纬度sql脚本,亲测,可用,主要包含全国各个省份和城市的经纬度
"Oracle常用监控脚本"通常包含了多种用于检查数据库性能、资源使用情况以及问题排查的工具和脚本。这些脚本可以帮助DBA(数据库管理员)实时了解数据库的状态,及时发现并解决问题,确保系统的健康运行。 1. **SQL ...
在这个"oracle_dba常用sql脚本分类文档"中,我们可能会发现一系列针对DBA工作的实用SQL脚本,这些脚本能够帮助提升工作效率,确保数据库的稳定运行。 1. 数据库安装与升级: 在Oracle数据库的部署过程中,DBA需要...
dbExecurteSQL.sh:数据库执行SQL脚本 根据配置文件获取数据库连接,根据传入sql执行sql 调用案例:dbConnectTest.sh "pssc_jk" "select sysdate from dual;" 参数介绍: "pssc_jk" 指配置文件中配置的数据库...