蓝梦数据恢复培训

银河在线官方网址

 找回密码
 立即注册

QQ登录

只需一步,快速开始

中国硬盘基地 硬盘基地 数据库 Oracle 查看内容

www.374304.com:ORACLE数据库恢复:ORA-01578数据块损坏

银河在线官方网址:三位从事瑶歌演唱的民间老艺人向广西大学研支团队员展示新创作的歌曲。

2015-3-20 15:17| 发布者: 蝴蝶| 查看: 4392| 评论: 1

摘要: 数据库的恢复有时是件很复杂的事情,轻率的操作和尝试可能导致数据库的永久损坏,所以在操作前 一定要做好备份,对于重要的数据,如果自己不能确定恢复步骤,和后果的话,可以先向专业人士咨询,以免造成损失这里是 ...
time: 2008-6-12 18:35
author : skate

os: winxp
db: 10g r2

错误提示:

ORA-01578: ORACLE 数据块损坏 (文件号 6, 块号 20)
ORA-01110: 数据文件 6: 'F:/ORACLE/PRODUCT/10.2.0/ORADATA/MOVO/BLOCK.DBF'

数据块的损坏与恢复
数据库的恢复有时是件很复杂的事情,轻率的操作和尝试可能导致数据库的永久损坏,所以在操作前 一定要做好备份,对于重要的数据,如果自己不能确定恢复步骤,和后果的话,可以先向专业人士咨询,以免造成损失这里是做模拟数据块的损坏和恢复。

1.插入数据

C:/Documents and Settings/Administrator>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 6月 12 17:38:46 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select name from v$datafile;

NAME
------------------------------------------------------------------------------

F:/ORACLE/PRODUCT/10.2.0/ORADATA/MOVO/SYSTEM01.DBF
F:/ORACLE/PRODUCT/10.2.0/ORADATA/MOVO/UNDOTBS04.DBF
F:/ORACLE/PRODUCT/10.2.0/ORADATA/MOVO/SYSAUX01.DBF
F:/ORACLE/PRODUCT/10.2.0/ORADATA/MOVO/USERS01.DBF
F:/ORACLE/PRODUCT/10.2.0/ORADATA/MOVO/EXAMPLE01.DBF
F:/ORACLE/PRODUCT/10.2.0/ORADATA/MOVO/BLOCK.DBF

已选择6行。

SQL> drop tablespace block including contents and datafiles;

表空间已删除。

SQL> create tablespace block
2 datafile 'F:/ORACLE/PRODUCT/10.2.0/ORADATA/MOVO/block.dbf' size 1m
3 extent management local;

表空间已创建。

SQL> alter user skate default tablespace block;

用户已更改。

SQL> alter user skate quota unlimited on block;

用户已更改。

SQL> conn skate/skate
已连接。
SQL> create table t as select * from dba_users;

表已创建。

SQL> insert into t select * from t;

已创建28行。

SQL> insert into t select * from t;

已创建56行。

SQL> insert into t select * from t;

已创建112行。

SQL> insert into t select * from t;

已创建224行。

SQL> insert into t select * from t;

已创建448行。

SQL> insert into t select * from t;

已创建896行。

SQL> insert into t select * from t;

已创建1792行。

SQL> insert into t select * from t;

已创建3584行。

SQL> insert into t select * from t;
insert into t select * from t
*
第 1 行出现错误:
ORA-01653: 表 SKATE.T 无法通过 8 (在表空间 BLOCK 中) 扩展

SQL> commit;

提交完成。

SQL> alter system checkpoint;

系统已更改。

SQL> select count(*) from t;

COUNT(*)
----------
      7168

SQL>

SQL> conn /as sysdba
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>

2.模拟损坏数据文件

关闭数据库后用Ultredit编辑数据文件,随便更改几个字符.然后启动数据库

SQL> startup
ORACLE 例程已经启动。

