Dnes je: 21. května 2012

Ostatní

Autor knihy

Oracle Database 11g - Hotová řešení

Kdo je online

Právě připojeni - hostů: 26 a člen: 1 

Přihlásit se




Oprava poškozeného bloku v souboru

V předchozích řešeních jste si vyzkoušeli jak opravit, ale spíše obnovit poškozené objekty ze záloh. Tento způsob však není vždy nutný. Předtsvte si, že máte velký datfový soubor, kde by obnova trvala neskutečně dlouho a přitom by v souboru bylo poškozeno jen několik bloků. Naštěstí existuje způsob jak opravit jen jednotlivé bloky. Pojďte si vyzkoušet jak na to. Nejdříve si připravte testovací prostředí. Máte-li soubory uložené na file systému pak vám k tomu může dopomoci příkaz dd. Já jsem si pro tento příklad uložil jeden soubor mimo ASM. Tento soubor pak poškodím a následně opravím. V rámci cvičení to můžete udělat taktéž.
Poškození souboru pomocí utility dd.Další možný postup jsem popisoval v jiném článku.

[oracle@centos53 zalohy]$ dd if=/dev/zero of=/zalohy/test_poskozeny.dbf bs=8k conv=notrunc seek=20 count=1
1+0 records in
1+0 records out
8192 bytes (8.2 kB) copied, 0.00114399 seconds, 7.2 MB/s


Poznámka:
Dělejte jen na testovacím prostředí
Dejme tomu, že byste chtěli udělat zálohu tabulkového prostoru test, který používá datový soubor test_poskozeny.dbf. Nepovede se vám to a RMAN zahlásí chybu.

RMAN> backup tablespace 'TEST';
Starting backup at 15-NOV-09
...
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 11/15/2009 18:20:57
ORA-19566: exceeded limit of 0 corrupt blocks for file /zalohy/test_poskozeny.dbf


Vidíte, že RMAN vás informuje o poškozených blocích. Použijte ještě utilitu dbverify pro ověření a zkontrolování zmíněného souboru.

[oracle@centos53 ~]$ dbv file=/zalohy/test_poskozeny.dbf blocksize=8192
DBVERIFY: Release 11.1.0.6.0 - Production on Sun Nov 15 18:31:06 2009

Copyright (c) 1982, 2007, Oracle. All rights reserved.

DBVERIFY - Verification starting : FILE = /zalohy/test_poskozeny.dbf
Page 20 is marked corrupt
Corrupt block relative dba: 0x01800014 (file 6, block 20)
Completely zero block found during dbv:
DBVERIFY - Verification complete

Total Pages Examined : 12800
Total Pages Processed (Data) : 1022
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 2
Total Pages Failing (Index): 0
Total Pages Processed (Other): 11666
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 109
Total Pages Marked Corrupt : 1
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 2230952 (0.2230952)


Poznámka: Parametr blocksize, který předáváte utilitě dbverify můžete zjistit z databáze výpisem parametru db_block_size.
Z výpisu utility dbverify vidíte, že v souboru test_poskozeny.dbf se nachází poškozený blok číslo 20. Ty samé informace můžete získat i z pohledu v$database_block_corruption.

SQL> select * from v$database_block_corruption;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------- ---------- ---------- ------------------ ---------
6 20 1 0 ALL ZERO

Tři nezávislé kontroly vás informují o poškozeném bloku v souboru a je jasné, že daný blok musíte opravit. Nejrychlejší způsob jak toho docílit je opravit konkrétní blok pomocí RMANa. Přihlaste se do RMANa a spusťtě příkaz recover datafile <číslo souboru> block <číslo bloku>.

RMAN> recover datafile 6 block 20;
Starting recover at 15-NOV-09
...
channel ORA_DISK_1: restoring block(s) from datafile copy +DATA/orcl11g/datafile/test.257.703015565

starting media recovery
media recovery complete, elapsed time: 00:00:04
Finished recover at 15-NOV-09

Obnova bloku byla úspěšná a datový soubor je opět konzistentní.
SQL> select * from v$database_block_corruption;
no rows selected

Metalink:
342972.1 - HOW TO PERFORM BLOCK MEDIA RECOVERY (BMR) WHEN BACKUPS ARE NOT TAKEN BY RMAN.
755833.1 - Block recovery completed at rba ,...
886772.1 - Data Block Corrupted In RAC Database After Restore/Recovery To RAW Devices.

 

Anketa

Využívají vaše databáze pro ukládání souborů ASM? (automatic storage management)
 

Certifikát Oracle Certifikát Oracle Certifikát Oracle Certifikát Oracle Certifikát Oracle Certifikát Oracle

Partnerské internetové stránky:
www.oracledba.cz www.asktom.cz www.tomas-solar.cz