19 Detecting and Repairing Data Block Corruption

Oracle tarjoaa erilaisia menetelmiä datalohkon korruption havaitsemiseen ja korjaamiseen. Yksi tapa on pudottaa ja luoda objekti uudelleen sen jälkeen, kun korruptio on havaittu; tämä ei kuitenkaan ole aina mahdollista tai toivottavaa. Jos datalohkon korruptio rajoittuu rivien osajoukkoon, toinen vaihtoehto on rakentaa taulukko uudelleen valitsemalla Kaikki tiedot lukuun ottamatta korruptoituneita rivejä.

vielä yksi tapa hallita datalohkojen korruptiota on käyttää dbms_repair-pakettia. Voit käyttää dbms_repair havaita ja korjata korruptoituneet lohkot taulukoissa ja indekseissä. Käyttämällä tätä lähestymistapaa, voit puuttua korruptioita mahdollisuuksien mukaan, ja myös edelleen käyttää esineitä, kun yrität rakentaa tai korjata niitä. DBMS_REPAIR käyttää seuraavaa lähestymistapaa puuttuakseen korruptioihin:

  • Vaihe 1: havaitse ja raportoi korruptiot
  • Vaihe 2: Arvioi Dbms_repair
  • Vaihe 3: Tee objektit käyttökelpoisiksi
  • Vaihe 4: Korjaa korruptiot ja rakenna kadonneet tiedot uudelleen
    Huomautus:

    tietojen katoamiseen liittyvä korruptio edellyttää analysointia ja sen ymmärtämistä, miten tiedot sopivat yleiseen tietokantajärjestelmään. Näin ollen, DBMS_REPAIR ei ole taikasauva-sinun täytyy silti selvittää, onko korjaus lähestymistapa tarjoama Tämä paketti on sopiva työkalu kunkin tietyn korruptioongelma. Korjauksen luonteesta riippuen saatat menettää tietoja ja loogisia epäjohdonmukaisuuksia voidaan ottaa käyttöön; siksi sinun täytyy punnita voitot ja tappiot, jotka liittyvät käyttämällä DBMS_REPAIR.

Dbms_repair-paketin sisältö

taulukossa 19-1 kuvataan menettelyt, jotka muodostavat dbms_repair-paketin.

taulukko 19-1 DBMS_KORJAUSMENETTELYT
menettelyn nimi kuvaus

check_object

havaitsee ja raportoi korruptiot taulukossa tai hakemistossa.

fix_corrupt_blocks

merkitsee lohkot (jotka oli aiemmin tunnistettu check_object – menettelyllä) korruptoituneiksi.

dump_orphan_keys

raportoi indeksimerkinnät, jotka viittaavat riveihin korruptoituneissa datalohkoissa.

rebuild_freelists

palauttaa kohteen freelistit.

skip_corrupt_blocks

käytettäessä ei oteta huomioon lohkoja, jotka on merkitty korruptoituneiksi taulukko-ja indeksiskannausten aikana. Jos ei käytetä, saat virhe ORA-1578 kohdatessaan lohkot merkitty korruptoitunut.

admin_tables

tarjoaa hallinnolliset toiminnot (Luo, pudota, puhdista) dbms_repair korjaus ja orphan avaintaulukot. Huom: nämä taulukot luodaan aina SYS-skeemassa.

Vaihe 1: havaitse ja raportoi korruptiot

ennen kuin käytät dbms_repairia, sinun tulisi ensimmäisenä tehtävänäsi olla korruptioiden havaitseminen ja raportointi. Raportointi ei ainoastaan osoita, mikä lohkossa on vikana, vaan myös tunnistaa siihen liittyvän korjausdirektiivin. Sinulla on useita vaihtoehtoja dbms_repairin lisäksi korruptioiden havaitsemiseksi. Taulukossa 19-2 kuvataan eri havaitsemismenetelmät.