Total System Global Area 574619648 bytes
Fixed Size                  1250212 bytes
Variable Size             180358236 bytes
Database Buffers          385875968 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> select count(*) from t;
select count(*) from t
                     *
第 1 行出现错误:
ORA-00942: 表或视图不存在


SQL> select count(*) from skate.t;
select count(*) from skate.t
                           *
第 1 行出现错误:
ORA-01578: ORACLE 数据块损坏 (文件号 6, 块号 20)
ORA-01110: 数据文件 6: 'F:/ORACLE/PRODUCT/10.2.0/ORADATA/MOVO/BLOCK.DBF'

SQL>

注意:因为数据块损坏,所以查询该表,将会提示错误

3. 使用DBV检查数据文件

C:/Documents and Settings/Administrator>dbv file=F:/oracle/product/10.2.0/oradat
a/movo/BLOCK.DBF blocksize=8192

DBVERIFY: Release 10.2.0.1.0 - Production on 星期四 6月 12 18:12:35 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

DBVERIFY - 开始验证: FILE = F:/oracle/product/10.2.0/oradata/movo/BLOCK.DBF
页 20 标记为损坏
Corrupt block relative dba: 0x01800014 (file 6, block 20)
Bad check value found during dbv:
Data in bad block:
type: 6 format: 2 rdba: 0x01800014
last change scn: 0x0000.0015e13c seq: 0x1 flg: 0x06
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0xe13c0601
check value in block header: 0xf7d7
computed block checksum: 0x7772

DBVERIFY - 验证完成

检查的页总数: 128
处理的页总数 (数据): 109
失败的页总数 (数据): 0
处理的页总数 (索引): 0
失败的页总数 (索引): 0
处理的页总数 (其它): 18
处理的总页数 (段) : 0
失败的总页数 (段) : 0
空的页总数: 0
标记为损坏的总页数: 1
流入的页总数: 0
最高块 SCN            : 1433924 (0.1433924)

C:/Documents and Settings/Administrator>

dbv检测到坏块.

4.寻求恢复

在这种情况下,如果有备份,需要从备份中恢复
如果没有备份,那么坏块部分的数据肯定要丢失了

在这个时候导出是不允许的:

C:/Documents and Settings/Administrator>exp skate/skate@movo file=t.dmp tables=t

Export: Release 10.2.0.1.0 - Production on 星期四 6月 12 18:14:54 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径...
. . 正在导出表                               T
EXP-00056: 遇到 ORACLE 错误 1578
ORA-01578: ORACLE 数据块损坏 (文件号 6, 块号 20)
ORA-01110: 数据文件 6: 'F:/ORACLE/PRODUCT/10.2.0/ORADATA/MOVO/BLOCK.DBF'
导出成功终止, 但出现警告。

C:/Documents and Settings/Administrator>

5.恢复步骤

当然,对于不同的情况需要区别对待

首先你需要检查损坏的对象,使用以下SQL:

SQL> select tablespace_name,segment_type,owner,segment_name from dba_extents
2 where file_id=6 and 20 between block_id and block_id+blocks-1
3 ;

TABLESPACE_NAME                SEGMENT_TYPE       OWNER
------------------------------ ------------------ ------------------------------

SEGMENT_NAME
--------------------------------------------------------------------------------

BLOCK                          TABLE              SKATE
T

SQL>

如果损失的是数据,ok
我们可以设置内部事件,使exp跳过这些损坏的block


SQL> alter system set events='10231 trace name context forever,level 10';  

系统已更改。

SQL>

注意: 10231 内部事件,设置在全表扫描时跳过损坏的数据块.

然后我们可以导出未损坏的数据:

C:/Documents and Settings/Administrator>exp skate/skate@movo file=t.dmp tables=t

Export: Release 10.2.0.1.0 - Production on 星期四 6月 12 18:22:49 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径...
. . 正在导出表                               T导出了        7102 行
成功终止导出, 没有出现警告。

