oracle的读写过程,我在在oracle中统计读写量,用了v$filestat,操作过程如下,有些问题请问高手...

博主在Windows环境下安装Oracle并尝试使用v$filestat视图来统计数据库的读写总量。他们创建了表空间、用户,并进行了数据插入和查询操作,观察v$filestat中相关指标的变化。在进行多次读写操作后,发现v$filestat的读写计数并未如预期那样持续增加,而是停留在某个数值不再变化。博主对此感到困惑,怀疑可能需要特定设置才能使v$filestat正确收集信息。
摘要由CSDN通过智能技术生成

我想统计一下一段时间内,整个数据库读写总量是多少, 听说可用v$filestat视图,于是我在window下装oracle测试,操作如下:

1 建立表空间

create tablespace user_data datafile

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\data01.dbf' size 100m

extent management local autoallocate;

select tablespace_name,initial_extent,next_extent,

min_extents,max_extents,pct_increase   from dba_tablespaces;

2 建用户

create user user1 identified by user1

default tablespace user_data;

grant select on v_$sysstat to user1;

grant create session, create table to user1;

alter user user1 quota unlimited on user_data;

3 建表

create table toms (str varchar2(64));

SQL> insert into toms values('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from toms;

STR

----------------------------------------------------------------

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

SQL> insert into toms select * from toms;

已创建 1 行。

SQL> /

已创建2行。

SQL> /

已创建4行。

SQL> /

已创建8行。

SQL> /

已创建16行。

SQL> /

已创建32行。

SQL> /

.......

SQL> /

已创建8192行。

SQL> commit;

提交完成。

SQL> select count(*) from toms;

COUNT(*)

----------

16384

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

4 开始测试:

select file#,name from v$datafile;

select phyrds,phyblkrd from v$filestat where file#=7

PHYRDS   PHYBLKRD    PHYWRTS  PHYBLKWRT

---------- ---------- ---------- ----------

4          4          1          1

SQL> select count(*) from toms;                               //产生读操作

COUNT(*)

----------

16384

SQL> select phyrds,phyblkrd,PHYWRTS,PHYBLKWRT from v$filestat where file#=7;

PHYRDS   PHYBLKRD    PHYWRTS  PHYBLKWRT

---------- ---------- ---------- ----------

82        690          1          1

结果发生变化, 似乎是对的。

可再次执行,结果却是一样的不变

SQL> select count(*) from toms;                               //产生读操作

COUNT(*)

----------

16384

SQL> select phyrds,phyblkrd,PHYWRTS,PHYBLKWRT from v$filestat where file#=7;

PHYRDS   PHYBLKRD    PHYWRTS  PHYBLKWRT

---------- ---------- ---------- ----------

82        690          1          1

此数字和上次一样, 这里我就搞不明白了,写操作也是一样,数字再也不变了,那么我想请问一样,这个v$filestat是不是有什么开关之类,必须打开才能收集信息?或者有什么其它的设置?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值