首页 > 数据库 > oracle判断数据块是否存在内存buffer cache中

oracle判断数据块是否存在内存buffer cache中

时间:2023-02-08 22:32:03浏览次数:49  
标签:name buffer cache SYS orcl150 file oracle where select

文档课题:oracle判断数据块是否存在内存buffer cache中.
数据库:oracle 11.2.0.4
1、概念理论
通过V$BH视图可以查询.V$BH保存着Buffer Cache中每个BLOCK的信息.如T1表在数据文件1中,第一个BLOCK是103001,则通过如下SQL可查看此BLOCK有没有在Buffer Cache中,若返回值大于0,说明该块在Buffer Cache中.
select count(*) from v$bh where file#=1 and block#=103001;
2、实验测试
2.1、建测试表
SYS@orcl150> select * from v$version where rownum<2;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
--创建用于演示的datafile.
SYS@orcl150> create tablespace tbs_tmp datafile '/u01/app/oracle/oradata/orcl150/tbs_tmp01.dbf' size 10m autoextend on;

Tablespace created.

SYS@orcl150> grant select on dba_objects to scott;

Grant succeeded.

SYS@orcl150> alter user scott account unlock;

User altered.

SYS@orcl150> alter user scott identified by tiger;

User altered.

SYS@orcl150> conn scott/tiger;
Connected.
--基于新的数据文件创建tb_tmp表.
SCOTT@orcl150> create table tb_tmp tablespace tbs_tmp as select * from dba_objects;

Table created.
SYS@orcl150> col file_name for a60
SYS@orcl150> select file_id,file_name from dba_data_files where tablespace_name='TBS_TMP';

FILE_ID FILE_NAME
---------- ------------------------------------------------------------
8 /u01/app/oracle/oradata/orcl150/tbs_tmp01.dbf
2.2、执行测试
--查表tb_tmp的信息,如文件信息、头部块、总块数.
SYS@orcl150> col segment_name for a15
SYS@orcl150> select segment_name,header_file,header_block,blocks from dba_segments where segment_name='TB_TMP' and owner='SCOTT';

SEGMENT_NAME HEADER_FILE HEADER_BLOCK BLOCKS
--------------- ----------- ------------ ----------
TB_TMP 8 130 1280
SYS@orcl150> select count(*) from v$bh where file#=8 and block#=130;

COUNT(*)
----------
1
说明:如上所示,数据文件号8,块号130的数据块在buffer cache中.

参考资料:https://blog.51cto.com/lhrbest/2707833

标签:name,buffer,cache,SYS,orcl150,file,oracle,where,select
From: https://blog.51cto.com/u_12991611/6044943

相关文章

  • linux安装oracle19c
    第一步:检查Linux系统版本1.执行命令lsb_release-a查看系统版本目前我使用的是阿里云丐版服务器,系统为CentOS7.3-x64第二步:下载Oracle19c的安装包和预安装包1.下载......
  • ERROR at line 1: ORA-01034: ORACLE not available Process ID: 0 Session ID: 0 Ser
    原因:数据库实例没有startup1.建立目录#su-oracle$mkdir/home/oracle/scripts2.建立启动脚本:$cd/home/oracle/scripts$vimstartdb.sh#!/bin/bashexportORACLE_BA......
  • shell关闭buffer执行命令
    前言当执行一些二进制文件时,发现有日志丢失的情况,后来知道是输出到buffer中,换行会将buffer中的内容输出到控制台,而如果没有换行那么会输出到buffer中。一个例子#include<......
  • Blob 对象和 ArrayBuffer 对象
    Blob和ArrayBufferBlob对象表示的是二进制到文本的对象;ArrayBuffer对象表示一段二进制数据,用来模拟内存里面的数据。Blob关于Blob的详细内容:了解Blob和File......
  • oracle回退表数据
    开启闪回,如果不开启无法进行闪回altertabletable_nameenablerowmovement;闪回表数据到某个时间点flashbacktablettable_nameestfbtotimestampto_timestamp('2023......
  • Oracle通过dblink访问KingbaseES--补充!
    https://www.cnblogs.com/blogxc321/p/16200346.html原文链接如上,须注意一点!!!在配置完/etc/odbc.ini与/etc/odbcinst.ini两个文件之后,仍需要配置环境变量,ODBCIN......
  • Oracle ADG环境下的RMAN备份策略
    作为IT运维人员,尤其是数据库岗位,数据的备份重于一切。现在很多用户会有一个普遍误区,认为现在类似ADG这类灾备已经很完善,且实时性也更佳,往往就忽略了传统的备份效用。但实......
  • oracle 分配权限命令
    Oracle分配权限以管理员身份登录数据库创建用户:createuser[username]identifiedby[password];赋予登录权限:grantcreate session to[username];赋予建表权限:gr......
  • Oracle:卸载与安装
    卸载如何完全彻底卸载Oracle安装windows安装Oracle详细教程查看字符集SELECT*FROMNls_Database_Parameters......
  • three.js教程2-几何体BufferGeomety顶点
    1、网格模型(三角形概念)网格模型Mesh其实就一个一个三角形(面)拼接构成。使用使用网格模型Mesh渲染几何体geometry,就是几何体所有顶点坐标三个为一组,构成一个三角形,多组......