一、DB(Data Block)

1、dumping data blocks

SYS@ tsid > select

2dbms_rowid.rowid_relative_fno(rowid) REL_FNO,

3dbms_rowid.rowid_block_number(rowid) BLOCKNO,

4dbms_rowid.rowid_row_number(rowid) ROWNO,

5id,name

6from t

7where id=1;

REL_FNOBLOCKNOROWNOID NAME

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

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

41501 a

SYS@ tsid > alter system dump datafile 4

block 15;

System altered.

dump文件部分:

block_row_dump:

tab 0, row 0, @0x1f90

tl: 8 fb: --H-FL-- lb: 0x1cc: 2

col0: [ 2]c1 02

col1: [ 1]61

end_of_block_dump

End dump data blocks tsn: 4 file#: 4 minblk

15 maxblk 15

2、由dump出来的值转换为表中的值

SYS@ tsid > select

utl_raw.cast_to_number(replace('c1,02',',')) value from dual;

VALUE

----------

1

SYS@ tsid > select

utl_raw.cast_to_varchar2('61') value from dual;

VALUE

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

a

二、DBA(Data Block

Address)

A(DBA) is the

address of an Oracle data block for access

purposes.

DBA一般指绝对数据块地址用来表示一行的物理地址,一行唯一确定一个rowid,并且在使用中一般不会改变,除非rowid之后在行的物理位置发生改变的情况下才会发生变化。在rowid中,就有一段是来表示DBA的。

1、获得一行的file number和block number

SYS@ tsid > select

2dbms_rowid.rowid_relative_fno(rowid) REL_FNO,

3dbms_rowid.rowid_block_number(rowid) BLOCKNO,

4id,name

5from t where id=2;

REL_FNOBLOCKNOID NAME

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

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

4122b

2、将file number和block number转换成DBA

SYS@ tsid > variable dba varchar2(30)

SYS@ tsid > exec :dba

:=dbms_utility.make_data_block_address(4,12);

PL/SQL procedure successfully completed.

SYS@ tsid > print dba

DBA

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

16777228

3、将DBA转换成file number和block number

SYS@ tsid > select

2dbms_utility.data_block_address_block(16777228) "BLOCK",

3dbms_utility.data_block_address_file(16777228) "FILE"

4from dual;

BLOCKFILE

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

124

三、RDBA(Tablespace

relative database block address)

是相对数据块地址,是数据字典(表空间及一些对象定义)所在块的地址。

