成人免费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)假如表上存在索引,則要重建表上的索引

 

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

2011-03-21 16:50:10

Block錯誤

2010-07-02 09:48:58

2003 SNMP啟用

2009-01-30 21:56:00

2010-09-25 16:30:25

DHCP選項設置

2009-12-07 10:46:08

WCF框架

2009-11-26 13:52:42

路由器連接

2009-12-15 17:30:31

路由器配置

2010-04-08 17:51:05

Oracle表列

2010-09-03 11:53:09

華為DHCP配置

2011-04-07 14:53:18

路由器局域網寬帶路由器

2010-02-22 10:52:34

PDA訪問WCF

2010-06-21 17:05:00

Linux Arch

2010-10-08 11:29:24

JavaScript對象

2010-08-02 17:08:34

Flex Eclips

2010-07-19 17:02:23

安裝Telnet服務器

2010-06-22 14:55:21

autoconf安裝

2009-09-03 14:49:49

C#實現網絡點對點

2010-09-26 10:38:37

JVM安裝Tomcat

2010-06-22 16:05:40

Autoconf rp

2010-06-08 18:59:03

OpenSUSE li
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 好姑娘影视在线观看高清 | 成人av一区二区在线观看 | 丝袜 亚洲 另类 欧美 综合 | 国产一区 | 91精品国产综合久久久久久首页 | 久久久久一区 | 人人艹人人| 亚洲天堂久久新 | 国产精品成人在线 | 亚洲精品一区二区 | 日韩精品一区二区三区免费观看 | 国内精品伊人久久久久网站 | 毛片免费在线 | 久久亚洲精品国产精品紫薇 | 久久久久亚洲精品 | 熟女毛片| 亚洲三级av | 性做久久久久久免费观看欧美 | 久久精品一区二 | 国产一区二区三区在线视频 | 国产亚洲欧美在线视频 | 精品国产欧美日韩不卡在线观看 | 性做久久久久久免费观看欧美 | 国产成人午夜高潮毛片 | 日本精品一区二区 | 一区二区三区视频在线观看 | 国产欧美日韩综合精品一区二区 | se婷婷| 成人精品| 久久亚洲欧美日韩精品专区 | 中文字幕一区二区不卡 | 国产成人免费视频网站高清观看视频 | 亚洲在线免费观看 | 日韩美av | 九九热精品在线 | 亚洲乱码一区二区三区在线观看 | av福利网站 | 中国三级黄色录像 | 91综合在线观看 | 国产精品欧美日韩 | xxx.在线观看|