欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2024/9/18 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 oracle的读写过程,我在在oracle中统计读写量,用了v$filestat,操作过程如下,有些问题请问高手... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我想统计一下一段时间内,整个数据库读写总量是多少, 听说可用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是不是有什么开关之类,必须打开才能收集信息?或者有什么其它的设置?

总结

以上是生活随笔为你收集整理的oracle的读写过程,我在在oracle中统计读写量,用了v$filestat,操作过程如下,有些问题请问高手...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。