oracle 8以后,rowid的存储空间扩大到了10个字节(32bit object#+10bit rfile#+22bit block#+16bit row#)。rdba就是rowid中的rfile#+block#。

SYS@ tsid > select rowid,

2dbms_rowid.rowid_relative_fno(rowid) REL_FNO,

3dbms_rowid.rowid_block_number(rowid) BLOCKNO,

4dbms_rowid.rowid_row_number(rowid) ROWNO,

5id,name

6from t

7where id=3;

ROWIDREL_FNOBLOCKNOROWNOID NAME

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

AAADJrAAEAAAAAMAAB41213c

把这个block dump到trace:

SYS@ tsid > alter system dump datafile 4

block 12;

System altered.

查看dump内容:

=============================================================================

*** 2012-05-15 21:48:40.987

Start dump data blocks tsn: 4 file#: 4

minblk 12 maxblk 12

buffer tsn: 4 rdba:

0x0100000c (4/12)--rdba的值

scn: 0x0000.002f1254 seq: 0x01 flg: 0x06

tail: 0x12540601

frmt: 0x02 chkval: 0xe59f type: 0x06=trans

data

Hex dump of block: st=0, typ_found=1

Dump of memory from 0x07357800 to

0x07359800

7357800 0000A206 0100000C 002F1254 06010000[........T./.....]

7357810 0000E59F 00000001 0000326B

002EA961[........k2..a...]

7357820 00000000 00320002 01000009

00220002[......2.......".]

7357830 0000034D 00800A91 002800F2

00002002[M.........(.. ..]

7357840 002F1254 00000000 00000000 00000000[T./.............]

7357850 00000000 00000000 00000000

00000000[................]

7357860 00000000 00020100 0016FFFF

1F701F88[..............p.]

7357870 00001F70 1F900002 00001F88

00000000[p...............]

7357880 00000000 00000000 00000000 00000000[................]

Repeat 501 times

73597E0 00000000 00000000 00000000

0202012C[............,...]

73597F0 630104C1 0202012C 620103C1

12540601[...c,......b..T.]

Block header dump:0x0100000c

Object id on Block? Y

seg/obj: 0x326bcsc: 0x00.2ea961itc: 2flg: Etyp: 1 - DATA

brn: 0bdba: 0x1000009 ver: 0x01

opc: 0

inc: 0exflg: 0

ItlXidUbaFlagLckScn/Fsc

0x010x0002.022.0000034d0x00800a91.00f2.28--U-2fsc 0x0000.002f1254

0x020x0000.000.000000000x00000000.0000.00----0fsc 0x0000.00000000

data_block_dump,data

header at 0x7357864

===============

tsiz: 0x1f98

hsiz: 0x16

pbl: 0x07357864

bdba: 0x0100000c

76543210

flag=--------

ntab=1

nrow=2

frre=-1

fsbo=0x16

fseo=0x1f88

avsp=0x1f70

tosp=0x1f70

0xe:pti[0]nrow=2offs=0--该块中保存了2条记录。从row0到row1

0x12:pri[0]offs=0x1f90

0x14:pri[1]offs=0x1f88

block_row_dump:

tab 0, row 0, @0x1f90

tl: 8 fb: --H-FL-- lb: 0x1cc: 2

col0: [ 2]c1 03

col1: [ 1]62

tab 0, row 1, @0x1f88

tl: 8 fb: --H-FL-- lb: 0x1cc: 2

col0: [ 2]c1 04

col1: [ 1]63

end_of_block_dump

End dump data blocks tsn: 4 file#: 4 minblk

12 maxblk 12

SYS@tsid>select

dbms_utility.data_block_address_file(to_number(ltrim('0x0100000c','0x'),'xxxxxxxx'))

as file_no,

2dbms_utility.data_block_address_block(to_number(ltrim('0x0100000c','0x'),'xxxxxxxx'))

as block_no

3from dual;

FILE_NOBLOCK_NO

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

412

这和之前在rowid里看到的一致。

oracle和dba,oracle db、dba和rdba相关推荐

  1. oracle漏洞pdf,Oracle DBA手记 4 数据安全警示录 pdf完整扫描版版

    <oracle dba手记4:数据安全警示录>以数据安全为主线将众多灾难挽救过程串联在一起,不仅对各个案例的发生过程进行了详细描述,更 为读者提供了具体的规避法则.其间穿插介绍了很多新鲜的 ...

  2. chown dba oracle,改变用户名和群组:chown

    改变用户名和群组:chown chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使 ...

  3. Oracle LiveLabs实验:DB Security - Audit Vault and DB Firewall

    概述 此实验关于Oracle AVDF(Audit Vault and DB Firewall). 此实验申请地址在这里,时间为150分钟. 实验帮助在这里. 本实验使用的AVDF版本为Oracle ...

  4. Oracle LiveLabs实验:DB Security - Key Vault

    概述 此实验关于Oracle Key Vault. 此实验申请地址在这里,时间为55分钟. 实验帮助在这里. 实验生成需要15分钟左右,最终会生成2个虚机,以下为我的专属配置: 129.146.74. ...

  5. 安装ORACLE provider for OLE DB

    资源文件: 链接:https://pan.baidu.com/s/1yDvJXm0YU2DWzICzDwEHnQ  提取码:77n9 以下文章参考 https://blog.csdn.net/weix ...

  6. oracle mssm,关于oracle 中的dmt_lmt_mssm_assm其间的关系

    在了解dmt和lmt之前,先来简单的熟悉一下oracle数据库的逻辑结构,逻辑结构描速起来非常简单:表空间是由段(segment)组成的,段是由范围(extent)组成的,范围是由连续的(block) ...

  7. sqplus操作oracle,sqlplus操作oracle

    登录oracle: D:\>sqlplus /nolog Dba用户链接数据库: SQL> connect /as sysdba --查看已有表空间名称和大小 SQL>select ...

  8. oracle 峰度 函数,Oracle Database 21c 十大新特性一览

    摘要:Oracle 考虑到 2020 年我们的客户将面临前所未有的经济和业务中断.我们决定不将 Database 20c Preview 版本升级为 General Availability. 相反, ...

  9. Oracle HA 之 oracle 11.2 rac库配置active dataguard

    目录 configing active dataguard for 11.2 rac. 1 一.建组.建用户.配置环境变量.内核参数等... 1 二.配置共享磁盘... 3 1)创建4块共享磁盘并fd ...

  10. oracle数据库11gr2,Oracle 11g R2 X64数据库安装

    最近在安装Linux下的Oracle环境,折腾了很久,遇到了不少问题,最后终于搞定了,于是写下下文记录安装过程 1.Linux环境配置准备 环境:Linux:cents os 6.5,DB:Oracl ...

最新文章

  1. 康奈尔大学对博士生的四点要求
  2. 设计一个程序实现两个任意长的整数的求和运算_自然数集,整数集,有理数集等都有字母表示,为什么无理数集没有...
  3. 看看我写的文章,牛逼不。哈哈。
  4. adt变频器故障代码ol2_误诊实例换来的变频器维修经验
  5. JPM Coin 三部曲 (中) - 摩根大通为何青睐 Quorum 区块链
  6. 腾讯智慧零售数字增长峰会:私域新生态,增长新格局
  7. 人脸方向学习(一):人脸质量评价-模糊检测方法总结一
  8. python爬取岗位数据并分析_Python年薪最高有50w|探秘全国近1600个Python岗位数据分析...
  9. VOJ1067 【矩阵经典7 构造矩阵】
  10. okhttp3+retrofit2+rxjava2使用
  11. 2008服务器远程桌面连接设置密码,WinServer 2008 远程桌面连接设置
  12. netbeans 插件安装
  13. 夜神模拟器Nox.exe支持命令行参数列表
  14. 最优化学习 拟牛顿法(Quasi-Newton Method)
  15. 极米newz6x和newz8x区别 极米newz6x和newz8x哪款好 哪个性价比高
  16. Spark综合项目:企业电商分析平台
  17. 服务器,ping没问题,请求经常超时、时好时坏的解决办法
  18. 【Linux-Linux常用命令】Linux常用命令总结
  19. rmxp4droid for 天敏电视盒子
  20. macOS 必备软件之系统监控工具「iStat Menus」

热门文章

  1. 双边滤波(bilateral filter)彩色图 matlab实现代码
  2. H5直播系列四 RTMP HTTP-FLV HLS MPEG-DASH
  3. ffmpeg封装h264裸流为mp4文件,视频播放速度特别慢
  4. RTSP播放器网页web无插件直播流媒体音视频播放器EasyPlayer-RTSP实现支持H265编码格式过程介绍
  5. IO设计模式:Reactor和Proactor对比
  6. Flask-sqlalchemy外键关系映射
  7. sql 执行顺序_10个简单步骤,完全理解SQL
  8. STM32F4启动流程分析
  9. 优化信息流很麻烦?三招教你轻松搞定
  10. 阿里研发支出连续三年登顶; 《MIT科技评论》为阿里AI语音技术点赞;达摩院引入以色列著名计算机视觉科学家 | 周博通...