C:/Documents and Settings/Administrator>

这时候数据成功导出.这是我可以drop table,然后recreate这个表,最后在imp数据

删除表T:

SQL> drop table t;
drop table t
           *
第 1 行出现错误:
ORA-00942: 表或视图不存在

SQL> drop table skate.t;

表已删除。

SQL> commit;

提交完成。

SQL>


导入数据

C:/Documents and Settings/Administrator>imp skate/skate@movo file=t.dmp tables=t

Import: Release 10.2.0.1.0 - Production on 星期四 6月 12 18:29:36 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SKATE 的对象导入到 SKATE
. 正在将 SKATE 的对象导入到 SKATE
. . 正在导入表                             "T"导入了        7102 行
成功终止导入, 没有出现警告。

C:/Documents and Settings/Administrator>

SQL> select count(*) from skate.t;

COUNT(*)
----------
      7102

SQL>

现在这个表可以访问了

在这个例子中我们损失数据为:

7168-7102=66
数据块损坏前:

SQL> select count(*) from t;

COUNT(*)
----------
      7168

数据块损坏后:

SQL> select count(*) from t;

COUNT(*)
----------
      7102

---end----

0934370.jpg
发表评论

最新评论

引用 hbz12330 2015-4-15 19:16
谢谢分享,先留个脚印

查看全部评论(1)

