[20161006]windows下bbed使用注意.txt

--我已经多次提到windows下 的bbed 存在一个偏移看10g以上的数据文件,主要问题在于windows的bbed来自9i,以后不在出现。
--而这个版本无法识别10g以上的数据文件的第1块OS块,导致出现偏差:

http://blog.itpub.net/267265/viewspace-2109019/
http://blog.itpub.net/267265/viewspace-2116311/

--而实际上更严重的问题是这个版本识别第1块存在问题。通过例子来说明:

1.环境:
SYS@test> select * from v$version ;
BANNER                                                                                 CON_ID
-------------------------------------------------------------------------------- ------------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production                0
PL/SQL Release 12.1.0.1.0 - Production                                                      0
CORE    12.1.0.1.0      Production                                                          0
TNS for 64-bit Windows: Version 12.1.0.1.0 - Production                                     0
NLSRTL Version 12.1.0.1.0 - Production                                                      0

BBED> info
File#  Name                                                          Size(blks)
-----  ----                                                          ----------
     1  D:\APP\ORACLE\ORADATA\TEST\SYSTEM01.DBF                                0
     2  D:\APP\ORACLE\ORADATA\TEST\PDBSEED\SYSTEM01.DBF                        0
     3  D:\APP\ORACLE\ORADATA\TEST\SYSAUX01.DBF                                0
     4  D:\APP\ORACLE\ORADATA\TEST\PDBSEED\SYSAUX01.DBF                        0
     5  D:\APP\ORACLE\ORADATA\TEST\UNDOTBS01.DBF                               0
     6  D:\APP\ORACLE\ORADATA\TEST\USERS01.DBF                                 0
     7  D:\APP\ORACLE\ORADATA\TEST\TEST01P\SYSTEM01.DBF                        0
     8  D:\APP\ORACLE\ORADATA\TEST\TEST01P\SYSAUX01.DBF                        0
     9  D:\APP\ORACLE\ORADATA\TEST\TEST01P\SAMPLE_SCHEMA_USERS01.DBF           0
    10  D:\APP\ORACLE\ORADATA\TEST\TEST01P\EXAMPLE01.DBF                       0
    15  D:\APP\ORACLE\ORADATA\TEST\TEST01P\LFREE01.DBF                         0

2.测试:
BBED> set dba 1,2
        DBA             0x00400002 (4194306 1,2)

--//注实际上访问的是dba 1,1

BBED> p kcvfhtnm
text kcvfhtnm[0]                            @250
text kcvfhtnm[1]                            @251
text kcvfhtnm[2]                            @252
text kcvfhtnm[3]                            @253
text kcvfhtnm[4]                            @254
text kcvfhtnm[5]                            @255
text kcvfhtnm[6]                            @256
text kcvfhtnm[7]                            @257
text kcvfhtnm[8]                            @258
...

BBED> p kcvfh.kcvfhtnm
text kcvfhtnm[0]                            @250
text kcvfhtnm[1]                            @251
text kcvfhtnm[2]                            @252
text kcvfhtnm[3]                            @253
text kcvfhtnm[4]                            @254
text kcvfhtnm[5]                            @255
text kcvfhtnm[6]                            @256
text kcvfhtnm[7]                            @257
text kcvfhtnm[8]                            @258
text kcvfhtnm[9]                            @259

--很奇怪吧,这个版本无法看到数据文件的表空间名字。
BBED> p kcvfhtln
ub2 kcvfhtln                                @248      0x0000

--表空间的长度也是0,明显不对。

3.而实际上表空间的名字在偏移offset=338

BBED> dump /v count 30 offset 336
File: D:\APP\ORACLE\ORADATA\TEST\SYSTEM01.DBF (1)
Block: 2                                 Offsets:  336 to  365                            Dba:0x00400002
-----------------------------------------------------------------------------------------------------------
06005359 5354454d 00000000 00000000 00000000 00000000 00000000 0000     l ..SYSTEM......................

<32 bytes per line>

--前面的0x06 表示表空间的长度,是6对上的。

