成人免费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-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技術棧公眾號

主站蜘蛛池模板: 91精品一区| 日日摸日日碰夜夜爽亚洲精品蜜乳 | 免费看av大片 | 午夜播放器在线观看 | 午夜视频免费网站 | 亚洲精品一区二区 | 一级黄色短片 | 久久精品中文字幕 | 国产精成人| 日韩电影中文字幕 | www国产成人免费观看视频 | 日韩中文字幕在线播放 | 国产一区二区三区四区三区四 | 一级片网站视频 | 91精品国产色综合久久不卡98 | 日韩精品久久久久久 | 午夜精品久久久久久久99黑人 | 韩日一区二区 | 久久久久久免费毛片精品 | 中文字幕91| 国产一区二区久久 | 日韩视频一区二区在线 | 欧美一区二区三区日韩 | 成人av在线播放 | 国产欧美一区二区三区另类精品 | 激情自拍偷拍 | 天天爽天天操 | 亚洲在线 | 99免费精品 | 人人色视频| 国产视频一区二区 | 免费在线观看成人 | 精品久久久久久久久久 | 中文字幕av高清 | 久久99精品久久久久久 | 国产一在线观看 | 午夜视频免费在线观看 | 男人天堂手机在线视频 | 久久久99精品免费观看 | 亚洲国产成人精品久久久国产成人一区 | 日韩福利片 |