返回顶部
澳门银河官网 澳门银河手机版 澳门银河官网下载 澳门银河mg app下载 澳门银河软件下载地址 澳门银河网上娱乐 澳门银河娛樂城 澳门银河赢钱攻略 澳门赌场银河 澳门银河在线赌场 澳门银河网上赌场 澳门银河线上娱乐 澳门银河娱乐平台 澳门银河官网网址导航 澳门银河娱乐 澳门银河娱乐手机版 澳门银河娱乐平台登录 澳门银河娱乐平台手机版 澳门银河线上娱乐场 澳门银河在线娱乐场 澳门银河娱乐场靠谱吗 澳门银河赌城官方网站 澳门银河娱乐场是真的吗 澳门银河娱乐场客户端下载 澳门银河娱乐场在线官方网址 澳门银河娱乐场官网网址是多少 澳门银河娱乐场线路检测 澳门银河娱乐场网站打不开怎么办 澳门银河娱乐场网页游戏 澳门银河娱乐场官方网站电话 澳门银河娱乐场官网直营 澳门银河赌城手机版 澳门银河娱乐场网站手机版 澳门银河娱乐场手机客户端 澳门银河娱乐场电子游戏网址 澳门银河线上娱乐平台 澳门银河娱乐场登陆网址 澳门银河在线娱乐 澳门银河国际娱乐 澳门银河手机棋牌游戏下载 银河澳门官网 澳门银河娱乐场备用网址 澳门银河娱乐场备用网站 澳门银河娱乐场手机版注册 澳门银河娱乐场苹果版下载 澳门银河娱乐场安卓版下载 澳门银河娱乐场网址是多少 澳门银河娱乐场可靠吗 澳门银河娱乐场可信吗 澳门银河娱乐场信誉怎么样 澳门银河赌博网站 澳门银河娱乐场投注网站 澳门银河娱乐场怎么下载到手机 澳门银河娱乐场开户送28彩金 澳门银河娱乐场注册送18彩金 澳门银河娱乐场博彩app 澳门银河娱乐场手机app下载网址 澳门银河娱乐场下载app 银河娱乐场官网 银河娱乐场手机版 银河娱乐场官网下载 银河网上娱乐 银河娛樂城 银河娱乐场赢钱攻略 银河在线赌场 银河网上赌场 银河线上娱乐官网 银河娱乐平台 银河娱乐场官网网址导航 银河娱乐手机版 银河娱乐平台登录 银河娱乐平台手机版 银河线上娱乐场 银河在线娱乐场 银河娱乐场靠谱吗 银河赌城官方网站 银河娱乐场是真的吗 银河娱乐场客户端下载 银河在线官方网址 银河娱乐场官网网址是多少 银河娱乐场线路检测 银河娱乐场网页游戏 银河娱乐场官方网站电话 银河娱乐场官网直营 银河娱乐场网站手机版 银河赌城手机版 银河娱乐场手机客户端 银河线上娱乐平台 银河娱乐场登陆网址 银河线上娱乐 银河在线娱乐 银河国际娱乐场 银河娱乐场备用网址 银河娱乐场手机版注册 银河娱乐场网址是多少 银河娱乐场可靠吗 银河娱乐场信誉怎么样 银河赌博网站 银河投注网站 银河娱乐场手机app下载网址 澳门美高梅 澳门美高梅手机版 澳门美高梅官网下载 澳门美高梅mg app下载 澳门美高梅软件下载地址 澳门美高梅网上娱乐 澳门美高梅娛樂城 澳门美高梅赢钱攻略 澳门赌场美高梅 澳门美高梅在线赌场 澳门美高梅网上赌场 澳门美高梅线上娱乐 澳门美高梅娱乐平台 澳门美高梅官网网址导航 澳门美高梅娱乐 澳门美高梅娱乐手机版 澳门美高梅娱乐平台登录 澳门美高梅娱乐平台手机版 澳门美高梅线上娱乐场 澳门美高梅在线娱乐场 澳门美高梅靠谱吗 澳门美高梅赌城官方网站 澳门美高梅平台是真的吗 澳门美高梅客户端下载 澳门美高梅在线官方网址 澳门美高梅官网网址是多少 澳门美高梅线路检测 澳门美高梅网站打不开怎么办 澳门美高梅网页游戏 澳门美高梅官方网站电话 澳门美高梅官网直营 澳门美高梅网站手机版 澳门美高梅赌城手机版 澳门美高梅手机客户端 澳门美高梅电子游戏网址 澳门美高梅线上娱乐平台 澳门美高梅登陆网址 澳门美高梅在线娱乐 澳门美高梅国际娱乐 澳门美高梅手机棋牌游戏下载 美高梅澳门官网 澳门美高梅博彩app 澳门美高梅备用网站 澳门美高梅备用网址 澳门美高梅手机版注册 澳门美高梅苹果版下载 澳门美高梅安卓版下载 澳门美高梅网址是多少 澳门美高梅可靠吗 澳门美高梅可信吗 澳门美高梅信誉怎么样 澳门美高梅赌博网站 澳门美高梅投注网站 澳门美高梅怎么下载到手机 澳门美高梅开户送28 澳门美高梅注册送18 澳门美高梅手机app下载网址 澳门美高梅娱乐场下载app 美高梅官网 美高梅手机版登录网址 美高梅官网app下载 美高梅软件下载地址 美高梅网上娱乐 美高梅娛樂城 美高梅赢钱攻略 美高梅在线赌场 美高梅网上赌场 美高梅线上娱乐 美高梅手机版 美高梅官网网址导航 美高梅娱乐 美高梅娱乐手机版 美高梅娱乐平台登录 美高梅娱乐平台手机版 美高梅线上娱乐场 美高梅在线娱乐场 美高梅网址大全 美高梅赌城官方网站 美高梅客户端下载 美高梅在线官方网址 美高梅官网网址是多少 美高梅线路检测 美高梅网站打不开怎么办 美高梅网页游戏 美高梅官网直营 美高梅网站手机版 美高梅赌城手机版 美高梅手机客户端 美高梅登陆网址 美高梅在线娱乐 美高梅国际娱乐 美高梅手机棋牌游戏下载 美高梅手机版注册 美高梅网址是多少 美高梅信誉怎么样 美高梅赌博网站 美高梅投注网站 美高梅怎么下载到手机 美高梅手机app下载网址 美高梅娱乐场下载app