oracle中性能视图V$SYSSTAT小结
Oracle常用内置视图和动态性能表解读

O r a c l e9i动态性能(V$)视图说明本节介绍动态性能视图。
这些视图一般作为V$视图引用。
本节包括下列内容:动态性能视图。
视图说明。
C.1动态性能视图Oracle服务器包括一组基础视图,这些视图由服务器维护,系统管理员用户SYS可以访问它们。
这些视图被称为动态性能视图,因为它们在数据库打开和使用时不断进行更新,而且它们的内容主要与性能有关。
虽然这些视图很像普通的数据库表,但它们不允许用户直接进行修改。
这些视图提供内部磁盘结构和内存结构方面的数据。
用户可以对这些视图进行查询,以便对系统进行管理与优化。
文件CATALOG.SQL包含这些视图的定义以及公用同义词。
必须运行CATALOG.SQL创建这些视图及同义词。
C.1.1V$视图动态性能视图由前缀V_$标识。
这些视图的公用同义词具有前缀V$。
数据库管理员或用户应该只访问V$对象,而不是访问V_$对象。
动态性能视图由企业管理器和Oracle Trace使用,Oracle Trace是访问系统性能信息的主要界面。
建议:一旦实例启动,从内存读取数据的V$视图就可以访问了。
从磁盘读取数据的视图要求数据库已经安装好了。
警告:给出动态性能视图的有关信息只是为了系统的完整性和对系统进行管理。
公司并不承诺以后也支持这些视图。
C.1.2GV$视图在Oracle中,还有一种补充类型的固定视图。
即GV$(Global V$,全局V$)固定视图。
对于本章介绍的每种V$视图(除V$CACHE_LOCK、V$LOCK_ACTIVITY、V$LOCKS_WITH_COLLISIONS和V$ROLLNAME外),都存在一个GV$视图。
在并行服务器环境下,可查询GV$视图从所有限定实例中检索V$视图的信息。
除V$信息外,每个GV$视图拥有一个附加的名为INST_ID的整型列。
INST_ID列显示从其获得相关的V$视图信息的实例号。
INST_ID列可用作一个从可得到的实例集检索V$信息的过滤器。
oracle性能分析报告

Oracle性能分析报告1. 引言Oracle是一种高效的关系数据库管理系统,但在使用过程中可能会遇到性能问题。
本文将介绍如何通过分析Oracle性能来识别并解决潜在的问题。
2. 数据收集要进行性能分析,首先需要收集相关数据。
以下是一些常用的数据收集方法:- 监视系统参数:使用Oracle自带的工具,如AWR报告和ASH报告,可以监视系统参数的变化和性能指标。
- 分析SQL语句:通过跟踪和分析执行时间较长的SQL 语句,可以找到性能瓶颈所在。
- 监视数据库等待事件:通过查看等待事件的情况,可以了解系统的瓶颈。
- 监视资源利用率:监视CPU、内存和磁盘等资源的利用率,以了解系统的健康状况。
3. 数据分析收集到数据后,需要对数据进行分析以识别性能问题。
以下是一些常用的数据分析方法: - 比较不同时间段的性能指标:通过比较不同时间段的性能指标,可以发现系统的变化和趋势。
- 查找长时间运行的SQL语句:通过识别执行时间较长的SQL语句,可以找到潜在的性能问题。
- 分析等待事件:通过查看数据库等待事件的情况,可以确定系统的瓶颈所在。
- 分析资源利用率:通过监视资源利用率,可以确定系统是否存在资源瓶颈。
4. 性能优化通过数据分析,可以确定性能问题的原因。
以下是一些常用的性能优化方法:- 优化SQL查询:对执行时间较长的SQL语句进行优化,如增加索引、重写查询等。
- 调整系统参数:根据系统的需求,调整相关的系统参数,如缓冲区大小、并发连接数等。
- 优化存储结构:对表的存储结构进行优化,如分区、索引等。
- 调整硬件配置:根据系统的需求,调整硬件配置,如增加CPU、内存等。
5. 总结通过以上的步骤,可以对Oracle数据库的性能进行分析和优化。
收集相关数据、分析数据、识别问题、优化性能是一个迭代的过程,需要不断调整和优化。
只有对Oracle性能进行持续监测和优化,才能确保系统的高效运行。
以上是关于Oracle性能分析报告的步骤和方法的介绍。
Oracle常用数据字典与动态性能视图