--也就是说这个版本无法识别10g以上的文件头,至少存在错误,在使用中要特别注意。在选择修复时要特别注意,切记!!
--或者讲这个版本仅仅能看9i或者以下的数据文件。

4.我们可以拷贝1个9i的数据文件来验证我的判断:

BBED> set width 150
        WIDTH           150

BBED> info
File#  Name                                   Size(blks)
-----  ----                                   ----------
     1  D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF             0
     2  D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF            0
     3  D:\ORACLE\ORADATA\ORCL\CWMLITE01.DBF            0
     4  D:\ORACLE\ORADATA\ORCL\DRSYS01.DBF              0
     5  D:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF            0
     6  D:\ORACLE\ORADATA\ORCL\INDX01.DBF               0
     7  D:\ORACLE\ORADATA\ORCL\ODM01.DBF                0
     8  D:\ORACLE\ORADATA\ORCL\TOOLS01.DBF              0
     9  D:\ORACLE\ORADATA\ORCL\USERS01.DBF              0
    10  D:\ORACLE\ORADATA\ORCL\XDB01.DBF                0

BBED> set dba 6,1
        DBA             0x01800001 (25165825 6,1)

BBED> p kcvfhtnm
text kcvfhtnm[0]                            @250     I
text kcvfhtnm[1]                            @251     N
text kcvfhtnm[2]                            @252     D
text kcvfhtnm[3]                            @253     X
text kcvfhtnm[4]                            @254
...

BBED> p kcvfhtln
ub2 kcvfhtln                                @248      0x0004
--//表空间名长度也正确。
--//可以看到使用windows的bbed看9i的数据文件是正常的,而且偏移250.也就是9版本的bbed看10g以上的数据文件头是存在问题的。
--//我查看使用的版本是for windows的版本。

5.再将这个INDX01.DBF拷贝到linux看看:

BBED> info
File#  Name                                 Size(blks)
-----  ----                                 ----------
     1  /mnt/ramdisk/book/system01.dbf                0
     2  /mnt/ramdisk/book/sysaux01.dbf                0
     3  /mnt/ramdisk/book/undotbs01.dbf               0
     4  /mnt/ramdisk/book/users01.dbf                 0
     5  /mnt/ramdisk/book/example01.dbf               0
     6  /mnt/ramdisk/book/tea01.dbf                   0
    14  /home/oracle/backup/users01.dbf               0
    20  /home/oracle/bbed/icare_asm_header            0
    21  /home/oracle/emp.aaa                          0
    22  /home/oracle/emp.aab                          0
   201  /mnt/ramdisk/book/temp01.dbf                  0
   306  /mnt/ramdisk/book/INDX01.DBF                  0

BBED> p kcvfhtnm
text kcvfhtnm[0]                            @338
text kcvfhtnm[1]                            @339
text kcvfhtnm[2]                            @340
text kcvfhtnm[3]                            @341
text kcvfhtnm[4]                            @342
text kcvfhtnm[5]                            @343
text kcvfhtnm[6]                            @344
text kcvfhtnm[7]                            @345
text kcvfhtnm[8]                            @346

BBED> p kcvfhtln
ub2 kcvfhtln                                @336      0x0000

--看system表空间数据文件:

BBED> set dba 1,1
        DBA             0x00400001 (4194305 1,1)

BBED> p kcvfhtnm
text kcvfhtnm[0]                            @338     S
text kcvfhtnm[1]                            @339     Y
text kcvfhtnm[2]                            @340     S
text kcvfhtnm[3]                            @341     T
text kcvfhtnm[4]                            @342     E
text kcvfhtnm[5]                            @343     M
text kcvfhtnm[6]                            @344
text kcvfhtnm[7]                            @345
text kcvfhtnm[8]                            @346
text kcvfhtnm[9]                            @347

BBED> p kcvfhtln
ub2 kcvfhtln                                @336      0x0006

--//可见11g下的linux版本也不能看9i的数据文件头。

--//但是看普通的数据块应该没有问题,至少我没有遇到这个问题或者现象。这个应该在工作中引起注意。

