Dnes je: 21. května 2012

Ostatní

Autor knihy

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

Kdo je online

Právě připojeni - hostů: 16 

Přihlásit se




Oprava poškozého bloku v souboru s pomocí RMANa
Jistě se vám stalo a jestli doteď ne, pak v budoucnu určite, že se poškodí blok v datovém souboru.
Naštěstí exituje RMAN a s jeho pomocí dokážete opravit poškozený blok velmi rychle a efektně.
Podívejte se na příklad, kdy neprošla záloha, protože byl zjištěný poškozený blok v jednom ze zálohovaných souborů. Další možný postup jsem popisoval v jiném článku.

RMAN> backup tablespace test;
Starting backup at 2010-06-24:09:00:43
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=48 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00008 name=/home/oracle/BACKUP/TOMtbs01.dbf
channel ORA_DISK_1: starting piece 1 at 2010-06-24:09:00:44
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 06/24/2010 09:00:51
ORA-19566: exceeded limit of 0 corrupt blocks for file /home/oracle/BACKUP/poskozeny.dbf

V RMANu můžete rovnou zjistit detaily o vzniklé chybě. To znamená, o jaký objekt se jedná a komu patří.

RMAN> list failure detail;

List of Database Failures
=========================

Failure ID Priority Status    Time Detected       Summary
---------- -------- --------- ------------------- -------
3822       HIGH     OPEN      2010-06-24:08:59:50 Datafile 8: '/home/oracle/BACKUP/poskozeny.dbf' contains one or more corrupt blocks
Impact: Some objects in tablespace TOMTBS might be unavailable
List of child failures for parent failure ID 3822
Failure ID Priority Status    Time Detected       Summary
---------- -------- --------- ------------------- -------
3831       HIGH     OPEN      2010-06-24:08:59:50 Block 130 in datafile 8: '/home/oracle/BACKUP/poskozeny.dbf' is media corrupt
Impact: Object TOMCOPY owned by TOM might be unavailable
3825       HIGH     OPEN      2010-06-24:08:59:50 Block 129 in datafile 8: '/home/oracle/BACKUP/poskozeny.dbf' is media corrupt
Impact: Object TOMCOPY owned by TOM might be unavailable

Failure ID Priority Status    Time Detected       Summary
---------- -------- --------- ------------------- -------
1282       HIGH     OPEN      2010-06-23:14:42:23 One or more non-system datafiles are offline
Impact: See impact for individual child failures
List of child failures for parent failure ID 1282
Failure ID Priority Status    Time Detected       Summary
---------- -------- --------- ------------------- -------
1285       HIGH     OPEN      2010-06-23:14:42:23 Datafile 7: '+DATA/orcl/datafile/appraisal.280.722442851' is offline
Impact: Some objects in tablespace APPRAISAL might be unavailable

Jakmile víte o poškození více, můžete požádat RMAN a radu, jak sjednat nápravu

RMAN> advise failure all;

List of Database Failures
=========================

Failure ID Priority Status    Time Detected       Summary
---------- -------- --------- ------------------- -------
3822       HIGH     OPEN      2010-06-24:08:59:50 Datafile 8: '/home/oracle/BACKUP/poskozeny.dbf' contains one or more corrupt blocks
1282       HIGH     OPEN      2010-06-23:14:42:23 One or more non-system datafiles are offline

analyzing automatic repair options; this may take some time
using channel ORA_DISK_1
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: SID=61 device type=SBT_TAPE
channel ORA_SBT_TAPE_1: WARNING: Oracle Test Disk API
analyzing automatic repair options complete

Mandatory Manual Actions
========================
no manual actions available

Optional Manual Actions
=======================
no manual actions available

Automated Repair Options
========================
Option Repair Description
------ ------------------
1      Recover multiple corrupt blocks in datafile 8; Online tablespace APPRAISAL
Strategy: The repair includes complete media recovery with no data loss
Repair script: /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_3089901648.hm

Nakonec nezbývá než chybu opravit.

RMAN> repair failure;

Strategy: The repair includes complete media recovery with no data loss
Repair script: /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_3089901648.hm

contents of repair script:
# block media recovery for multiple blocks
recover datafile 8 block 129 to 130;
# online a offline tablespace
sql "begin sys.dbms_ir.execsqlscript(filename => ''/u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_2784238257.hm'' ); end;";

Do you really want to execute the above repair (enter YES or NO)? yes
executing repair script

Starting recover at 2010-06-24:09:52:20
using channel ORA_DISK_1
using channel ORA_SBT_TAPE_1

channel ORA_SBT_TAPE_1: restoring block(s) from datafile copy +FRA/orcl/datafile/TOMtbs.259.722509095

starting media recovery
media recovery complete, elapsed time: 00:00:03

Finished recover at 2010-06-24:09:52:25

sql statement: begin sys.dbms_ir.execsqlscript(filename => ''/u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_2784238257.hm'' ); end;
repair failure complete

Kontrola, vše je v pořádku a můžete zálohu spustit znovu.

RMAN> list failure all;

no failures found that match specification
 

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