查看索引被索引的字段
SQL>select * from user_ind_columns where index_name=upper('&index_name');
查看索引的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');
4、序列号
查看序列号,last_number是当前值
from dba_data_files
order by tablespace_name;
3、查看回滚段名称及大小
select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
查看某表的创建时间
SQL>select object_name,created from user_objects where object_name=upper('&table_name');
查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
Oracle_V$视图大全

Oracle_V$视图大全第一篇:Oracle_V$ 视图大全V$视图V$ACCESS 显示当前被锁定的数据库中的对象及正在访问他们的会话.V$ACTIVE_INSTANCES 为当前安装的数据库中出现的所有实例建立从实例名到实例号的映射.V$ACTIVE_SESS_POOL_MTH 所有活动的会话池资源分配方法.V$AQ 当前数据库中的队列的统计量.V$ARCHIVE 归档所需的重做日志文件中的信息.V$ARCHIVE_DEST 当前实例的所有归档日志目的文件及它们的当前值,模式,状态.V$ARCHIVE_PROCESSES 为一个实例提供不同的ARCH进程状态的信息.V$ARCHIVE_LOG 控制文件中的归档日志信息.V$BACKUP 所有联机数据文件的备份状态.V$BACKUP_ASYNC_IO 从控制文件中显示备份集的信息.V$BACKUP_CORRUPTION 从控制文件中显示数据文件备份中有关损坏的信息.V$BACKUP_DATAFILE 从控制文件中显示备份数据文件和备份控制文件的信息.V$BACKUP_DEVICE 显示关于支持备份设备的信息.V$BACKUP_PIECE 从控制文件中显示备份块的信息.V$BACKUP_REDOLOG 从控制文件中显示关于备份集中归档日志的信息.V$BACKUP_SET 从控制文件中显示备份集的信息.V$BACKUP_SYNC_IO 从控制文件中显示备份集的信息.V$BGPROCESS 描述后台进程.V$BH 是9I的实时应用集群视图.为系统全局区中的每一个缓冲区给出了状态和探查次数.V$BSP显示用在缓存中块服务器后台进程上的统计信息.V$BUFFER_POOL显示实例缓冲池的信息.V$BUFFER_POOL_STATISTICS显示实例缓冲池的信息.V$CACHE包含当前实例的SGA中的每一个块的头部信息.V$CACHE_LOCK 包含当前实例的SGA中的每一个块的头部信息.和V$CACHE非常相似,除特使平台锁管理器标识符号不同外.V$CACHE_TRANSFER除了只显示那些被探查了至少一次的块的信息外,和V$CACHE功能相同.26 V$CIRCUIT包含关于虚电路的信息,是用户通过调度程序和服务器到数据库的所有连接.V$CLASS_PING显示每一个块类中被探查块的数目.V$COMPATIBILITY显示数据库实例使用的特征,可以阻止数据库回到早期的版本中去.29 V$COMPATSEG显示数据库实例使用的永久性特征,可以阻止数据库回到早期的版本中去.V$CONTEXT列出当前对话的设置属性.31 V$CONTROLFILE列出控制文件的名称.32 V$CONTROLFILE_RECORD_SECTION 显示控制文件记录部分的信息.33 V$COPY_CORRUPTION显示控制文件中数据文件损坏的信息.34 V$CR_BLOCK_SERVER 显示用在缓存中块服务器后台进程上的统计信息.35 V$DATABASE包含控制文件中数据库的信息.36 V$DATAFILE包含控制文件中数据库文件的信息.37 V$DATAFILE_COPY包含控制文件中数据库文件副本的信息.38 V$DATAFILE_HEADERV$DB_CACHE_ADVICE 根据缓存的大小估计出物理读的数量.V$DB_OBJECT_CACHE 缓存在库缓存中的数据库对象.V$DB_PIPES 显示实例中的共享池当前描绘的管道.V$DBFILE 列出组成数据库的所有数据文件.V$DBLINK 查询会话所打开的所有数据库连接.V$DELETED_OBJECT 显示控制文件中被删除归档日志.V$DISPATCHER 提供调度进程的信息.V$DISPATCHER_RATE 为调度进程提供优质提供速率统计量.V$DLM_ALL_LOCKS 列出当前所有锁的信息.V$DLM_CONVERT_LOCAL 本地锁转换操作所消耗的时间.V$DLM_CONVERT_REMOTE 远程锁转换操作所消耗的时间.V$DLM_LATCH 它是过时的,参见V$LATCH V$DLM_LOCKS 这些是锁管理器已知的被阻塞或阻塞其他对象的锁信息.V$DLM_MISC 显示多种DLM统计量.V$DLM_RESS 显示当前锁管理器已知的全部资源的信息.V$ENABLEDPRIVE 显示被授予的特权.V$ENQUEUE_LOCK 显示排队对象所拥有的全部锁.V$EVENT_NAME 包含等待事件的信息.V$EXECUTION 显示并行执行中的信息.V$FALSE_PING 可能得到探查失败的缓冲区.V$FAST_START_SERVERS 执行并行操作事务恢复的所有从属操作的信息.V$FAST_START_TRANSACTIONS V$FILE_CACHE_TRANSFER 显示每个数据文件中探查的块的数量.V$FILE_PING 显示每个数据文件被探查的块数目.V$FILESTAT 包含文件关于读/写统计量信息.V$FIXED_TABLE 显示数据库中所有动态性能表和视图及导出表.V$FIXED_VIEW_DEFINITION 显示所有固定视图的定义.V$GC_ELEMENTS_WITH_COLLISIONS 可以找到保护多缓存的锁.V$GES_BLOCKING_ENQUEUE 这些是锁管理器已知的被阻塞或阻塞其他对象的锁信息.V$GES_CONVERT_LOCAL 本地锁转换操作所消耗的时间.V$GES_CONVERT_REMOTE 远程锁转换操作所消耗的时间.V$GES_ENQUEUE 显示当前锁管理员知道的所有的锁.V$GES_LATCH 参见V$LATCH V$GES_RESOURCE 显示当前锁管理器已知的全部资源的信息.V$GES_STATISTICS 显示多种DLM统计量.V$GLOBAL_BLOCKED_LOCKS 显示全局块锁.V$GLOBAL_TRANSACTION 显示当前激活的全局事务的信息.V$HS_AGENT 标识当前运行在一个给定的主机上的HS代理的集合.V$HS_SESSION ORACLE服务器打开的HS会话集.V$INDEXED_FIXED_COLUMN 显示建立索引的动态性能表中的列(X$表).V$INSTANCE 显示当前实例的状态.V$INSTANCE_RECOVERY 用来监视执行用户指定恢复读次数的限制机制.V$LATCH 为非双亲简易锁列出统计量.V$LATCH_CHILDREN关于子简易锁的统计量.83 V$LATCH_MISSES试图获得一个简易锁失败的统计量.84 V$LATCH_PARENT包含关于双亲简易锁的统计量.85 V$LATCHHOLDER当前简易锁持有者的信息.86 V$LATCHNAME包含关于显示在V$LATCH中的简易锁的解码简易锁名字的信息.87 V$LIBRARYCACHE关于高速缓存性能和活动的统计量.88 V$LICENSE许可证限制的信息.89 V$LOADCSTAT包含在一个直接装载执行过程中所编译的SQL*LOADER统计量.90 V$LOCK当前ORACLE所持有的锁.91 V$LOCK_ACTIVITY显示当前实例的DLM锁操作活动.92 V$LOCK_ELEMENT每一个被缓存使用的PCM锁在V$LOCK_ELEMENTS中都有一个条目.93 V$LOCKED_OBJECT列出每个事务所获得的全部锁.94 V$LOCK_WITH_COLLISIONS 可以查询出保护多缓冲区的锁.95 V$LOG控制文件中日志文件的信息.96 V$LOG_HISTORY控制文件中日志文件的历史信息.97 V$LOGFILE包含重做日志文件的信息.98 V$LOGHIST控制文件中日志文件的日志历史信息.99 V$LOGMNR_CONTENTS日志历史信息.100 V$LOGMNR_DICTIONARY日志历史信息.101 V$LOGMNR_LOGS日志信息.102 V$LOGMNR_PARAMETERS日志信息.103 V$MTS包含调节多线程的服务器的信息.104 V$MYSTAT当前会话的统计量.105 V$NLS_PARAMETERS当前NLS参数信息.106 V$NLS_VALID_VALUES列出所有NLS参数的有效值.107 V$OBJECT_DEPENDENCY能够通过当前装载在共享池中的包,过程或游标来决定依赖哪一个对象.108 V$OBJECT_USAGE来监视索引的使用.109 V$OBSOLETE_PARAMETER列出陈旧的参数.110 V$OFFINE_RANGE显示控制文件中数据文件的脱机信息.111 V$OPEN_CURSOR列出每一个会话当前打开的和解析的游标.112 V$OPTION列出ORACLE服务安装的状况.113 V$PARALLEL_DEGREE_LIMIT_MTH显示所有有效的并行度限制资源分配的方法.114 V$PARAMETER 列出关于初始化参数的信息.115 V$PARAMETER2列出了当前影响会话的参数和参数值.116 V$PGASTAT列出ORACLE内存使用统计.117 V$PING与V$CACHE一样.118 V$PQ_SESSTAT列出并行查询会话的统计信息.119 V$PQ_SLAVE一个实例上每个活动并行执行服务器的统计量.120 V$PQ_SYSSTAT列出并行查询的系统的统计量.第二篇:如何设置演讲者视图如何设置演讲者视图如何设置演讲者视图前言:大家在看此篇文章之前心中是不是一直存有一个疑问,那就是office组件中的powerpoint(PPT)制作中的“备注”到底有何作用?在工作中经常用PPT放映演示给客户进行讲演,也见识过专业讲师和IT销售给我介绍产品,使用的也是PPT。
oracle v$transaction 字段详解

