数据库坏块的情况有很多,这里主要介绍如何处理不属于任何数据对象的数据文件坏块情况。

有两种解决办法

方法1:可以将发生坏块的数据文件,其所属表空间里的所有数据对象移动到别的表空间。然后将现有的数据文件删除并重建。该方法的缺点是很明显的,对7*24小时运行系统的正常业务处理有很大影响。

方法2:参考资料Metalink: Note#336133.1 How to Format Corrupted Block Not Part of Any Segment

详细的处理细节如下:

1,首先确认数据库告警日志里的报错信息如下:

Corrupt block relative dba: 0×0ccf26df (file 51, block 992991)

Fractured block found during backing up datafile

Data in bad block -

type: 6 format: 2 rdba: 0×0ccf26df

last change scn: 0×0428.1d038e69 seq: 0×1 flg: 0×04

consistency value in tail: 0xa2560601

check value in block header: 0×7170, computed block checksum: 0×2c3f

spare1: 0×0, spare2: 0×0, spare3: 0×0

***

Reread of blocknum=992991, file=/dev/rd03lv32_03. found same corrupt data

找出坏块的位置是51号文件的第992991个数据块。

2.利用dba_extents视图确认该坏块属于的数据对象:

SQL> select * from dba_extents where file_id=51 and &block between block_id and block_id+blocks;

Enter value for block: 992991

old 1: select * from dba_extents where file_id=51 and &block between block_id and block_id+blocks

new 1: select * from dba_extents where file_id=51 and 992991 between block_id and block_id+blocks

no rows selected

该坏块不属于任何的数据对象。

3.检查该数据文件的可用空间

SQL> select tablespace_name,file_id,sum(bytes/1024/1024) Mb from dba_free_space

2 where file_id=51 group by tablespace_name,file_id;

TABLESPACE_NAME FILE_ID MB

————————– ———- ———-

DATA100 51 1560

坏块的表空间上创建一张临时表,并做如下处理:

创建一张表:

create table s (n number, c varchar2(4000)) nologging tablespace DATA100;

并手工分配给该表以发生坏块的数据文件的全部可用空间:

alter table s allocate extent (DATAFILE ‘/dev/rd03lv32_03′ SIZE 1560M);

此处1560Mb就是前文中检查的51号文件的所有可用空间。

向该表中插入100行数据:

BEGIN

FOR i IN 1..100 LOOP