taulukko 19-2 korruption havaitsemismenetelmien Vertailu
Detektiomenetelmä kuvaus

DBMS_KORJAA

suorittaa lohkon tarkistamisen määritetylle taulukolle, osiolle tai indeksille.

täyttää korjaustaulukon tuloksineen.

DB_TARKISTA

ulkoinen komentorivityökalu, joka suorittaa lohkon tarkistamisen offline-tietokannassa.

analysoi

VALIDATE STRUCTURE-valitsimen avulla tarkistetaan indeksin, taulukon tai klusterin rakenteen eheys; tarkistetaan tai tarkistetaan, että taulukot ja indeksit ovat synkronoituja.

DB_BLOCK_TARKISTUS

tunnistaa korruptoituneet lohkot ennen kuin ne todella merkitään korruptoituneiksi. Tarkistuksia tehdään, kun lohkoon tehdään muutoksia.

DBMS_REPAIR:käyttämällä menettelyjä check_object ja admin_tables

check_object menettely tarkistaa ja raportoi tietyn objektin korruptiot. Samanlainen analyysi…Validoi indeksien ja taulukoiden RAKENNELAUSEKE, indeksien ja datalohkojen lohkotarkistus suoritetaan vastaavasti.

ei ainoastaan check_object ilmoita korruptiosta, vaan se myös tunnistaa mahdolliset korjaukset, jotka tapahtuisivat, jos fix_corrupt_blocks ajetaan myöhemmin kohteeseen. Tämä tieto saadaan kansoittamalla korjaustaulukko, joka on ensin luotava admin_tables – menetelmällä.

kun olet suorittanut check_object – menettelyn, yksinkertainen kysely korjauspöydällä näyttää kohteen korruptiot ja korjausohjeet. Näiden tietojen avulla voit arvioida, miten ilmoitettuihin ongelmiin voidaan parhaiten puuttua.

DB_VERIFY: suoritetaan Offline-Tietokantatarkistus

tyypillisesti käytät db_verify-ohjelmaa offline-diagnostiikkatyökaluna, kun kohtaat tietojen korruptioon liittyviä ongelmia.

Katso Myös: Lisätietoja db_veriffistä on ohjeaiheessa Oracle8i Utilities.

ANALYZE: Corruption Reporting

the analysis TABLE…Validoi STRUCTURE statement validoi analysoidun objektin rakenteen. Jos Oracle validoi rakenteen onnistuneesti, sinulle palautetaan viesti, joka vahvistaa sen vahvistuksen. Jos Oracle havaitsee esineen rakenteessa korruptiota, sinulle palautetaan Virheilmoitus. Tässä tapauksessa, voit pudota ja uudelleen luoda objektin.

Katso myös: lisätietoja ANALYSOINTILAUSEESTA on Oracle8i SQL-viitteessä.

DB_BLOCK_CHECKING (Block Checking Initialization Parameter)

voit asettaa Block checkingin esiintymille db_block_checking-parametrin kautta (oletusarvo on tosi); tämä tarkistaa tiedot ja indeksilohkot aina, kun niitä muutetaan. DB_BLOCK_CHECKING on dynaaminen parametri, muunnettavissa ALTER SYSTEM SET lauseke.

Vaihe 2: Arvioi Dbms_repairin käytön kustannukset ja hyödyt

ennen kuin käytät DBMS_REPAIRIA sinun on punnittava sen käytön hyödyt suhteessa vastuisiin; sinun pitäisi myös tutkia muita vaihtoehtoja käsitellä korruptoituneita esineitä.