oracle v$transaction 字段详解在Oracle数据库管理中,v$transaction是一个非常重要的系统视图之一,它提供了关于当前事务的有关信息。
在本文中,我们将深入探讨v$transaction视图的各个字段,以了解它们的作用和意义。
1. XIDUSN - 事务的Undo段编号在Oracle数据库中,Undo段用于存储回滚信息,以便在需要时回滚事务。
XIDUSN字段表示正在执行事务的Undo段编号。
2. XIDSLOT - 事务的事务表槽位号事务表是Oracle数据库用于跟踪事务活动的内部数据结构。
XIDSLOT字段表示该事务在事务表中的槽位号。
3. XIDSQN - 事务的序列号XIDSQN字段表示该事务的序列号。
在Oracle数据库中,每个事务都有一个唯一的序列号,用于与其他事务区分。
4. STATUS - 事务的状态STATUS字段表示该事务的状态。
Oracle数据库中有多种事务状态,包括ACTIVE(活动状态)、COMMITTED(已提交状态)、ROLLED BACK (已回滚状态)等。
5. START_TIME - 事务的开始时间START_TIME字段表示该事务的开始时间。
它是一个日期类型的值,表示该事务开始执行的时间。
6. START_SCNB - 事务的起始系统变更号START_SCNB字段表示该事务开始时系统的变更号。
系统变更号是Oracle数据库的内部计数器,用于跟踪数据库的变化。
7. START_SCNW - 事务的起始系统变更序列号START_SCNW字段表示该事务开始时系统的变更序列号。
变更序列号是系统变更号的一个分支,用于跟踪事务的变化。
8. USED_UREC - 事务使用的Undo记录数USED_UREC字段表示该事务使用的Undo记录数。
Undo记录是Undo 段中的单个记录,用于存储事务执行期间所做的更改。
9. USED_UBLK - 事务使用的Undo块数USED_UBLK字段表示该事务使用的Undo块数。
oracle性能调优汇总

