当前位置:  数据库>oracle

Oracle 多 session 串行访问同一个 block 测试

    来源: 互联网  发布时间:2017-04-05

    本文导语: 一. 相关说明 Oracle的数据放在表里面,表的数据表段(segment)里,segment 由extents 组成,extents 由Blocks组成。 每个block 可以存放多个row。 OracleSGA里由一个DB buffer 的cache,该区域由default,keep 和 recycle pool组成。 默认情况下,block ...

一. 相关说明

Oracle的数据放在表里面,表的数据表段(segment)里,segment 由extents 组成,extents 由Blocks组成。 每个block 可以存放多个row。

OracleSGA里由一个DB buffer 的cache,该区域由default,keep 和 recycle pool组成。 默认情况下,block 会加载到defaultpool里,Oracle 对数据块的所有操作都在这个pool里进行,包括对数据的修改,修改之后,会有dbwr进行进行写磁盘。

二. 相关测试

2.1 创建一个死循环的存储过程 

CREATE OR REPLACE PROCEDURE SYS.proc_test

AS

str varchar2(100);

i number;

BEGIN

i:=1;

   while(true) loop

     selectobject_name into str from t1 where object_name='RB_TEST';

     if mod(i,1000) =0 then

     DBMS_OUTPUT.put_line(i);

     end if;

     i :=i+1;

end loop;

END ;

/

--这个过程的作用就是循环的去访问一个block

 

2.2 查看这个block的file_id 和 block_id

 

/* Formatted on 2011/7/4 19:45:56(QP5 v5.163.1008.3004) */

SELECT DBMS_ROWID.rowid_relative_fno(ROWID)REL_FNO,

       DBMS_ROWID.rowid_block_number(ROWID)BLOCKNO,

       DBMS_ROWID.rowid_row_number(ROWID) ROWNO

  FROM t1

 WHERE object_name = 'RB_TEST';

 

SYS@anqing2(rac2)> SELECTDBMS_ROWID.rowid_relative_fno (ROWID) REL_FNO,

 2        DBMS_ROWID.rowid_block_number (ROWID) BLOCKNO,

 3        DBMS_ROWID.rowid_row_number (ROWID) ROWNO

 4    FROM t1

 5   WHERE object_name = 'RB_TEST';

 

REL_FNO   BLOCKNO      ROWNO

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

1     294838         54

 

2.3 开启2个session,去调用这个过程,实现不断访问一个block

SYS@anqing2(rac2)> select sid from v$sesstat where rownum=1;

      SID

----------

      147

SYS@anqing1(rac1)> select sid fromv$sesstat where rownum=1;

 

      SID

----------

      141

SYS@anqing2(rac2)> exec proc_test

--持续进行,因为是个死循环---

SYS@anqing1(rac1)> exec proc_test

--持续进行,因为是个死循环---

2.4  查看等待事件

SYS@anqing1(rac1)> select event fromgv$session_wait where sid=147 and inst_id=2;

EVENT

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

latch: cache bufferschains

SYS@anqing1(rac1)> select event fromgv$session_wait where sid=141 and inst_id=1;

EVENT

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

latch: cache bufferschains 


    
 
 

您可能感兴趣的文章:

  • 在jsp输入中文->servlet->Session Bean->EntityBean->Oracle就变成一堆?????号。
  • ORACLE 如何查询被锁定表及如何解锁释放session
  • Oracle中的Connect/session和process的区别及关系介绍
  • Oracle session简介
  • Oracle中的kill session的使用讲解
  • 测试添加Oracle中Blob数据类型对象
  • Oracle融合中间件在Dell服务器上测试创世界纪录
  • oracle group by语句实例测试
  • 三招助你做好Oracle数据库备份测试
  • Oracle Dataguard备库失败与主库响应测试
  • oracle 使用递归的性能提示测试对比
  • oracle 11g 设置用户密码大小写敏感测试
  • oracle—SQL技巧之(一)连续记录查询sql案例测试
  • Oracle数据库异步调用基本原理及测试
  • oracle存储过程中return和exit区别概述及测试
  • 知识进阶 完全了解 Oracle 标签安全测试
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下如何用 C 访问oracle数据库,最好是远程访问
  • win2000+jbuilder6+oracle817编出的程序,在win2000下执行很好,在win98下却访问不了oracle数据库
  • Oracle数据库访问参数文件的顺序
  • windows下通过ie访问不到linux环境下的oracle em
  • jbuilder6 中怎样引入oracle 数据访问包
  • (菜鸟的问题)如何在Linux下用OCI访问Oracle
  • ubuntu10下的oracle连接访问
  • Oracle指定IP访问数据库方法
  • 求助:如何在UNIX下访问已经在WINDOWS下安装好的ORACLE?
  • 请教高手: linux c如何远程访问windows下的oracle数据库?
  • linux中用C++访问oracle数据库后,封装接口的问题……………………
  • linux as3 安装oracle10g ,web端能访问,终端用命令不能进入
  • LINUX下访问oracle时sleeping的线程过多,达到300多个,造成系统拥堵!
  • linux下怎么配置jdbc 访问oracle ,知情者请告知
  • linux + oracle用XP访问不了
  • Linux下怎么访问Oracle数据库?求助!
  • ASP如何访问linux下oracle数据库?
  • hpux下如何用c语言访问oracle数据库?
  • 怎么写一个Shell来执行这样的功能,访问Oracle数据库,然后执行一个SQL脚本,生成一个文件。急!
  • Linux/UNIX下,C++程序通过那些步骤访问Oracle或者Sybase SQL数据库?
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3