aluksi on vastattava seuraaviin kysymyksiin:

  1. mikä on korruption laajuus?

    jos haluat selvittää, onko korruptiota ja korjaustoimia, suorita check_object – menettely ja kysy korjaustaulukosta.

  2. mitä muita vaihtoehtoja on käytettävissä lohkovaurioihin puuttumiseksi?

    olettaen, että tieto on saatavissa toisesta lähteestä, pudota, luo ja kansoita kohde uudelleen. Toinen vaihtoehto on antaa Luo taulu…Valitse lausuma korruptoituneesta taulukosta luodaksesi uuden.

    voit jättää korruption huomiotta sulkemalla korruptoituneet rivit pois valituista lausekkeista.

    Perform media recovery.

  3. mitä loogisia korruptioita tai sivuvaikutuksia syntyy, kun käytät dbms_repairia tehdäksesi objektista käyttökelpoisen? Voidaanko niihin puuttua? Mitä vaivannäköä se vaatii?

    et välttämättä pääse käsiksi riveihin lohkoissa, jotka on merkitty korruptoituneiksi. Kuitenkin, lohko voidaan merkitä korruptoitunut, vaikka on vielä rivejä, että voit pätevästi käyttää.

    Referentiaaliset eheysrajoitukset voidaan rikkoa, kun lohkot on merkitty viallisiksi. Jos näin tapahtuu, poista rajoite käytöstä ja ota se uudelleen käyttöön; mahdolliset epäjohdonmukaisuudet raportoidaan. Kun olet korjannut kaikki ongelmat, sinun pitäisi pystyä onnistuneesti uudelleen käyttöön rajoite.

    loogista korruptiota voi esiintyä, kun pöydällä on määriteltyjä laukaisijoita. Jos esimerkiksi rivit asetetaan uudelleen, pitäisikö lisätä käynnistimiä ampua vai ei? Voit käsitellä näitä ongelmia vain, jos ymmärrät laukaisimet ja niiden käytön asennuksessa.

    Freelistin palikat saattavat olla saavuttamattomissa. Jos korruptoitunut lohko on freelistin päässä tai hännässä, space management käynnistää freelistin uudelleen. Tämän jälkeen voi olla palikoita, joiden pitäisi olla freelistillä, jotka eivät ole. voit puuttua tähän ajamalla rebuild_freelists – toiminnon.

    hakemistot ja taulukot saattavat olla epätahdissa. Voit puuttua tähän suorittamalla ensin dump_orphan_keys – menettelyn (saadaksesi avaimista tietoja, jotka voivat olla hyödyllisiä vioittuneiden tietojen uudelleenrakentamisessa). Sitten antaa ALTER INDEX REBUILD ONLINE statement saada taulukon ja sen indeksit takaisin synkronoitu.

  4. jos korjaukseen liittyy tietojen häviäminen, voidaanko nämä tiedot hakea?

    voit hakea tietoja indeksistä, kun datalohko on merkitty korruptoituneeksi. dump_orphan_keys – menetelmän avulla voit hakea nämä tiedot. Tietojen hakeminen tällä tavalla riippuu tietenkin indeksien ja taulukon välisen redundanssin määrästä.

Vaihe 3: Tee objektit käyttökelpoisiksi

tässä vaiheessa DBMS_REPAIR tekee objektista käyttökelpoisen sivuuttamalla korruptiot taulukko-ja indeksiskannausten aikana.

Korruption Korjaus: Käyttämällä fix_corrupt_blocks ja skip_corrupt_blocks menettelyjä

teet korruptoituneen kohteen käyttökelpoiseksi luomalla ympäristön, joka ohittaa korruptiot, jotka jäävät DBMS_REPAIRIN korjausominaisuuksien ulkopuolelle.

jos korruptioon liittyy tietojen menetys, kuten huono rivi datalohkossa, kaikki tällaiset lohkot merkitään korruptoituneiksi fix_corrupt_blocks – menettelyllä. Tämän jälkeen voit suorittaa skip_corrupt_blocks – menettelyn, joka ohittaa objektille korruptoituneiksi merkityt lohkot. Kun skip on asetettu, pöytä-ja indeksiskannaukset ohittavat kaikki lohkot, jotka on merkitty korruptoituneiksi. Tämä koskee sekä median että ohjelmistojen korruptoituneita lohkoja.