性能调优---------------------方法:一、检查日志是否有错误二、检查参数是否设置正确三、检查系统IO、CPU、内存等利用率,查看哪些占用较高四、检查哪些SQL语句大量占用IO或CPU权衡性能与安全的方面:一、多个控制文件二、一个日志文件组中有多个日志文件三、频繁的执行检查点四、备份数据文件五、频繁的归档六、块检查七、同时执行操作与统计性能调优工具:查看ALTER.LOG中的信息:1、用/ORA- 能查找文件中的错误信息2、要想让ALTER.LOG文件中产生检查点开始与结束信息,得修改参数LOG_CHECKPOINTS_TO_ALERT,将之修改为TRUE。
默认为FALSE。
SQL>ALTER SYSTEM SET LOG_CHECKPOINTS_TO_ALERT = TRUE SCOPE=BOTH;在用户UDUMP目录下的文件中产生监控用户执行信息:方法1、监控自己的操作。
在自己的session中设置参数,这样就能在用户udump目录下生成执行的SQL语句信息SQL>ALTER SESSION SET SQL_TRACE=TRUE;在pl/sql或者sqlplus中,打开一个sql_window。
(1)先运行:alter session set sql_trace=true;(2)再运行你那个返回结果不正确的SQL(3)再运行:alter session set sql_trace=false;(4)马上登陆到机器上,到$ORACLE_BASE/admin/sid/udump目录下。
(5)找到刚生成的.trc文件(假设文件名是 xxx.trc),执行命令转储跟踪文件:tkprof xxx.trc aa.txt。
查看aa.txt文件。
这个文件里面有执行计划。
看看执行计划每一步返回的结果集记录数是不是正确。
方法2、SYS用户监控别的用户执行情况方法3、对所有SESSION进行监控SQL>ALTER SESSION SET SQL_TRACE=TURE;安装STATSPACK一、创建表空间,最少100M二、安装在安装时默认创建了一个用户PERFSTAT,所以密码也可以输入这个选择要将快照存放于哪个表空间使用STATSPACK手动执行生成一次快照,间隔一般为10几分钟为益,中间不要有停机。
oracle动态性能(V$)视图

