Oracle - 坏块修复(一)】的更多相关文章

一.概述 本文将介绍如何模拟坏块,以及出现坏块该如何修复.实验分为以下几个步骤. 1. 表出现坏块 2. 索引出现坏块 二.环境准备 本实验都是在oracle 11G归档模式下进行. 1. 准备相关表 create tablespace tbs01 datafile '/u01/app/oracle/oradata/orcltest/tbs01.dbf' size 100m; create table scott.t01 tablespace tbs01 as select * from dba…
[转自]http://blog.itpub.net/21256317/viewspace-1062055/ 使用rman进行坏块修复(ORA-01578.ORA-01110) 2012年的一天,处理的一个坏块问题. 环境: Windows server 2003 Oracle 10.2.0.3 单实例 医院HIS系统 故障: 医药行业的某用户的一台数据库服务器(部署的HIS系统)断电后,开启数据库,某一部分业务无法操作,查看告警日志发现类似如下的坏块报错信息: Dump file d:\orac…
一.背景 今天有用户反映数据库连不上了,查看日志发现有数据库坏块. 查看数据库日志,有如下报错: ORA-01578: ORACLE , 93642) ORA-01110: 1: '/oracle/app/orcldata/orcl/system01.dbf' ORACLE Instance orcl (pid = 13) - Error 1578 encountered while recovering transaction (89, 2) on object 226. Errors in…
一,介绍 DBV(DBVERIFY)是Oracle提供的一个命令行工具,它可以对数据文件物理和逻辑两种一致性检查.但是这个工具不会检查索引记录和数据记录的匹配关系,这种检查必须使用analyze validate structure命令. 这个工具有如下特点: 以只读的方式打开数据文件,在检查过程中不会修改数据文件的内容. 可以在线检查数据文件,而不需要关闭数据库. 不能检查控制文件和日志文件,只能检查数据文件. 这个工具可以检查ASM文件,但数据库必须Open状态,并且需要通过USERID指定…
坏块的模拟和查看使用bbed工具修改数据文件的块,然后使用dbv和rman工具查看坏块. 1.创建数据:根据dbv查看没有坏块Total Pages Marked Corrupt : 0create table bbed (id number,name varchar2(20)) tablespace MNT_TBS;insert into bbed values(1,'zhaoxu');insert into bbed values(1,'kingle');commit; [oracle@te…
1. 执行sql:select count(distinct id) from bw_fpzxx ,报错如下: ORA-01578: ORACLE 数据块损坏 (文件号 16, 块号 195428)ORA-01110: 数据文件 16: '/disk01/hwxx09.dbf'01578. 00000 -  "ORACLE data block corrupted (file # %s, block # %s)" 2.确认block_no 为195428的数据. select id,r…
如果已经知道 FILE#,BLOCK#,则 可以通过如下查询来看: SQL> SELECT SEGMENT_TYPE,OWNER||'.'||SEGMENT_NAME FROM DBA_EXTENTS       WHERE <FILE#> = FILE_ID AND <BLOCK#> BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS -1; 但是 alter log 或 trace 中的 file# ,是相对 文件号.所以最好先看一下文件号对应关系:…
对于Oracle数据块物理损坏的情形,在我们有备份的情况下可以直接使用备份来恢复.对于通过备份恢复,Oracel为我们提供了很多种方式,冷备,基于用户管理方式,RMAN方式等等.对于这几种方式我们需要实现基于数据库以及文件级别的恢复.RMAN同时也提供了基于块介质方式的恢复.也就是说我们根本不需要还原数据文件,而是直接从备份文件基于块来提取以实现联机恢复.可参考基于RMAN实现坏块介质恢复(blockrecover) .这是比较理想的情形.如果没有任何备份怎么办?我们可以使用Oracle自带的D…
份的情况下可以直接使用备份来恢复. 对于通过备份恢复,Oracel为我们提供了很多种方式,冷备,基于用户管理方式,RMAN方式等等. 对于这几种方式我们需要实现基于数据库以及文件级别的恢复.RMAN同时也提供了基于块介质方式的恢复. 也就是说我们根本不需要还原数据文件,而是直接从备份文件基于块来提取以实现联机恢复. 可参考基于RMAN实现坏块介质恢复(blockrecover) .这是比较理想的情形.如果没有任何备份怎么办? 我们可以使用Oracle自带的DBMS_REPAIR包来实现修复.注意…
13 oracle数据库坏块-逻辑坏块 逻辑数据坏块的场景1)oracle bug也可能导致逻辑坏块的产生. 特别是parallel dml. 例如:Bug 5621677 Logical corruption with PARALLEL updateBug 6994194 Logical corruption from UPDATE DMLBug 15980234 ORA-1400 / logical corruption from direct path INSERT ALL(fail wi…