seuraamukset, kun ohitetaan korruptoituneita lohkoja

jos indeksi ja taulukko eivät ole synkronissa, niin asetettu tapahtuma vain luku-tapahtuma voi olla epäjohdonmukainen tilanteissa, joissa yksi kysely tutkii vain indeksin, ja sitten seuraava kysely tutkii sekä indeksin että taulukon. Jos taulukkolohko on merkitty korruptoituneeksi, kaksi kyselyä palauttavat eri tulokset, mikä rikkoo vain luku-tapahtuman sääntöjä. Yksi tapa lähestyä tätä on olla ohittamatta korruptioita, kun asetetussa transaktiossa lukee vain-transaktiossa.

samanlainen ongelma esiintyy, kun valitaan ketjutettuja rivejä. Pohjimmiltaan, kysely samalla rivillä voi tai ei voi päästä korruptio-mikä antaa erilaisia tuloksia.

Vaihe 4: Korjaa korruptiot ja rakenna kadonneet tiedot uudelleen

kun olet tehnyt esineen käyttökelpoiseksi, voit suorittaa seuraavat korjaustoimet.

tietojen palauttaminen käyttäen Dump_orphan_keys-menettelyjä

dump_orphan_keys – menettely raportoi indeksimerkinnöistä, jotka osoittavat viallisten datalohkojen riveihin. Kaikki tällaiset indeksimerkinnät lisätään orvon avaintaulukkoon, johon tallennetaan korruption avain ja räyhääminen.

kun indeksin syöttötiedot on haettu, voit rakentaa indeksin uudelleen ALTER INDEX REBUILD ONLINE-lausekkeen avulla.

Korjaa Freelistit käyttämällä rebuild_freelists-menettelyä

kun freelistin päästä tai hännästä löytyy ”korruptoitunut” – merkintä, freelisti aktivoidaan uudelleen ja virhe palautetaan. Vaikka tämä vie loukkaavan blokin pois freelistiltä, se aiheuttaa sen, että menetät freelistin pääsyn kaikkiin kortteleihin, jotka seurasivat korruptoitunutta blokkia.

voit käyttää rebuild_freelists – menettelyä freelistien uudelleenaloittamiseen. Objekti skannataan, ja jos on sopivaa, että lohko on freelistillä, se lisätään master freelistiin. Freelistiryhmiä käsitellään jakamalla lohkot tasapuolisesti-lohko kerrallaan. Kaikki palikat, jotka on merkitty ”korruptoituneiksi” kohteessa, jätetään huomiotta uudelleenrakentamisen aikana.

rajoitukset ja rajoitukset

DBMS_KORJAUSMENETTELYISSÄ on seuraavat rajoitukset:

  • taulukoita, joissa on LOBS, sisäkkäisiä taulukoita ja taulukoita, tuetaan, mutta rivien ulkopuoliset sarakkeet jätetään huomiotta.
  • klustereita tuetaan skip_corrupt_blocks ja rebuild_freelist – menettelyissä, mutta ei check_object – menettelyssä.
  • Indeksijäädytettyjä taulukoita ja LOB-indeksejä ei tueta.
  • dump_orphan_keys menettely ei toimi bittikarttaindekseillä eikä funktiopohjaisilla indekseillä.
  • dump_orphan_keys menettely käsittelee avaimia, jotka ovat korkeintaan 3 950 tavua pitkiä.

DBMS_KORJAUSMENETTELYT

tämä jakso sisältää yksityiskohtaiset kuvaukset DBMS_KORJAUSMENETTELYISTÄ.

check_object

check_object menettely tarkistaa määritellyt kohteet ja täyttää korjaustaulukon tiedoilla korruptiosta ja korjausdirektiiveistä. Validointi koostuu lohkon tarkistaa kaikki lohkot objektin. Voit valinnaisesti määrittää alueen, osion nimi, tai subpartition nimi, kun haluat tarkistaa osan objektin.