oracle动态性能(V$)视图C.1 动态性能视图Oracle 服务器包括⼀组基础视图,这些视图由服务器维护,系统管理员⽤户 SYS 可以访问它们。
这些视图被称为动态性能视图,因为它们在数据库打开和使⽤时不断进⾏更新,⽽且它们的内容主要与性能有关。
虽然这些视图很像普通的数据库表,但它们不允许⽤户直接进⾏修改。
这些视图提供内部磁盘结构和内存结构⽅⾯的数据。
⽤户可以对这些视图进⾏查询,以便对系统进⾏管理与优化。
⽂件CATALOG.SQL 包含这些视图的定义以及公⽤同义词。
必须运⾏CATALOG.SQL 创建这些视图及同义词。
C.1.1 V$ 视图动态性能视图由前缀V_$标识。
这些视图的公⽤同义词具有前缀V$。
数据库管理员或⽤户应该只访问V$对象,⽽不是访问V_$对象。
动态性能视图由企业管理器和Oracle Trace 使⽤,Oracle Trace 是访问系统性能信息的主要界⾯。
建议:⼀旦实例启动,从内存读取数据的V$视图就可以访问了。
从磁盘读取数据的视图要求数据库已经安装好了。
警告:给出动态性能视图的有关信息只是为了系统的完整性和对系统进⾏管理。
公司并不承诺以后也⽀持这些视图。
C.1.2 GV$ 视图在Oracle 中,还有⼀种补充类型的固定视图。
即GV$(Global V$,全局V$)固定视图。
对于本章介绍的每种V$ 视图(除V$CACHE_LOCK、V$LOCK_ACTIVITY、V$LOCKS_WITH_COLLISIONS和V$ROLLNAME 外),都存在⼀个GV$视图。
在并⾏服务器环境下,可查询GV$视图从所有限定实例中检索V$视图的信息。
除V$信息外,每个GV$视图拥有⼀个附加的名为INST_ID 的整• v$lock• v$sqlarea• v$session• v$sesstat• v$session_wait• v$process• v$transaction• v$sort_usage• v$sysstat九个重要视图1)v$lock给出了锁的信息,如type字段, user type locks有3种:TM,TX,UL,system type locks有多种,常见的有:MR,RT,XR,TS等。
Oraclev_$和v$的解释

