今天早上打开ITPUB的论坛,提到了查询dml操作期间,没有commit之前是否产生redo log,就涉及到如何查看current session产生的redo的计算,因为前段时间接触过统计的几个视图
V$sysstat v$mystat v$session v$statname,翻看资料 实验记载下:
V$sysstat是系统资源使用情况的统计分析,sys会不自然的想到conn / as sysdba,
Desc v$sysstat
Name
----------
Stattistic# :标识,用来识别name
Name
Classs 统计类别
Value
Stat_id 统计标识
Name中包括的统计信息: redo size(产生的redo log) user commits/user rollback(某种操作的次数) cpu userd by this session(做某种动作的累计时间)等。
Class是2代表的redo的信息,其中的class类别有点多,需要长时间使用来熟悉。
V$sesstat是所有库中所有session的分组统计信息。
包括statistic# sid value三列column,sid是session的识别ID,其余的列 和v$syssta中的column的意义相同。
V$mystat统计的是当前session的信息,表结构和含义和v$sesstat相同。V$mystat中的统计信息是v$sesstat的一个子集。
V$statname是联系v$mystat和统计name的视图,通过statistic#来对其他视图连接,而其他的表中同列名的column意义相同。
Name
-----------
Statistic#
Name
Class
Stat_id
试一下查询current session的redo变化吧
在dml执行前后分别运行下面的sql查询产生value的变化
Select name,value from v$mystat a,v$statname b
where a.statistic#=b.statistic# and b.name=’redo size
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25362835/viewspace-1055091/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25362835/viewspace-1055091/