procedure 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)

taulukko 19-3 check_object-menettely
argumentti kuvaus

schema_name

tarkastettavan kohteen skeema-nimi.

object_name

tarkastettavan taulukon tai indeksin nimi.

partition_name (optional)

osion tai alaluvun nimi tarkistetaan. Jos tämä on osioitu objekti, eikä partition_name ole määritelty, tarkistetaan kaikki osiot ja alaluvut. Jos tämä on osioitu objekti, ja määritetty osio sisältää subpartitions, sitten kaikki subpartitions tarkistetaan.

object_type (optional)

käsiteltävän esineen Tyyppi. On oltava joko TABLE_OBJECT tai INDEX_OBJECT. Oletusarvo on TABLE_OBJECT.

repair_table_name (optional)

käytettävän korjaustaulukon nimi. Taulukon on oltava olemassa SYS-skeemassa. Käytä admin_tables – menetelmää korjaustaulukon luomiseen. Oletusnimi on ”REPAIR_TABLE”.

flags (optional)

varattu tulevaa käyttöä varten.

relative_fno (optional)

suhteellinen tiedostonumero. Käytetään lohkoalueen määrittämisessä.

block_start (optional)

ensimmäinen käsiteltävä lohko, jos määritetään lohkoalue. Voidaan määrittää vain, jos objekti on yksi taulukko, osio, tai subpartition.

block_end (optional)

viimeinen käsiteltävä lohko, jos määritetään lohkoalue. Voidaan määrittää vain, jos objekti on yksi taulukko, osio, tai subpartition.

jos vain yksi block_startista tai block_endistä on määritetty, toinen oletusarvo on tiedoston ensimmäinen tai viimeinen lohko.

corrupt_count

ilmoitettujen korruptioiden määrä.

fix_corrupt_blocks

käytä tätä menettelyä korjataksesi tietyissä kohteissa olevat vioittuneet lohkot check_object – menettelyn aiemmin tuottaman korjaustaulukon tietojen perusteella. Ennen kuin lohkoon tehdään muutoksia, lohko tarkistetaan sen varmistamiseksi, että lohko on edelleen korruptoitunut. Korruptoituneet lohkot korjataan merkitsemällä lohkoohjelmisto korruptoituneeksi. Kun korjaus tehdään, siihen liittyvä rivi korjaustaulukossa päivitetään korjausaikaleimalla.

procedure 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 boolean DEFAULT NULL, fix_count OUT binary_integer)

taulukko 19-4 fix_corrupt_blocks-menettely
argumentti kuvaus

schema_name

skeeman nimi.

object_name

korjattavan viallisen lohkon kohteen nimi.

partition_name (optional)

Partition tai subartition nimi käsiteltävä. Jos kyseessä on osioitu objekti, eikä partition_name ole määritelty, käsitellään kaikki osiot ja alaluvut. Jos tämä on osioitu objekti, ja määritetty osio sisältää subpartitions, sitten kaikki subpartitions käsitellään.

object_type (optional)

käsiteltävän esineen Tyyppi. On oltava joko TABLE_OBJECT tai INDEX_OBJECT. Oletusarvo on TABLE_OBJECT.

repair_table_name (optional)

korjausdirektiivien mukaisen korjaustaulukon nimi. Täytyy olla SYS-skeemassa.

flags (optional)

varattu tulevaa käyttöä varten.

fix_count

lohkojen määrä vahvistettu.

dump_orphan_keys

raportoi indeksimerkinnöistä, jotka viittaavat viallisten datalohkojen riveihin. Kunkin havaitun indeksimerkinnän osalta lisätään rivi määriteltyyn orpoteos-taulukkoon.

jos korjaustaulukko on määritetty, käsitellään kaikki perustaulukkoon liittyvät korruptoituneet lohkot kaikkien niiden datalohkojen lisäksi, jotka on merkitty ohjelmiston korruptoituneiksi. Muuten käsitellään vain palikoita, jotka on merkitty korruptoituneiksi.