INSERT INTO s VALUES(i,’x');

END LOOP;

END;

/

然后对其进行循环插入,直到前文中所述的坏块被使用。

BEGIN

FOR i IN 1..1000000000 LOOP

INSERT INTO s select * from s;

END LOOP;

END;

/

再次确认无数据坏块:

再次使用dbv检查该数据文件,确认无坏块。

dbv file=’/dev/rd03lv32_03′ blocksize=8192

删除操作中创建的表:

DROP TABLE s;

处理完毕。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12361284/viewspace-620151/,如需转载,请注明出处,否则将追究法律责任。

oracle 数据库 有坏快,ORACLE数据库坏块的处理 (处理无对象坏快的方法)相关推荐

  1. oracle 10g 速度慢,让Oracle跑得更快—Oracle 10g性能分析与优化思路_数据库教程

    资源名称:让Oracle跑得更快-Oracle 10g性能分析与优化思路 内容简介: 在这本书里读者将会学到作者在性能优化方面的一些思路和思考,一些故障处理的方法和原则,这些东西是作者在实践中长期积累 ...

  2. Oracle 9i 10g编程艺术-深入数据库体系结构——第11章:索引

    第11章                      索引 索引是应用设计和开发的一个重要方面.如果有太多的索引,DML的性能就会受到影响.如果索引太少,又会影响查询(包括插入.更新和删除)的性能.要找 ...

  3. oracle学习笔记 参数文件及数据库的启动和关闭

    oracle学习笔记 参数文件及数据库的启动和关闭 我们这节课把oracle的参数文件以及oracle的启动关闭讲一下 一)参数文件作用 先看oracle的参数文件 它由来已久了 我们知道oracle ...

  4. Oracle 9i 10g编程艺术-深入数据库体系结构——第6章:锁

    第6章                      锁 开发多用户.数据库驱动的应用时,最大的难点之一是:一方面要力争取得最大限度的并发访问,与此同时还要确保每个用户能以一致的方式读取和修改数据.为此就 ...

  5. 惜分飞oracle,惜分飞 - 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788...

    又一起win rac的asm disk被格式化为ntfs,导致数据库异常恢复的请求,客户描述有一个500G的data磁盘组(只有一个磁盘,被误操作进行了格式化).格式化asm disk之后 asm的a ...

  6. oracle exp调过坏块,无备份坏块处理(跳过方式)

    数据库版本:9.2.0.5.0 平台:windows2003 下午接到通知以数据库出现坏块现象,无备份,应用无法正常使用,要予以解决 由于没有备份,无法恢复,只能采用跳过坏块方法,然后通过业务补数据. ...

  7. Oracle多个数据库备份和还原,oracle 多数据库还原

    Navicat工具Oracle数据库复制 or 备用.恢复功能(评论都在谈论需要教) GXPT它是一个分布式系统,该系统包括一个临时许可系统.基本系统.教学评价体系.考试系统,每个系统都有自己的ora ...

  8. oracle 12.2 迅雷下载,oracle下载-oracle数据库v12.2 最新版下载-6188手游网

    oracle数据库功能: 一.性能与扩展能力编辑 1.对新的架构支持 对Intel64位平台的支持.支持infiniband.极大地改进了多层开发架构下的性能和可扩展能力.新的版本也借用了Window ...

  9. oracle数据库归档闪回,oracle数据库开归档闪回模式

    10G 归档相关 转:http://blog.163.com/z_rx/blog/static/2763637620077811571555/ 关于Oracle 10g 归档方式的讨论:关闭归档/启用 ...

  10. 32wei客户端 oracle10g_【oracle 10g客户端下载】oracle 10g数据库客户端32位/64位下载 官方版-七喜软件园...

    oracle 10g客户端是一款非常实用的数据库应用软件,它是由美国的公司Oracle研发打造,能为你提供分布式的数据库管理功能.oracle 10g官方版不仅支持回滚功能,支持数据的存储.挖掘.分析 ...

最新文章

  1. dsst跟踪算法源码分析
  2. OpenMP入门教程
  3. 20分钟完成Mac上的 LNMP 环境部署,优雅·高效开发(Docker方式)
  4. 官网jquery压缩版引用地址
  5. c语言中cnt用法,如何使用PLC计数器(CNT)指令
  6. BT656跟BT1120和BT709有什么区别
  7. html转excel有的没有边框,excel表格转word表格没有框线了怎么办
  8. 初来乍到:新用户冷启的算法技巧
  9. 本地html图片载入很慢,打开网页时图片加载很慢怎么办?网页图片打开慢的解决方法...
  10. 【Python 3 的基础语法】
  11. 四阶魔方邻角互换公式
  12. 身份证提取生日和性别
  13. Android百度地图API使用教程
  14. 从《数学之美》中我想到的
  15. java8个基本类型
  16. 程序员一生必读的书籍
  17. 如何让梯形变成平行四边形_可以把梯形转化成平行四边形来算
  18. java编写一个表示二维平面_JAVA习题集2精品名师资料.doc
  19. SQL Server个人笔记(1)
  20. 阿里云服务器开放某个端口

热门文章

  1. 【uni-app】uni-app移动端开发 - 登录界面
  2. 2010年郑州注册物业管理师培训
  3. win7计算机文件移动硬盘,Win7系统下给移动硬盘分区方法是什么
  4. 师创作业--Bank Account Management System 银行账户管理系统 简称BAM
  5. 为什么mysql填不了数据库_求助,为何我的数据不能写入数据库
  6. 如何屏蔽搜狗浏览器中的广告 搜狗浏览器拦截广告的教程
  7. Ionic3 Demo
  8. Mysql中有关Datetime和Timestamp的使用总结
  9. iOS(swift): Core ML的使用
  10. textarea字数实时统计方案