检查数据库坏块并处理

利用RMAN修复数据文件中的坏块思路与实战 修复数据文件中的坏块需要进行多个步骤,包括确认坏块、创建坏块映射文件、修复坏块、恢复数据文件和恢复数据库等。创建坏块映射文件:在确认了数据文件中的坏块后,需要创建一个坏块映射文件,记录下数据文件中的坏块位置和大小等信息。命令来恢复数据文件。在此之前,需要确保备份集中包含了需要恢复的数据文件,并且备份集中的数据文件没有坏块。在此之前,需要确保数据文件是在归档模式下打开的,并且已经启用了归档模式和日志归档功能。数据库备份和恢复的主要工具,可以用于修复数据文件中的坏块。确认坏块:首先需要确认数据文件中的坏块。 阅读详情

检测Oracle数据库坏块的办法:

1、使用DBV(DB File Verify)工具;

2、使用RMAN(Recovery Manager)工具;

DBV(DB File Verify)工具:

外部命令,物理介质数据结构完整性检查;

只能用于数据文件(offline或online),不支持控制文件和重做日志文件的块检查;

也可以验证备份文件(rman的copy命令备份或操作系统CP命令备份);

进入盘符,然后执行以下脚本:

D:\app\Administrator\oradata\orcl>dbv file=ZL9MTLBASE.DBF blocksize=8192;

RMAN(Recovery Manager)工具:

逻辑数据结构完整性检查;

在线使用Recovery Manager扫描坏块和备份时,需要数据库运行在归档模式(archive log),否则只能在数据库未打开(mount)的情况下进行;

RMAN>backup check logical validate datafile n ;

以上命令可以检查数据文件是否包含坏块,同时并不产生实际的备份输出。

而且当使用Recovery Manager进行实际的数据库备份时,同时也就进行了坏块检查。

 

直接使用RMAN的命令:backup validate check logical database;

结合V$DATABASE_BLOCK_CORRUPTION视图更方便。

1)、rman target / nocatalog

2)、RMAN> spool log to 'd:/dbbak/rmanlog.log';---指定输出rman日志文件

RMAN> run {
 
allocate channel d1 type disk;
 
allocate channel d2 type disk;
 
allocate channel d3 type disk;
 
allocate channel d4 type disk;
 
backup validate check logical database;
 
};

3)、select * from V$DATABASE_BLOCK_CORRUPTION;

4) 、--If V$DATABASE_BLOCK_CORRUPTION contains rows please run this query to find the objects that contains the corrupted blocks:

 