nämä tiedot voivat olla hyödyllisiä taulukon kadonneiden rivien uudelleenrakentamisessa ja diagnostisissa tarkoituksissa.

procedure dump_orphan_keys( schema_name IN varchar2, object_name IN varchar2, partition_name IN varchar2 DEFAULT NULL, object_type IN binary_integer DEFAULT INDEX_OBJECT, repair_table_name IN varchar2 DEFAULT 'REPAIR_TABLE', orphan_table_name IN varchar2 DEFAULT 'ORPHAN_KEY_TABLE', key_count OUT binary_integer)

taulukko 19-5 dump_orphan_keys-menettely

argumentti kuvaus

schema_name

skeeman nimi.

object_name

kohteen nimi.

partition_name (optional)

Partition tai subartition nimi käsiteltävä. Jos kyseessä on osioitu objekti, eikä partition_name ole määritelty, käsitellään kaikki osiot ja alaluvut. Jos tämä on osioitu objekti, ja määritetty osio sisältää subpartitions, sitten kaikki subpartitions käsitellään.

object_type (optional)

käsiteltävän esineen Tyyppi. Oletusarvo on INDEX_OBJECT.

repair_table_name (optional)

sen korjaustaulukon nimi, jossa on tietoja viallisista palikoista perustaulukossa. Määritetyn taulukon on oltava SYS-skeemassa. Taulukon laatimiseen käytetään admin_tables – menetelmää.

orphan_table_name (optional)

orvon avaintaulukon nimi, joka täyttää tiedot jokaisesta indeksimerkinnästä, joka viittaa viallisen datalohkon riviin. Määritetyn taulukon on oltava SYS-skeemassa. Taulukon laatimiseen käytetään admin_tables – menetelmää.

key_count

käsiteltyjen indeksimerkintöjen lukumäärä.

rebuild_freelists

Rebuilds the freelists for the specified object. Kaikki vapaat lohkot on sijoitettu master freelist. Kaikki muut freelancerit nollataan. Jos objektissa on useita freelistiryhmiä, vapaat lohkot jaetaan kaikille freelisteille ja jaetaan eri ryhmille round-robin-tyyliin.

procedure rebuild_freelists( schema_name IN varchar2, object_name IN varchar2, partition_name IN varchar2 DEFAULT NULL, object_type IN binary_integer DEFAULT TABLE_OBJECT);

taulukko 19-6 the rebuild_freelists Procedure
argumentti kuvaus

schema_name

skeeman nimi.

object_name

sen kohteen nimi, jonka freelancerit aiotaan rakentaa uudelleen.

partition_name (optional)

Partition tai subpartition nimi, jonka freelistit on rakennettava uudelleen. Jos kyseessä on osioitu objekti, eikä partition_name ole määritelty, käsitellään kaikki osiot ja alaluvut. Jos tämä on osioitu objekti, ja määritetty osio sisältää subpartitions, sitten kaikki subpartitions käsitellään.

object_type (optional)

käsiteltävän esineen Tyyppi. On oltava joko TABLE_OBJECT tai INDEX_OBJECT. Oletusarvo on TABLE_OBJECT.

skip_corrupt_blocks

mahdollistaa tai poistaa käytöstä korruptoituneiden lohkojen ohittamisen määritetyn objektin indeksi-ja taulukkokannausten aikana. Kun objekti on taulukko, skip koskee taulukkoa ja sen indeksejä. Kun objekti on klusteri, se pätee kaikkiin klusterin taulukoihin ja niiden vastaaviin indekseihin.

procedure skip_corrupt_blocks( schema_name IN varchar2, object_name IN varchar2, partition_name IN varchar2 DEFAULT NULL, object_type IN binary_integer DEFAULT TABLE_OBJECT, flags IN boolean DEFAULT SKIP_FLAG);