Oraclev_$和v$的解释以v_$mystat和v$mystat具体说明grant语句中使⽤的v_$mystat和test⽤户访问的v$mystat不⼀样这⾥说⼀下 v$mystat 和 v_$mystat 的区别初始状态下SQL> conn test/testConnected.SQL>select sid from v$mystat where rownum=1;select sid from v$mystat where rownum=1*ERROR at line 1:ORA-00942: table or view does not exist没有赋权限的情况下,提⽰访问的表或者视图不存在,当sys⽤户给test⽤户授权后SQL> conn /as sysdbaConnected.SQL>grant select on v_$mystat to test;Grant succeeded.SQL> conn test/testConnected.SQL>select sid from v$mystat where rownum=1;SID----------15test⽤户就可以访问了,⼤家注意到上⾯两个语句中执⾏的对象并不⼀样,要访问的是v$mystat,⽽授权的是v_$mystat,如果我们直接给v$mystat授权SQL>grant select on v$mystat to test;grant select on v$mystat to test*ERROR at line 1:ORA-02030: can only select from fixed tables/views说明这⾥授权的v$mystat不是固有视图,不能直接授权,实际这⾥test访问的v$mystat是⼀个同义词,sys不能给同义词授权,只能授权给固定的表或视图,同义词在Oracle中可以理解为⼀个对象的别名,有私有和共⽤之分,每个⽤户都可以给⾃⼰的对象创建⾃⼰的同义词,这样创建的同义词只能⾃⼰使⽤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
V$SYSSTAT中包含多个统计项,这部分介绍了一些关键的v$sysstat统计项,在调优方面相当有用。
下列按字母先后排序:数据库使用状态的一些关键指标:l CPU used by this session:所有session的cpu占用量,不包括后台进程。
这项统计的单位是百分之x秒.完全调用一次不超过10msl db block changes:那部分造成SGA中数据块变化的insert,update或delete操作数这项统计可以大概看出整体数据库状态。
在各项事务级别,这项统计指出脏缓存比率。
l execute count:执行的sql语句数量(包括递归sql)l logons current:当前连接到实例的Sessions。
如果当前有两个快照则取平均值。
l logons cumulative:自实例启动后的总登陆次数。
l parse count (hard):在shared pool中解析调用的未命中次数。
当sql语句执行并且该语句不在shared pool或虽然在shared pool但因为两者存在部分差异而不能被使用时产生硬解析。
如果一条sql语句原文与当前存在的相同,但查询表不同则认为它们是两条不同语句,则硬解析即会发生。
硬解析会带来cpu和资源使用的高昂开销,因为它需要oracle 在shared pool中重新分配内存,然后再确定执行计划,最终语句才会被执行。
l parse count (total):解析调用总数,包括软解析和硬解析。
当session执行了一条sql语句,该语句已经存在于shared pool并且可以被使用则产生软解析。
当语句被使用(即共享) 所有数据相关的现有sql语句(如最优化的执行计划)必须同样适用于当前的声明。
这两项统计可被用于计算软解析命中率。
l parse time cpu:总cpu解析时间(单位:10ms)。
包括硬解析和软解析。
l parse time elapsed:完成解析调用的总时间花费。
l physical reads:OS blocks read数。
包括插入到SGA缓存区的物理读以及PGA中的直读这项统计并非i/o请求数。
l physical writes:从SGA缓存区被DBWR写到磁盘的数据块以及PGA进程直写的数据块数量。
l redo log space requests:在redo logs中服务进程的等待空间,表示需要更长时间的log switch。
l redo size:redo发生的总次数(以及因此写入log buffer),以byte为单位。
这项统计显示出update活跃性。
l session logical reads:逻辑读请求数。
l sorts (memory) and sorts (disk):sorts(memory)是适于在SORT_AREA_SIZE(因此不需要在磁盘进行排序)的排序操作的数量。
sorts(disk)则是由于排序所需空间太大,SORT_AREA_SIZE不能满足而不得不在磁盘进行排序操作的数量。
这两项统计通常用于计算in-memory sort ratio。
l sorts (rows): 列排序总数。
这项统计可被'sorts (total)'统计项除尽以确定每次排序的列。
该项可指出数据卷和应用特征。
l table fetch by rowid:使用ROWID返回的总列数(由于索引访问或sql语句中使用了'where rowid=&rowid'而产生)l table scans (rows gotten):全表扫描中读取的总列数l table scans (blocks gotten):全表扫描中读取的总块数,不包括那些split的列。
l user commits + user rollbacks:系统事务起用次数。
当需要计算其它统计中每项事务比率时该项可以被做为除数。
例如,计算事务中逻辑读,可以使用下列公式:session logical reads / (user commits + user rollbacks)。
注:SQL语句的解析有软解析soft parse与硬解析hard parse之说,以下是5个步骤:1:语法是否合法(sql写法)2:语义是否合法(权限,对象是否存在)3:检查该sql是否在公享池中存在-- 如果存在,直接跳过4和5,运行sql. 此时算soft parse4:选择执行计划5:产生执行计划-- 如果5个步骤全做,这就叫hard parse.注意物理I/Ooracle报告物理读也许并未导致实际物理磁盘I/O操作。
这完全有可能因为多数操作系统都有缓存文件,可能是那些块在被读取。
块也可能存于磁盘或控制级缓存以再次避免实际I/O。
Oracle报告有物理读也许仅仅表示被请求的块并不在缓存中。
由V$SYSSTAT得出实例效率比(Instance Efficiency Ratios)下列是些典型的instance efficiency ratios 由v$sysstat数据计算得来,每项比率值应该尽可能接近1:l Buffer cache hit ratio:该项显示buffer cache大小是否合适。
公式:1-((physical reads-physical reads direct-physical reads direct (lob)) / session logical reads)执行:select 1-((a.value-b.value-c.value)/d.value)from v$sysstat a,v$sysstat b,v$sysstat c,v$sysstat dwhere ='physical reads' and='physical reads direct' and='physical reads direct (lob)' and='session logical reads';l Soft parse ratio:这项将显示系统是否有太多硬解析。
该值将会与原始统计数据对比以确保精确。
例如,软解析率仅为0.2则表示硬解析率太高。
不过,如果总解析量(parse count total)偏低,这项值可以被忽略。
公式:1 - ( parse count (hard) / parse count (total) )执行:select 1-(a.value/b.value)from v$sysstat a,v$sysstat bWhere ='parse count (hard)' and ='parse count (total)';l In-memory sort ratio:该项显示内存中完成的排序所占比例。
最理想状态下,在OLTP系统中,大部分排序不仅小并且能够完全在内存里完成排序。
公式:sorts (memory) / ( sorts (memory) + sorts (disk) )执行:select a.value/(b.value+c.value)from v$sysstat a,v$sysstat b,v$sysstat cwhere ='sorts (memory)' and='sorts (memory)' and='sorts (disk)';l Parse to execute ratio:在生产环境,最理想状态是一条sql语句一次解析多数运行。
公式:1 - (parse count/execute count)执行:select 1-(a.value/b.value)from v$sysstat a,v$sysstat bwhere ='parse count (total)' and ='execute count';l Parse CPU to total CPU ratio:该项显示总的CPU花费在执行及解析上的比率。
如果这项比率较低,说明系统执行了太多的解析。
公式:1 - (parse time cpu / CPU used by this session)执行:select 1-(a.value/b.value)from v$sysstat a,v$sysstat bwhere ='parse time cpu' and='CPU used by this session';l Parse time CPU to parse time elapsed:通常,该项显示锁竞争比率。
这项比率计算是否时间花费在解析分配给CPU进行周期运算(即生产工作)。
解析时间花费不在CPU周期运算通常表示由于锁竞争导致了时间花费公式:parse time cpu / parse time elapsed执行:select a.value/b.valuefrom v$sysstat a,v$sysstat bwhere ='parse time cpu' and ='parse time elapsed';从V$SYSSTAT获取负载间档(Load Profile)数据负载间档是监控系统吞吐量和负载变化的重要部分,该部分提供如下每秒和每个事务的统计信息:logons cumulative, parse count (total), parse count (hard), executes, physical reads, physical writes, block changes, and redo size.被格式化的数据可检查'rates'是否过高,或用于对比其它基线数据设置为识别system profile在期间如何变化。
例如,计算每个事务中block changes可用如下公式:db block changes / ( user commits + user rollbacks )执行:select a.value/(b.value+c.value)from v$sysstat a,v$sysstat b,v$sysstat cwhere ='db block changes' and='user commits' and='user rollbacks';其它计算统计以衡量负载方式,如下:l Blocks changed for each read:这项显示出block changes在block reads中的比例。