[20161111]数据文件的第0块2.txt

[20161111]数据文件的第0块2.txt

大家好,又见面了,我是全栈君。

[20161111]数据文件的第0块2.txt

–如果数据文件的第0块是OS块信息,以前的测试如果rman做备份集都不会备份。
–如果这块损坏,里面讲问题不大,你甚至可以不修复,如果在线resize就ok了,当然重建控制文件就出现问题。

–而且解决也很简单,就是建立一样大小的数据文件,然后copy回去。做一个测试例子:

1.环境:
SCOTT@book> @ &r/ver1
PORT_STRING                    VERSION        BANNER
—————————— ————– ——————————————————————————–
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production

CREATE TABLESPACE SUGAR DATAFILE
  ‘/mnt/ramdisk/book/sugar01.dbf’ SIZE 40M AUTOEXTEND ON NEXT 16M MAXSIZE UNLIMITED
LOGGING
ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;

create table t1 tablespace sugar as select rownum id ,lpad(‘A’,32,’A’) name from dual connect by level<=1e5;
alter system checkpoint;

CREATE TABLESPACE TEA DATAFILE
  ‘/mnt/ramdisk/book/tea01.dbf’ SIZE 40M AUTOEXTEND ON NEXT 16M MAXSIZE UNLIMITED
LOGGING
ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;

–昨天的测试无法在bbed下使用copy file 7 block 0 to file 6 block 0,实际上无法识别数据文件6的os头。这样变成了block=1.

2.重新测试:

SCOTT@book> alter tablespace sugar offline ;
Tablespace altered.

SCOTT@book> alter tablespace tea offline ;
Tablespace altered.

–设置数据文件6 sugar01.dbf的第0块全为0.

3.使用bbed修复:
BBED> copy file 7 block 0 to file 6 block 0
BBED-00309: out of range block number (0)

–实际上晚上在回家的路上才想起来问题在那里。我以前在windows下使用bbed,也遇到修改11g的数据文件,访问block必须加1,实际上
–就是无法识别11g数据文件的块头。

BBED> dump /v file 7 block 0  count 256 offset 0
File: /mnt/ramdisk/book/tea01.dbf (7)
Block: 0                                 Offsets:    0 to  255                            Dba:0x01c00000
———————————————————————————————————–
00a20000 0000c0ff 00000000 00000000 66ee0000 00200000 00140000 7d7c7b7a l …………….f…. ……}|{z
a0810000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..

<32 bytes per line>

BBED> dump /v file 6 block 1  count 256 offset 0
BBED-00309: out of range block number (0)

BBED> dump /v file 6 block 1  count 256 offset 0
File: /mnt/ramdisk/book/sugar01.dbf (6)
Block: 1                                 Offsets:    0 to  255                            Dba:0x01800001
———————————————————————————————————–
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 l …………………………..

<32 bytes per line>

— 这样要在bbed下执行应该是(不过还是要小心,至少仔细看一下里面的内容,避免错误)。
— 而且我遇到奇怪的问题每次按照如下顺序执行:
dump /v file 7 block 0  count 256 offset 0
dump /v file 6 block 1  count 256 offset 0
dump /v file 6 block 1  count 256 offset 0

–第2步总是报错BBED-00309: out of range block number (0),但是我反过来就没有问题。

dump /v file 6 block 1  count 256 offset 0
dump /v file 7 block 0  count 256 offset 0

— 注意一定要在执行copy前看一下里面的内容,避免写入错误的位置,还是不推荐这种操作模式。

copy file 7 block 0 to file 6 block 1

BBED> copy file 7 block 0 to file 6 block 1
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /mnt/ramdisk/book/sugar01.dbf (6)
Block: 1                                                    Offsets:    0 to  255                                               Dba:0x01800001
————————————————————————————————————————————————
00a20000 0000c0ff 00000000 00000000 66ee0000 00200000 00140000 7d7c7b7a a0810000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<64 bytes per line>
–补充如果这样顺序执行,到copy是第1次出错,第2次ok:
dump /v file 6 block 1  count 256 offset 0
dump /v file 7 block 0  count 256 offset 0

BBED> copy file 7 block 0 to file 6 block 1
BBED-00309: out of range block number (0)

BBED> copy file 7 block 0 to file 6 block 1
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /mnt/ramdisk/book/sugar01.dbf (6)
Block: 1                                                    Offsets:    0 to  255                                               Dba:0x01800001
————————————————————————————————————————————————
00a20000 0000c0ff 00000000 00000000 66ee0000 00200000 00140000 7d7c7b7a a0810000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

<64 bytes per line>

–完成后退出bbed,再看一下,步骤略。

4.检查是否正常:

SCOTT@book> alter tablespace sugar online ;
Tablespace altered.

SCOTT@book> select count(*) from t1;
  COUNT(*)
———-
    100000

总结:
还是不推荐这样操作,仅仅为了了解学习的必要。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108788.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【Java设计模式】——工厂模式

    【Java设计模式】——工厂模式在 Java 应用程序中对象无处不在 这些对象都需要进行创建 如果创建的时候直接 new 对象 那么如果我们要更换对象 所有 new 对象的地方都需要进行更改 违背了软件设计原则中的开闭原则 如果我们使用工厂生产对象 只需要在工厂中关注对象的改变即可 达到了与对象解耦的目的 工厂模式最大的特点就是解耦合 本文将介绍工厂模式的四种实现方式

    2026年1月14日
    1
  • 网络协议主要要素为(网络协议由什么组成)

    一、网络协议网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。1、OSI七层协议OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,从上到下分别是7应用层6表示层5会话层4传输层3网络层2数据链路层1物理层。下面的图表显示不同的协议在最初OSI模型中的位置:7应用层例如HTTP、SMTP…

    2022年4月11日
    59
  • .fvwm2rc_FV7205LAQBG

    .fvwm2rc_FV7205LAQBG#thisisabarebonessample.fvwm2rc/system.fvwm2rcfileforfvwm.#Itshouldbecustomizedbeforeinstall.Seeothersample.fvwm2rcfiles#forhints,aswellaspointersfromthevariouslinks

    2022年9月28日
    3
  • matlab安装包

    matlab安装包1.导入路径——保存2.compile——windows

    2022年6月11日
    29
  • html制作百度音乐标签页面,网页调用百度音乐盒

    html制作百度音乐标签页面,网页调用百度音乐盒在自己的网页中嵌入百度音乐盒选择播放自己的音乐完整代码如下:mymusicbody{margin:0;padding:0;}.p{font-size:20px;font-family:”TimesNewRoman”;}.center{width:500px;height:300px;margin:20px00100px;float:left;}请输入格式为“后来,刘若英”百…

    2022年7月25日
    16
  • Mysql经典练习题50题「建议收藏」

    Mysql经典练习题50题「建议收藏」网上关于这套练习题较多使用的是比较老的mysql版本,我使用的是Serverversion:8.0.15MySQL练习数据数据表–1.学生表Student(SId,Sname,Sage,Ssex)–SId学生编号,Sname学生姓名,Sage出生年月,Ssex学生性别–2.课程表Course(CId,Cname,TId)–CId–课程编号,Cna…

    2026年1月20日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号