成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

表中出現Block錯誤的恢復方法及具體步驟

運維 數據庫運維
在進行表的操作時有時會遇到Block錯誤,本文將會為大家介紹這種錯誤的恢復方法及具體步驟,供大家參考,希望大家能從中收獲您所需要的。

錯誤示例:

  block corrupt 的log
  Current log# 12 seq# 47247 mem# 0: /data2/obs5_db/obs5_log/obs5_redo_12.log
  ***
  Corrupt block relative dba: 0x0f457f48 file=61. blocknum=360264.
  Fractured block found during buffer read
  Data in bad block - type:6. format:2. rdba:0x0f457f48

解決方法

用Oracle的工具包

  首先需要用dbms_repair.check_object先檢查一下,然后再用dbms_repair.fix_corrupt_blocks修復,如果修復不了,你可以用dbms_repair.skip_corrupt_blocks。

具體過程的說明:

  DBMS_REPAIR.CHECK_OBJECT (
  schema_name IN VARCHAR2,
  object_name IN VARCHAR2,
  partition_name IN VARCHAR2 DEFAULT NULL,
  object_type IN BINARY_INTEGER DEFAULT TABLE_OBJECT,
  repair_table_name IN VARCHAR2 DEFAULT ’REPAIR_TABLE’,
  flags IN BINARY_INTEGER DEFAULT NULL,
  relative_fno IN BINARY_INTEGER DEFAULT NULL,
  block_start IN BINARY_INTEGER DEFAULT NULL,
  block_end IN BINARY_INTEGER DEFAULT NULL,
  corrupt_count OUT BINARY_INTEGER);
  DBMS_REPAIR.FIX_CORRUPT_BLOCKS (
  schema_name IN VARCHAR2,
  object_name IN VARCHAR2,
  partition_name IN VARCHAR2 DEFAULT NULL,
  object_type IN BINARY_INTEGER DEFAULT TABLE_OBJECT,
  repair_table_name IN VARCHAR2 DEFAULT ’REPAIR_TABLE’,
  flags IN BINARY_INTEGER DEFAULT NULL,
  fix_count OUT BINARY_INTEGER);
  DBMS_REPAIR.SKIP_CORRUPT_BLOCKS (
  schema_name IN VARCHAR2,
  object_name IN VARCHAR2,
  object_type IN BINARY_INTEGER DEFAULT TABLE_OBJECT,
  flags IN BINARY_INTEGER DEFAULT SKIP_FLAG);
  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)假如表上存在索引,則要重建表上的索引

【編輯推薦】

  1. 在Oracle中恢復被DROP掉的表
  2. Oracle數據庫中表的四種連接方式講解
  3. 表中出現Block錯誤的恢復方法及具體步驟
  4. MySQL授權表概述和MySQL服務器的訪問控制

 

責任編輯:迎迎 來源: 賽迪網
相關推薦

2011-03-21 16:50:10

Block錯誤

2010-09-25 16:30:25

DHCP選項設置

2010-07-02 09:48:58

2003 SNMP啟用

2009-01-30 21:56:00

2009-12-07 10:46:08

WCF框架

2009-11-26 13:52:42

路由器連接

2010-04-08 17:51:05

Oracle表列

2011-04-07 14:53:18

路由器局域網寬帶路由器

2010-09-03 11:53:09

華為DHCP配置

2009-12-15 17:30:31

路由器配置

2010-06-21 17:05:00

Linux Arch

2010-10-08 11:29:24

JavaScript對象

2010-08-02 17:08:34

Flex Eclips

2010-02-22 10:52:34

PDA訪問WCF

2010-07-19 17:02:23

安裝Telnet服務器

2010-06-22 14:55:21

autoconf安裝

2010-06-08 18:59:03

OpenSUSE li

2009-09-03 14:49:49

C#實現網絡點對點

2010-09-26 10:38:37

JVM安裝Tomcat

2010-06-22 16:05:40

Autoconf rp
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线不卡视频 | 丁香综合| 免费的黄色片子 | 91亚洲国产 | 亚洲精品视频免费观看 | 91高清在线视频 | 久久亚洲一区 | 午夜精品久久久久久久久久久久 | 麻豆精品国产91久久久久久 | 国产精品特级毛片一区二区三区 | 亚洲国产一区二区三区在线观看 | 国产精品久久久久久久久久久久久 | 精品国产一区一区二区三亚瑟 | 久久这里只有精品首页 | 五月婷亚洲 | 免费高潮视频95在线观看网站 | 国产在线一区观看 | 久久夜视频 | av中文在线 | 国产91丝袜在线播放 | 久久久久网站 | 黄色免费网站在线看 | www.日韩| 亚洲一区中文字幕在线观看 | 第一福利社区1024 | 91久久精品国产91久久 | 国产激情视频网址 | 99久久精品免费看国产小宝寻花 | 美国黄色一级片 | 91午夜在线 | 亚洲永久字幕 | 久久69精品久久久久久久电影好 | 美女视频h | 男人天堂手机在线视频 | 久久久国产一区 | 亚洲国产精品自拍 | 国产视频二区 | h片在线播放| 精品视频在线观看 | 狠狠艹| 在线观看中文字幕视频 |