动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.用Linux轻松建立内部“因特网”.
.使用10203事件跟踪Oracle块清除.
.v$logmnr_content create statem.
.10g不支持的Linux发行版上安装10.
.ActualTest Oracle 1Z0-141 v01..
.访问Oracle数据库时如何限制绕过.
.Oracle 10g更强大的回闪数据库功.
.Oracle9i,如何监视索引并清除监视.
.Oracle中查找和删除重复记录方法.
.用Oracle 10g新的行时间戳捕捉变.
.通过意向锁多粒度封锁机制进行并.
.用SQL进行函数查询.
.讲解七种数据库中Select Top的使.
.TestKing Oracle 1Z0-031 Edt7.0.
.创建表时考虑列的顺序.
.OC4J 10g 10.1.3 数据源中的连接.
.教你做Linux中的Windows管理员(图.
.10gRAC系列之cluvfy用法及验证错.
.Oracle 9i新特性研究系列之七.
.oracle的高级复制.

数据块转储及RDBA的转换

发表日期:2008-2-9 |



  很多时候我们在进行进一步研究时需要转储(dump)Oracle的数据块,以研究其内容,Oracle提供了很好的方式,我们通过以下例子简单说明一下:
  
  [oracle@jumper udump]$ sqlplus "/ as sysdba"
  
  SQL*Plus: Release 9.2.0.3.0 - ProdUCtion on Tue Aug 31 17:01:27 2004
  
  Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
  
  Connected to:
  Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production
  With the Partitioning, OLAP and Oracle Data Mining options
  JServer Release 9.2.0.3.0 - Production
  
  SQL> select rowid,deptno,dname,loc from scott.dept;
  
  ROWID         DEPTNO DNAME     LOC
  ------------------ ---------- -------------- -------------
  AAADZ7AABAAAGK6AAA     10 ACCOUNTING   NEW YORK
  AAADZ7AABAAAGK6AAB     20 RESEARCH    DALLAS
  AAADZ7AABAAAGK6AAC     30 SALES     CHICAGO
  AAADZ7AABAAAGK6AAD     40 OPERATIONS   BOSTON
  
  SQL> select file_id,block_id,blocks from dba_extents where segment_name='DEPT';
  
  FILE_ID  BLOCK_ID   BLOCKS
  ---------- ---------- ----------
     1   25273     8
  
  SQL> alter system dump datafile 1 block min 25273 block max 25274;
  
  System altered.
  
  SQL> !
  [oracle@jumper udump]$ ls -l
  total 4
  -rw-r-----  1 oracle  dba     3142 Aug 31 17:04 hsjf_ora_13674.trc
  [oracle@jumper udump]$ more hsjf_ora_13674.trc
  /opt/oracle/admin/hsjf/udump/hsjf_ora_13674.trc
  Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production
  With the Partitioning, OLAP and Oracle Data Mining options
  JServer Release 9.2.0.3.0 - Production
  ORACLE_HOME = /opt/oracle/product/9.2.0
  System name:  Linux
  Node name:   jumper.hurray.com.cn
  Release:    2.4.18-14
  Version:    #1 Wed Sep 4 13:35:50 EDT 2002
  Machine:    i686
  Instance name: hsjf
  Redo thread mounted by this instance: 1
  Oracle process number: 9
  Unix process pid: 13674, image: oracle@jumper.hurray.com.cn (TNS V1-V3)
  
  *** 2004-08-31 17:04:27.820
  *** SESSION ID:(8.3523) 2004-08-31 17:04:27.819
  Start dump data blocks tsn: 0 file#: 1 minblk 25273 maxblk 25274
  buffer tsn: 0 rdba: 0x004062b9 (1/25273)
  scn: 0x0000.0057c70d seq: 0x01 flg: 0x04 tail: 0xc70d1001
  frmt: 0x02 chkval: 0x12e3 type: 0x10=DATA SEGMENT HEADER - UNLIMITED
   Extent Control Header
   -----------------------------------------------------------------
   Extent Header:: spare1: 0   spare2: 0   #extents: 1   #blocks: 7
         last map 0x00000000 #maps: 0   offset: 4128
   Highwater:: 0x004062bb ext#: 0   blk#: 1   ext size: 7
   #blocks in seg. hdr's freelists: 1
   #blocks below: 1
   mapblk 0x00000000 offset: 0
          Unlocked
   Map Header:: next 0x00000000 #extents: 1  obj#: 13947 flag: 0x40000000
   Extent Map
   -----------------------------------------------------------------
  0x004062ba length: 7
  
   nfl = 1, nfb = 1 typ = 1 nxf = 0 ccnt = 1
   SEG LST:: flg: USED  lhd: 0x004062ba ltl: 0x004062ba
  buffer tsn: 0 rdba: 0x004062ba (1/25274)
  scn: 0x0000.0131909b seq: 0x07 flg: 0x04 tail: 0x909b0607
  frmt: 0x02 chkval: 0xa8e7 type: 0x06=trans data
  Block header dump: 0x004062ba
   Object id on Block?
Y
   seg/obj: 0x367b csc: 0x00.131909a itc: 2 flg: O typ: 1 - DATA
   fsl: 0 fnx: 0x0 ver: 0x01
  
   Itl      Xid         Uba     Flag Lck    Scn/Fsc
  0x01  0x0001.02a.000003f3 0x0080000b.0188.08 C---  0 scn 0x0000.0057c70e
  0x02  0x0000.000.00000000 0x00000000.0000.00 ----  0 fsc 0x0000.00000000
  
  data_block_dump,data header at 0xadb505c
  ===============
  tsiz: 0x1fa0
  hsiz: 0x1a
  pbl: 0x0adb505c
  bdba: 0x004062ba
   76543210
  flag=--------
  ntab=1
  nrow=4
  frre=-1
  fsbo=0x1a
  fseo=0x1f44
  avsp=0x1f2a
  tosp=0x1f2a
  0xe:pti[0]   nrow=4 offs=0
  0x12:pri[0]   offs=0x1f86
  0x14:pri[1]   offs=0x1f70
  0x16:pri[2]   offs=0x1f5c
  0x18:pri[3]   offs=0x1f44
  block_row_dump:
  tab 0, row 0, @0x1f86
  tl: 26 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [ 2] c1 0b
  col 1: [10] 41 43 43 4f 55 4e 54 49 4e 47
  col 2: [ 8] 4e 45 57 20 59 4f 52 4b
  tab 0, row 1, @0x1f70
  tl: 22 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [ 2] c1 15
  col 1: [ 8] 52 45 53 45 41 52 43 48
  col 2: [ 6] 44 41 4c 4c 41 53
  tab 0, row 2, @0x1f5c
  tl: 20 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [ 2] c1 1f
  col 1: [ 5] 53 41 4c 45 53
  col 2: [ 7] 43 48 49 43 41 47 4f
  tab 0, row 3, @0x1f44
  tl: 24 fb: --H-FL-- lb: 0x0 cc: 3
  col 0: [ 2] c1 29
  col 1: [10] 4f 50 45 52 41 54 49 4f 4e 53
  col 2: [ 6] 42 4f 53 54 4f 4e
  end_of_block_dump
  End dump data blocks tsn: 0 file#: 1 minblk 25273 maxblk 25274
  
  很多人经常提出的一个问题是,rdba是如何转换的?
  
  rdba: 0x004062ba (1/25274)
  
  我们通过这个例子介绍一下.
  
  rdba从Oracle6->Oracle7->Oracle8发生了三次改变:
  
  在Oracle6中,rdba由6位2进制数表示,也就是说数据块最多只能有2^6=64个数据文件(去掉全0和全1, 实际上最多只能代表62个文件)
  
  在Oracle7中,rdba中的文件号增加为10位,为了向后兼容,从Block号的高位拿出4位作为文件号的高位.这样从6->7的Rowid无需发生变化.
  
  在Oracle8中,文件号仍然用10位表示,只是不再需要置换,为了向后兼容,同时引入了相对文件号(rfile#),所以从Oracle7到Oracle8,Rowid仍然无需发生变化.
  
  举例说明如下:
  
  在Oracle6中:
  比如: file 8, block 56892
   26位block号==56892
   vv vvvvvvvv vvvvvvvv vvvvvvvv
  00100000 00000000 11011110 00111100
  ^^^^^^
  6位文件号==8
  
  在Oracle7中:
  比如:File 255, block 56892
  
  11111100 11000000 11011110 00111100
   F  C  C  0   D  E   3 C
  \_____/\___/\_______________________/
       
     Block = 0xDE3C = 56892
  \_____________
           V  V
    0011  111111 = 0xFF = 255 --注重这里高位和低位要置换才能得出正确的file#
  
  在Oracle8中:
  比如:File 255, block 56892
  
  11111100 11000000 11011110 00111100
   F  C  C  0   D  E   3 C
  \_____/\___/\_______________________/
       
     Block = 0xDE3C = 56892
  \_____________
           V  V
   0011 1111 0011 = 03F3 = 1011 --这就是相对文件号
  
  对于我们测试中的例子:
  
  rdba: 0x004062ba (1/25274)
  
  也就是:0000 0000 0100 0000 0110 0010 1011 1010
  
  前10位为rfile#: 0000 0000 01 = 1
  
  后22位为Block#:00 0000 0110 0010 1011 1010 = 25274 right">(出处:清风软件下载学院)
上一篇:Oracle数据库的管理 人气:471
下一篇:如何移动表达到减小数据文件大小的目的 人气:457
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-12 team论坛 v2.0.4 bulid 080916 A
2008-10-12 Roclog v3.1.6
2008-10-12 SupeV v1.0.1 简体中文 GBK
2008-10-12 NetCMS v1.6.0.1010 正式版
2008-10-12 PHP考试系统PPFrame v1.2.7
2008-10-12 LPAS个人相册 v1.6.3
2008-10-12 快问仿百度知道系统 动态-静态-互
2008-10-12 方卡广告防点击系统 V1.0 GB2312
2008-10-12 泡菜内容管理系统[PCMS] v1.0 Bu
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号