SELECT e.owner,

      e.segment_type,

      e.segment_name,

      e.partition_name,

      c.file#,

      greatest(e.block_id, c.block#) corr_start_block#,

      least(e.block_id + e.blocks - 1, c.block# + c.blocks - 1) corr_end_block#,

      least(e.block_id + e.blocks - 1, c.block# + c.blocks - 1) -

      greatest(e.block_id, c.block#) + 1 blocks_corrupted,

      null description

  FROM dba_extents e, v$database_block_corruption c

 WHERE e.file_id = c.file#

  AND e.block_id <= c.block# + c.blocks - 1

  AND e.block_id + e.blocks - 1 >= c.block#

UNION

SELECT s.owner,

      s.segment_type,

      s.segment_name,

      s.partition_name,

      c.file#,

      header_block corr_start_block#,

      header_block corr_end_block#,

      1 blocks_corrupted,

      'Segment Header' description

  FROM dba_segments s, v$database_block_corruption c

 WHERE s.header_file = c.file#

  AND s.header_block between c.block# and c.block# + c.blocks - 1

UNION

SELECT null owner,

      null segment_type,

      null segment_name,

      null partition_name,

      c.file#,

      greatest(f.block_id, c.block#) corr_start_block#,

      least(f.block_id + f.blocks - 1, c.block# + c.blocks - 1) corr_end_block#,

      least(f.block_id + f.blocks - 1, c.block# + c.blocks - 1) -

      greatest(f.block_id, c.block#) + 1 blocks_corrupted,

      'Free Block' description

  FROM dba_free_space f, v$database_block_corruption c

 WHERE f.file_id = c.file#

  AND f.block_id <= c.block# + c.blocks - 1

  AND f.block_id + f.blocks - 1 >= c.block#

 order by file#, corr_start_block#;

 

 

5)、

SELECT tablespace_name, segment_type, owner, segment_name
FROM dba_extents
        WHERE file_id = &fileid
and &blockid between block_id AND block_id + blocks - 1;

告警日志中快速识别:

遇到坏块问题时,数据库的异常表现通常有: 

报告ORA-01578错误。 

报告ORA-1110错误。 

报告ORA-00600错误。其中,第一个参数为2000-8000,Cache layer 2000 – 4000,Transaction layer 4000 – 6000,Data layer 6000 - 8000。 

Trace文件中出现Corrupt block dba: 0x160c5958 . found。 分析对象失败。 

后台进程,如DBWR,LGWR出现长时间异常等待,如LGWR wait for redo copy。



修复数据库坏块
  dbv
  你也可以用dbv工具看一下你现在其他的数据文件有没有还有坏块的
  dbv file='yourfilename'
  恢复方法:
  当Oracle数据库出现坏块时,Oracle会在警告日志文件(alert_SID.log)中记录坏块的信息:
  ORA-01578: ORACLE data block corrupted (file # 7, block # )
  ORA-01110: data file : '/oracle1/oradata/V920/oradata/V816/users01.dbf'
  其中,<AFN>代表坏块所在数据文件的绝对文件号,代表坏块是数据文件上的第几个数据块
  出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Oracle数据库出现坏块。在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。
  1.确定发生坏块的数据库对象
  SELECT tablespace_name,
  segment_type,
  owner,
  segment_name
  FROM dba_extents
  WHERE file_id =
  AND between block_id AND block_id+blocks-1;
  2.决定修复方法
  如果发生坏块的对象是一个索引,那么可以直接把索引DROP掉后,再根据表里的记录进行重建;
  如果发生坏块的表的记录可以根据其它表的记录生成的话,那么可以直接把这个表DROP掉后重建;
  如果有数据库的备份,则恢复数据库的方法来进行修复;
  如果表里的记录没有其它办法恢复,那么坏块上的记录就丢失了,只能把表中其它数据坏上的记录取出来,然后对这个表进行重建。
  3.用Oracle提供的DBMS_REPAIR包标记出坏块
  exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS('','');
  4.使用Create table as select命令将表中其它块上的记录保存到另一张表上
  create table corrupt_table_bak
  as
  select * from corrupt_table;
  5.用DROP TABLE命令删除有坏块的表
  drop table corrupt_table;
  6.用alter table rename命令恢复原来的表
  alter table corrupt_table_bak
  rename to corrupt_table;
  7.如果表上存在索引,则要重建表上的索引
  PART2
  2014.7.22研究恢复数据库坏块:
  Oracle调用标准C的系统函数,对数据块进行读写操作,因此,坏块是有可能由以下几种原因产生:
  硬件的I/O错误
  操作系统的I/O错误或缓冲问题
  内存或paging问题
  磁盘修复工具
  一个数据文件的一部分正在被覆盖
  Oracle试图访问一个未被格式化的系统块失败
  数据文件部分溢出
  Oracle或者操作系统的bug
  遇到“ORA-01578:ORACLE data block corrupted”错误
  处理方法:1.rman的recover命令可以在数据库保持open状态下只恢复受损的数据块
  2.如果没有备份,万不得已之下也可以采用DBMS_REPAIR包的存储过程将受损坏块隔离,同时尽可能地挽救部分数据。
  rman backup命令也是检查坏数据块的好工具 一旦读取ORA-19566 即可有问题
  此时可用backup validate tablespace user观察详细的信息,可查看到坏块数与跟踪文件
  grep‘corrupt’/u01/app/oracle/diag/rdbms/br/br/trace/**.trc
  恢复数据块:rman》recover datafile 5 block 203;
  批量恢复受损的数据块:recover corruption list;
  数据块坏块一号坏块,需要做:
  run{
  sql 'alter database datafile 5 offline';
  restore datafile 5;
  recover datafile 5;
  sql'alter database datafile 5 online'
  }
  使用exp/imp恢复
  在这种情况下肯定会造成数据的丢失,在这种情况下应采取将数据导出然后重建表再进行导入的方法,来尽量恢复损坏数据块中的数据,但是在有坏块的情况下是不允许导出的,如下命令:Exp test/test file=t.dmp tables=t;
  导出命令在执行中会报ORA-01578错误,在这错误提示中会提示那个文件号的文件以及这个文件中的哪个块被损坏,如:ORA—01578:ORACLE 数据块损坏(文件号 4,块号 35)
  针对以上的提示首先查询那些对象被损坏:
  Select tablespace_name,segment_type,owner,segment_name From dba_extents Where file_id=4 and 35 between block_id and block_id+blocks-1;
  如果被损坏的块是索引,通常可以通过索引重建来解决,如果损坏的是数据(segment_type为table),那么通过设置如下内部事件使得Exp操作跳过坏块。
  Alter session set events=’10231 trace name context forever,level 10’;
  然后重新执行导出命令,导出相关的表,然后执行Drop Table命令删除相关表,之后重建表最后导入数据。
  使用DBMS_REPAIR恢复
  用DBMS_REPAIR当然也会丢失数据。这里不做详细的介绍,有兴趣的可以查看oracle的在线文
  3、使用dbms_repair包进行坏块处理
  1)首先建立repair_table,用于存放dbms_repair.check_object检测出来的坏块信息
  SQL> declare
  2begin
  3dbms_repair.admin_tables
  4(table_name => 'REPAIR_TABLE',--表名
  5table_type => dbms_repair.repair_table,
  6action => dbms_repair.create_action,
  7tablespace => 'USERS');--用于指定该表存放的表空间
  8end;
  9/
  PL/SQL 过程已成功完成。
  SQL> col owner format a10
  SQL> col object_name format a20
  SQL> col object_type format a20
  SQL> select owner, object_name, object_type
  2from dba_objects
  3where object_name like '%REPAIR_TABLE';
  OWNEROBJECT_NAMEOBJECT_TYPE
  ---------- -------------------- --------------------
  SYSREPAIR_TABLETABLE
  SYSDBA_REPAIR_TABLEVIEW
  Oracle自动创建了一个DBA_REPAIR_TABLE视图。
  2)使用dbms_repair.check_object进行坏块检测
  SQL> set serveroutput on size 100000;
  SQL> declare
  2rpr_count int;
  3begin
  4rpr_count := 0;
  5dbms_repair.check_object(
  6schema_name => 'SYS',--指定对象模式,也就是对象的所有者
  7object_name => 'TEST',--指定对象名,也就是表名
  8repair_table_name => 'REPAIR_TABLE',
  9corrupt_count => rpr_count);
  10dbms_output.put_line('repair block count: '
  11||to_char(rpr_count));
  12end;
  13/
  repair block count: 4
  PL/SQL 过程已成功完成。
  SQL> select object_name, block_id, corrupt_type, marked_corrupt,
  2corrupt_description, repair_description
  3from repair_table;
  OBJECT_NAMEBLOCK_ID CORRUPT_TYPE MARKED_COR
  -------------------- ---------- ------------ ----------
  CORRUPT_DESCRIPTION
  -------------------------------------------------------------------------------
  REPAIR_DESCRIPTION
  -------------------------------------------------------------------------------
  TEST196148 TRUE
  mark block software corrupt
  TEST206148 TRUE
  mark block software corrupt
  TEST236148 TRUE
  mark block software corrupt
  TEST316148 TRUE
  mark block software corrupt
  通过运行dbms_repair.check_object,将坏块信息存放到了repair_table表中,其中有个字段marked_corrupt,用于标识该块是否被标识为坏块,当被标识为true时,即该块被标识为坏块。其中这一步跟oracle文档中的描述有点进入,根据oracle文档,当执行完dbms_repair.check_object时,并不会进行坏块标识,也就是marked_corrupt列的值应该为false,而只有当执行dbms_repair.fix_corrupt_blocks过程后才会进行坏块标识。
  3)使用dbms_repair.fix_corrupt_blocks进行坏块标识
  SQL> declare
  2fix_block_count int;
  3begin
  4fix_block_count := 0;
  5dbms_repair.fix_corrupt_blocks (
  6schema_name => 'SYS',
  7object_name => 'TEST',
  8object_type => dbms_repair.table_object,
  9repair_table_name => 'REPAIR_TABLE',
  10fix_count => fix_block_count);
  11dbms_output.put_line('fix blocks count: ' ||
  12to_char(fix_block_count));
  13end;
  14/
  fix blocks count: 0
  PL/SQL 过程已成功完成。
  我们可以见到到fix blocks count=0,即在上一步进行check_object时已经进行了坏块标识了,这一步其实可以省略。(不过没有测试过!)

ORA-01578 数据库块损坏的处理方法 SELECT tablespace_name, segment_type, owner, segment_name FROM dba_extents WHERE file_id = &amp;fileid and &amp;blockid between block_id AND block_id + blocks - 1;执行以上脚本,并弹出以下录入窗口,将文件号 和 块号 分别录入以下两行内容... 阅读详情

相关推荐

oracle 检查坏块 检测Oracle数据库坏块的方法

可以使用以下脚本快速运行DBMS_REPAIR检查、定位并跳过坏块 1. 需要以SYS用户运行sqlplus sqlplus '/ as sysdba' 2. 运行以下脚本 给定一个表空间,并在此表空间下建立维修表: BEGIN   DBMS_REPAIR.ADMIN_TABLES (   TABLE_NAME =&gt; 'REPAIR_TABLE',   TABLE_TYPE ...

ORACLE数据库数据恢复、性能优化、故障诊断来问问MACLEAN 3251

oracle rman 检查坏块,Oracle中使用RMAN来检验坏块

RMAN即recovery manager可以通过在执行的备份任务中,仅仅验证数据文件中的数据块而不生成实际的备份,这样做的目的是纯粹为了了解数据文件中是否有坏块。RMAN在这个环境中:验证数据文件是否存在数据文件位于正确的存放位置在RMAN尝试检验这些数据文件时,将逻辑或物理讹误的块找出来并临时记录到V$DATABASE_BLOCK_CORRUPTION视图中具体的使用为检验整个数据库backu...

weixin_31176383的博客 934

Apache-Plc4x-Modbus-Tcp学习记录(一)

Apache-Plc4x-Modbus-Tcp学习记录(一)

weixin_45325423的博客 6988

oracle表分区坏块,对oracle中出现的坏块的处理方法

这篇文章介绍在oracle数据文件中出现一个或多个数据块坏块时的处理方法.当出现数据块坏块出误时对于每一个坏块都提供了以下信息:1.包含这个坏块的数据文件的绝对文件号可以标示为"AFN".2.包含这个坏块的数据文件的文件名可以标示为"FILENAME"(如果知道文件号但不知道文件名那么可以执行select name from v$datafile where file#=&AFN来得到文件...

weixin_28728495的博客 616

LVGL9.2移植至正点原子阿波罗STM32F429开发板

LVGL(Light and Versatile Graphics Library)是一个开源的图形库,旨在为嵌入式系统提供高效、灵活的图形用户界面(GUI)解决方案。它具有小巧的内存占用和高性能的渲染能力,支持多种硬件平台,包括单片机、DSP 和 ARM 处理器等。LVGL 支持丰富的控件(如按钮、标签、图标、滚动条等),并提供强大的主题、样式和动画功能,使得开发者能够轻松设计出美观且响应迅速的界面。

m0_51149752的博客 3173

VIVADO中的IP核在MATLAB中仿真

VIVADO中的IP核在MATLAB中仿真项目简述VIVADO建立FFT IP核MATLAB调用FFT IP核 项目简述 我们都会用MATLAB进行算法验证,但是经常会发现如果VIVADO中调用了IP核,那么最终会发现VIVADO与MATLAB之间的数据不可以统一的对应起来。那么,MATLAB验证的效果就会大大下降,那么可不可以想办法将VIVADO中的IP核封装成一个函数在MATLAB中调用呢?答案是可以的。这篇博客主要以FFT的IP核为例讲解封装成一个函数并且成功在MATLAB中调用。 本次实验所使用的软

zhangningning1996的博客 6993

oracle sid是表空间吗,oracle表空间查询维护命令大全之三(临时表空间)史上最全-Oracle...

–UNDO表空间汇总–查看所有的表空间名字SELECT NAME FROM V$TABLESPACE;–创建新的UNDO表空间,并设置自动扩展参数;CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE ‘D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS02.DBF’ SIZE 10M REUSE AUTOEXTEND ON NE...

weixin_39887961的博客 199

从NASA官网到分析图:MOD09A1地表反射率数据的完整处理流程(含QC筛选)

本文详细介绍了MOD09A1地表反射率数据的完整处理流程,从NASA官网数据下载到QC筛选,再到NDVI图生成。特别强调了质量控制(QC)信息在筛选可靠像元中的关键作用,帮助研究人员获取高质量遥感数据。

weixin_42542669的博客 111

Oracle数据库坏块问题全面解析:从预防到恢复的完整指南

Oracle数据库的数据块遵循固定的格式与结构,分为Cache Layer(缓存层)Transaction Layer(事务层)和Data Layer(数据层)三层。数据库在对数据块执行读写操作时,会自动进行一致性检查,包括验证数据块的类型、地址信息、SCN号(系统更改号)以及头部与尾部的匹配性。若检查发现信息不一致,该数据块将被标记为“坏块”。Oracle数据库坏块是DBA常见的严重故障,其影响范围从单表查询失败到数据库宕机不等。“预防优先,快速定位,分级恢复”——通过定期检查、参数优化避免坏块;

huanhuanzhou blog 1820

Trae+雪球MCP,化身专业的股票分析师(玩转100个MCP系列第二弹)

大家好呀,我是程序员夏叶,深度AI编程使用者,专注于分享AI编程方面的使用技巧、经验以及前沿资讯,有兴趣的可以关注我的公众号,一起学习,共同进步。第二弹,使用Trae+雪球MCP,获取股票实时行情,分析股票走向等,写代码间隙看看股票价格,研究研究行情,哈哈。真的很不错呀,最关键的是,足够隐蔽,同事以为你在写代码,实际你在浏览股票行情,哈哈,感兴趣的可以试一下哦。说实话,沧州明珠这只股我算是砸手里了,不过还好买的不多,哈哈。

cpp加油站的专栏 518

ChatGPT搭配Claude 4写文献综述效果出奇的好!四步法直接写出逻辑清晰、层次分明的文献综述(附复制即用专业提示词)

请梳理【研究领域】中核心理论的发展演进过程,包括每一阶段理论的核心观点、提出背景与推动力,并指出理论演化中的关键节点或范式转变。请根据以下文献摘要内容,帮助我梳理该主题的研究趋势,包括:常见研究视角、研究方法的演变、研究对象的变化方向等。请根据以下研究空白与我已有的研究基础,帮我生成一个清晰的研究定位,包括:研究主题、研究对象、方法路径和理论框架。先要明确这个研究领域中一个主导或热门的理论,比如社会支持理论、认知负荷理论等,强调这个理论内部的不一致性、适用性争议,通过交代这⼀争议的背景,引发读者兴趣。

智能AI让学术科研更容易 569

mysql protect_about db_lost_write_protect

SQL create table lost_write(t1 int) tablespace users; Table created.SQL SQL insert into lost_write values(1);1 row created.SQL commit;Commit complete.SQL alter system checkpoint;System altered.select ...

weixin_39603492的博客 127

ComfyUI 本地部署指南:概念、部署过程、生成图片、共享 WebUI 模型

ComfyUI 是一个基于节点的 Stable Diffusion 图形化用户界面。您可以通过将不同的节点连接在一起来构建生成图像的工作流程。一些常用的节点包括加载检查点模型(Load Checkpoint)、输入提示词(CLIP Text Encode)、指定采样器(KSampler)等。ComfyUI 将工作流程分解为可重新排列的元素,以便您可以轻松创建自己的元素。

水滴的博客 5034

oracle 11g跳过坏块,Oracle数据库中的坏块问题处理

Oracle的数据块有固定的格式和结构,分三层:Cachelayer、Transactionlayer和Datalayer.对数据块进行读写操作时,做一致性检查:–Blocktype–DBA–Scn–Headerandtail发现不一致,标记为坏块。坏块有两种:物理坏块和逻辑坏块。坏块产生的影响:数据字典表、回滚段表、临时段和用户数据表和索引。应用报错:–Ora-1578–O...

weixin_42350411的博客 616

【数据结构】期末考试复习(考点+例题)

1.线性表定义及其存储实现:顺序表和链接表,优缺点分析(顺序存储可随 机访问,链式存储可灵活利用空间),相关操作的时间复杂度。 2.链表的插入删除操作 3.两种特殊的线性表及其应用:栈、队列 4.栈、队列上的(插入/删除)操作及其特点 5.循环队列满和空的条件 6.能够定义线性表、栈、队列的数据存储结构,能够实现相关操作的算法并 分析时间复杂度(例如插入、删除及其它应用等) 7.理解线性结构的应用( 如根据要求能灵活定义线性表结构,能根据线性表 的插入、删除操作解决实际问题) 二叉树基本概念与性质(高

Molly 的博客 9371

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ORA-01578 ORA-01110坏块处理

ORA-01578坏块处理 收到报错: ORA-01578: ORACLE 数据块损坏 (文件号 4, 块号 293465) ORA-01110: 数据文件 1: ‘xxxx’ 坏块处理有3种通用的办法: 一、解决方法: 备份好用情况: 1.blockrecover 备份不可用情况: 2.dbms_repair.SKIP_CORRUPT_BLOCKS标记跳过坏块,将数据块标为坏块,不访问 3....

sdonhollow的博客 3103

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

如何处理Oracle数据库中的坏块问题

Oracle的数据块有固定的格式和结构,分三层: Cache layer、Transaction layer和Data layer. 对数据块进行读写操作时,做一致性检查: –Block type –DBA –Scn  –Header and tail  发现不一致,标记为坏块。 坏块有两种: 物理坏块和逻辑坏块。 坏块产生的影响:数据字典表、回滚段表、临时段和用户数据表和

南山南的Python和大数据学习笔记 278

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

金仓坏块处理

其中,<1301>代表据坏块的块号,出现这种情况时,应该首先检查是否是硬件及操作系统上 的故障导致 Kingbase 数据库出现坏块。如果表里的记录没有其它办法恢复,那么坏块上的记录就丢失了,只能把表中其它数据块上的记录取出来,然 后对这个表进行重建。如果发生坏块的表的记录可以根据其它表的记录生成的话,那么可以直接把这个表 DROP 掉后重建;如果发生坏块的对象是一个索引,那么可以直接把索引 DROP 掉后,再根据表里的记录进行重建;如果有数据库的备份,则恢复数据库的方法来进行修复;

qq_45019666的博客 304

修复数据库坏块之二

=========================================================== 修复数据库坏块之二 ==================================...

ciyinzhi8788的博客 96

kingbase坏块的检测及处理方法

可以使用逻辑备份,备份整个库当没有报错的时候则代表没有报错。当某个表存在坏块的时候select * from table;查询可能会报错。

ALuckyBoy_qj的博客 304

Oracle数据库中的坏块问题处理

Oracle的数据块有固定的格式和结构,分三层:Cachelayer、Transactionlayer和Datalayer. 对数据块进行读写操作时,做一致性检查: –Blocktype –DBA –Scn –Headerandtail 发现不一致,标记为坏块。 坏块有两种:物理坏块和逻辑坏块。 坏块产生的影响:数据字典表、回滚段表、...

weixin_33738555的博客 200

数据库坏块,怎么办?

在DBA的工作中,应该怎么处理oracle数据库坏块,我介绍一下大概一个思路: 1.检查数据块是否损坏: 利用RMAN对数据库进行备份时; 通过ANALYZE命令对表进行分析时; 通过dbv工具对数据文件进行校验时; 通过SQL命令访问数据文件时。 2.数据库坏块,进行恢复,块介质恢复需求满足以下条件: 数据库的日志...

weixin_33979203的博客 196

Oracle Recovery Tools修复空闲坏块

我们经常遇到由于某种原因,表上面有坏块,通过event或者dbms包跳过坏块,然后重建该表之后,但是dbv和rman检查坏块依旧存在(而且导致常规情况下rman无法正常备份),最近在Oracle Recovery Tools工具中增加的这种异常数据块修复功能,通过试验重现类似故障:...

360

oracle安装后ora03031,利用RMAN修复数据文件中的坏块

利用RMAN修复数据文件中的坏块1、创建测试表:SQL> create table tab_dbv tablespace ghost as select * from dba_objects;表已创建。SQL> insert into tab_dbv select * from tab_dbv;已创建50363行。SQL> insert into tab_dbv select *...

weixin_31653645的博客 778
上一篇: DataGuard 数据保护模式切换
下一篇: windows 远程 Windows命令
dba_monkey
博客等级 码龄10年 30粉丝 98原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值