5 února, 2022

co je bloková korupce a jak můžeme vyřešit blokovou korupci

X

soukromí a Cookies

Cookies se používají na těchto stránkách. Pokračování, souhlasíte s jejich použitím. Další informace, včetně toho, jak kontrolovat soubory cookie.

chápu to!

reklamy

v denním it procesu existuje mnoho možných příčin poškození bloku, včetně:

– problémy s OS
– problémy s Oracle
– obnovení pomocí“ neopravitelných „nebo“ NOLOGGING “ databázových akcí (v takovém případě se očekává chování ORA-01578&ora-01110)

než začnete psát, dovolte mi připomenout, kolik korupcí máme… existují 2 typy korupcí. Korupce dat se může projevit jako fyzická nebo logická korupce.

definujme tedy všechny,

● fyzické poškození bloku se projevuje jako neplatný kontrolní součet nebo záhlaví, nebo když blok obsahuje všechny nuly. Když k tomu dojde, databáze nerozpozná blok jako platný blok Oracle, bez ohledu na jeho obsah. Fyzické poškození (Media corrupt blocks) jsou bloky, které utrpěly zjevné fyzické poškození. Když Oracle zjistí nekonzistenci mezi CSN v záhlaví bloku a CSN v zápatí bloku nebo očekávané struktury záhlaví a zápatí nejsou přítomny nebo jsou rozbité, pak relace Oracle vyvolá výjimku při čtení bloku (ora-01578: ORACLE data block poškozen…). Fyzická korupce se také nazývá mediální korupce.

● k logickému poškození dochází, když má datový blok platný kontrolní součet atd., ale obsah bloku je logicky nekonzistentní. Logické poškození bloku může také nastat, když je struktura pod začátkem bloku (pod hlavičkou bloku) poškozena. V tomto případě je kontrolní součet bloků správný, ale blokové struktury mohou být poškozeny. Logická korupce může také vyplynout ze ztraceného zápisu.

další informace naleznete v mé poznámce o podpoře Oracle 840978.1.

takže?? Kdy můžete získat tuto chybovou zprávu? Při přístupu k poškozeným blokům se nemusí zobrazit chybová zpráva, dokud nebudou bloky související s přístupem

– analyzujte tabulku– . Validate structure
– Dbverify
– CTA (Create table as Select)
– Export
– během procesu RMAN

všechny tyto databázové nástroje jsou naplněny V $ DATABASE_BLOCK_CORRUPT on detecting corruption:

chování v 9i a 10g, pohled v $ database_block_corrupt používá se k naplnění pouze tehdy, když byl spuštěn příkaz RMAN Backup validate&check logical validate.

vyplněné informace používané k obnovení pouze po opravě poškození (obnovení médií / objekt byl zrušen) a při opětovném spuštění příkazu RMAN Backup validate / check logical validate v databázi nebo v postiženém datafile.

s 11g se toto chování změnilo.Když jakýkoli databázový nástroj nebo proces narazí na poškození intrablock, automaticky jej zaznamená do V$DATABASE_BLOCK_CORRUPTION.

Oprava odstraní metadata o poškozených blocích z pohledu.

objekty obsahující poškozený blok můžete identifikovat pomocí dotazu, jako je tento

SELECT DISTINCT owner, segment_name FROM v$database_block_corruption dbc JOIN dba_extents e ON dbc.file# = e.file_id AND dbc.block# BETWEEN e.block_id and e.block_id+e.blocks-1 ORDER BY 1,2;

nebo můžete použít :

select * from V$DATABASE_BLOCK_CORRUPTION; << get file#&block from here
SELECT segment_type, segment_name
FROM dba_extents
WHERE file_id = 1
AND block_id < 3840
AND block_id + blocks >= 3840;
SEGMENT_TYPE SEGMENT_NAME
—————– —————————————-
INDEX I_SOURCE1

nebo použít:

SELECT segment_type, segment_name
FROM dba_extents
WHERE file_id = 1
AND 3840 BETWEEN block_id AND block_id + blocks -1;

nebo

select 'SELECT tablespace_name, segment_type, owner, segment_name FROM dba_extents WHERE file_id = ' || FILE# || ' and ' || BLOCK# || ' between block_id AND block_id + blocks – 1;' from v$database_block_corruption order by 1;

opravné techniky zahrnují:

– block media recovery,
– obnovení datových souborů,
– obnovení pomocí přírůstkových záloh a blokování nových,
– Export& import
– vytvořit tabulku– . Jako příkaz SELECT.

nezapomeňte, že blok media recovery může opravit fyzické poškození, ale ne logické poškození.

Kontrola poškození bloku pomocí příkazu VALIDATE
syntaxe pro příkaz RMAN Validate: –

pro databázi :

RMAN > Validate database;

pro datový soubor :

RMAN > Validate datafile <file no>,<file no> ;

pro datový blok :

RMAN > Validate datafile <file no> block <Block no> ;

Archivelog obnovuje pro Block Media Recovery (BMR) může být spuštěn paralelně na více kanálech, ale datafile/backupset skenuje a relace obnovení musí všechny běžet ve stejné relaci serveru.

Chcete-li povolit výběr zálohy, která bude použita k výběru požadovaných bloků, příkaz Obnovení bloku podporuje možnosti použité v příkazu obnovení:

FROM BACKUPSET–> restore blocks from backupsets onlyFROM DATAFILECOPY–> restore blocks from datafile copies onlyFROM TAG–>restore blocks from tagged backupRESTORE UNTIL TIME|SCN|LOGSEQ

takže po ověření naší db, než jak můžeme obnovit související korupce? Zde je několik příkladů:

Obnova pomocí explicitního souboru / bloku:

$ RMAN target / log=rman1.log

RMAN> blockrecover datafile 12 block 4207;

obnovení pomocí seznamu korupce:

$ rman target / log=rman1.log 
RMAN> blockrecover corruption list;

klíčovým přístupem k detekci a prevenci poškozených dat je provedení následujících osvědčených postupů MAA.

* použijte Oracle Data Guard
* nastavte parametry detekce poškození databáze Oracle Database block
* implementujte strategii zálohování a obnovy pomocí nástroje Recovery Manager (RMAN)

na metalink je k dispozici příliš mnoho dokumentů, které jsou kryty hluboce vysvětlují koncept s příklady korupce. Takže důrazně doporučuji přezkoumat níže uvedené dokumenty, zatímco ve vašem systému narazíte na podobné chyby:

manipulace Oracle Block korupce v Oracle7/8/8i/9i/10g/11g
Master Note pro manipulaci Oracle Database Corruption Issues
Data Recovery Advisor – Corruption Reference Guide
RMAN : Block-Level Media Recovery – Concept & příklad
Oerr: ORA-1578 „ORACLE data block corruption (file # %s, block # %s)“ Master Note
jak řešit a vyřešit ORA-1110
11g nová funkce v$vylepšení database_block_corrupt a příkaz RMAN validate
http://www.oracle.com/technetwork/database/availability/maa-datacorruption-bestpractices-396464.pdf
Reklamlar

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.