[20161006]windows下bbed使用注意.txt相关推荐

  1. windows下合并多个txt,文件

    新建文本写入 type  *.txt  >> all.txt 然后改名a.bat,哪里需要合并,哪里执行这个脚本. 可以扫码加微信

  2. MacOS和Windows下打开大的TXT文件的软件推荐

    macOS: ultraedit 补充个使用Ultraedit的使用方式(快捷键):https://blog.csdn.net/weixin_43748802/article/details/1056 ...

  3. [20160606]windows下使用bbed的疑问.txt

    [20160606]windows下使用bbed的疑问.txt --链接:http://blog.itpub.net/267265/viewspace-2109019/        http://b ...

  4. windows下面的txt在linux下面显示为乱码

    windows下面的txt正确保存操作后, 传递到linux,发现是乱码. 解决方案: linux下面,整个txt文件拖入chrome浏览器,然后把浏览器里面的内容重新保存即可

  5. 数据挖掘实验二结果(构建cube的三个维度,即三个txt,然后做各种查询)C++实现(代码调试环境为Windows下的CLion使用WSL的Linux)

    数据挖掘实验二结果(构建cube的三个维度,即三个txt,然后做各种查询)C++实现(代码调试环境为Windows下的CLion使用WSL的Linux) 构建cube的三个维度,查询三家店七天四物的销 ...

  6. Python——windows下pip换源 和 自动生成和安装requirements.txt

    当自己电脑(Windows系统)装python的第三方包出现timeout时,一般就是下载速度太慢了.采取的方法可以跟换pip的下载源. 转载文章的链接:[python]windows下pip换源 P ...

  7. Windows下将文件夹下所有的文件名导出成生成TXT文件

    1.在桌面上新建一个txt文件,然后复制下面代码,写入txt文件 @echo off dir /s/b *.* > b.txt exit (这里的b.txt文件就是用来存放目标文件名称的txt文 ...

  8. Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行

    Windows下Java+Tesseract-OCR对图像进行字符识别,亲测可行 1. 下载tesseract-ocr.中文语言包并安装 2. 命令行对图片进行识别及效果图 3. Java调用Tess ...

  9. Htaccess文件是什么以及Windows下自由创建.htaccess文件的N种方法

    .htaccess是什么 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置. 通过htaccess文件,可以帮我们实现:网页301重定向.自定义404错误 ...

最新文章

  1. 迈克尔戴尔展望医疗愿景:信息驱动创新
  2. 「mysql优化专题」你们要的多表查询优化来啦!请查收(4)
  3. 密码学基本概念(一)
  4. android mqtt详解_Android mqtt入门 Android studio(转)
  5. 论文中的图片处理方法
  6. 设计模式实例(Lua)笔记之六(Adapter模式)
  7. 贝叶斯分析——从数值积分到MCMC
  8. C++ 最大堆最小堆与push_heap pop_heap
  9. Swing 100行画图示例
  10. Win10开机免UAC自启动锐捷客户端
  11. H5实现点击图片放大功能
  12. 获取深户股市列表api_获取股票api
  13. con和com开头单词
  14. android多开器工作原理,[原创]app隐藏大师绕过密码与多开分析
  15. 【无线安全实践入门】破解WiFi密码的多个方法
  16. 【概率论与数理统计】1.4 条件概率
  17. Julia学习笔记:使用GLM包进行一元回归分析及模型拟合度检验
  18. 如何用vm虚拟机当服务器,vm虚拟机如何做云服务器
  19. 阿里云ECS服务器安装AMH5.3面板并搭建WordPress站点详细教程(卞懂的学习笔记)...
  20. SIP协议详解(中文)-6

热门文章

  1. Android 高级Drawable资源---复合Drawable----变换Drawable
  2. 常见索引结构—B+树
  3. Flutter入门:Hero共享元素
  4. kotlin学习笔记——内联函数
  5. java创建对象 的初始化顺序
  6. html 新append后的元素如何注册click
  7. hdu 3339 In Action 背包+flyod
  8. Spring Data JPA 查询方法支持的关键字
  9. Mahout系列之----共轭梯度预处理
  10. Base64 加密字符串和文件