taulukko 19-7 Skip_corrupt_blocks-menettely
argumentti kuvaus

schema_name

käsiteltävän kohteen skeema-nimi.

object_name

kohteen nimi.

partition_name (optional)

Partition tai subartition nimi käsiteltävä. Jos kyseessä on osioitu objekti, eikä partition_name ole määritelty, käsitellään kaikki osiot ja alaluvut. Jos tämä on osioitu objekti, ja määritetty osio sisältää subpartitions, sitten kaikki subpartitions käsitellään.

object_type (optional)

käsiteltävän esineen Tyyppi. On oltava joko TABLE_OBJECT tai CLUSTER_OBJECT. Oletusarvo on TABLE_OBJECT.

flags (optional)

jos SKIP_FLAG on määritetty, kytkee objektin ohjelmistojen korruptoituneiden lohkojen ohittamisen indeksi-ja taulukkokannausten aikana. Jos noskip_flag on määritetty, skannaukset, jotka kohtaavat ohjelmiston korruptoituneita lohkoja, palauttavat ora-1578: n.

admin_tables

tarjoaa hallinnolliset toiminnot korjaus-ja orpoavaintaulukoille.

procedure admin_tables( table_name IN varchar2, table_type IN binary_integer, action IN binary_integer, tablespace IN varchar2 DEFAULT NULL); 

taulukko 19-8 The admin_tables Procedure
argumentti kuvaus

table_name

käsiteltävän taulukon nimi. Oletusarvo on ”ORPHAN_KEY_TABLE” tai ”REPAIR_TABLE” määritetyn table_type-tyypin perusteella. Jos taulukon nimi on määritelty, sen etuliitteen on oltava ”ORPHAN_” tai ”REPAIR_”.

table_type

taulukon tyypin on oltava ORPHAN_TABLE tai REPAIR_TABLE.

action

osoittaa, mitä hallinnollisia toimia suoritetaan. Täytyy olla CREATE_ACTION, PURGE_ACTION tai DROP_ACTION. Jos taulukko on jo olemassa ja CREATE_ACTION on määritetty, palautetaan virhe. PURGE_ACTION tarkoittaa, että poistetaan kaikki taulukon rivit, jotka liittyvät olemattomiin olioihin. Jos taulukkoa ei ole olemassa ja drop_action on määritetty, palautetaan virhe.

kun CREATE_ACTION ja DROP_ACTION on määritelty, luodaan ja pudotetaan vastaava näkymä DBA_<table_name>. Näkymä on määritelty siten, että olemattomiin kohteisiin liittyvät rivit poistetaan.

luotu SYS-skeemassa.

tablespace (optional)

osoittaa taulukkotilan, jota käytetään taulukkoa luotaessa. Oletuksena käytetään SYS: n oletustaulukkotilaa. Virhe palautetaan, jos tablespace on määritetty ja toiminto ei ole CREATE_ACTION.

Dbms_korjaa poikkeukset

942 korjaustaulukkoa ei ole olemassa
1418 annettua indeksiä ei ole olemassa
24120 virheellinen parametri
24121 CASCADE_FLAGIA ja lohkoaluetta ei voi määrittää
24122 virheellinen lohkoalue
24124 määritetty virheellinen toimintoparametri
24126 CASCADE_FLAG määritelty ja objekti ei ole taulukko
24127 tablespace määritelty ja toiminto ei ole CREATE_ACTION
24128 osiointi määritetty osioimattomalle objektille
24129 virheellinen Orpo-avaintaulukon nimi-etuliitteen ”ORPHAN_” on oltava
24129 määritelty korjaustaulukko ei ala etuliitteellä ”REPAIR_”
24131 korjaustaulukossa on Virheelliset sarakkeet
24132 korjauspöydän nimi on liian pitkä

Vastaa

Sähköpostiosoitettasi ei julkaista.