Állítsa vissza a vezérlő fájl
Állítsa vissza a vezérlő fájl
Elvesztése vagy károsodása a fájl-ellenőrzés az első baj, hogy lehet számítani, amikor megpróbálja elindítani az Oracle adatbázis például. Talált azonnal, amikor megpróbálja telepíteni a rendszert: válaszul az indítási szerelhető svrmgrl vagy SQLPlus üzenetet kap, mint
ORA-00205: hiba azonosításában controlfile ellenőrizze riasztási naplóban több információ
Ahhoz, hogy megértsük, hogy ez miért történik, és egy kicsit rendezni a jövőbeni cselekvés elég felidézni a szerepét. Az ellenőrző fájlt (control fájl, akkor is azt mondják: „a helyességét az adatbázis állami ellenőrzés file”, helyesebb, de valamivel hosszabb) - a fájl egy speciális „adatbázis”, az információkat a jelenlegi állapot az ilyen tárgyak adatbázis Táblaterületek fájlok - adatokat és a naplót. Az egyik legfontosabb paraméter felügyeli a fájl a „sorszáma változások a rendszer” (a rendszer váltás szám, SCN). SCN száma kiállító rendszer megkezdi a tranzakció, és amikor a változások jönnek az adatállományt, ez a szám a fájlban tárolt fejléc és vezérlő fájlt ugyanabban az időben (persze, de ez lesz az SCN naplófájlok). Amikor elkezdi az adatbázis, a rendszer összehasonlítja az SCN SCN, rögzített fájlt a fájl fejlécében. Ha a szám felett helyezkedik el, a fájl visszaállítani kívánt adatokat. Ha ebben a helyzetben a control fájl helyett a régi verzió, akkor a következő hibaüzenetet „kontroll fájl elavult.” Ez az, amit érint az időzítés rendszerfájlokat. De a kontroll fájl tartalmazza továbbá egyéb információkat tárol - például a maximális naplófájlok számát a csoport, és így tovább.
Az a baj az ellenőrző fájlt előfordulhatnak meghibásodások vagy gondatlan használata a fájlrendszer, vagy ha pontatlan helyreállítani egy biztonsági másolatot az adatbázisról. De mivel az ellenőrző fájlt létfontosságú, sérülés vagy eltűnése okozta, hogy a munka lehetetlenné adatbázis Oracle. A felhasználók védelme érdekében az ilyen helyzeteket, van egy olyan mechanizmus, Oracle tükrözi a kontroll fájlok, lehetővé teszi, hogy a növény néhány példányban egy fájlt, az értelmes identitás, amelyben a rendszer önmagát felügyeli. Mégis, ha annak ellenére, hogy „az Egészségügyi Minisztérium ismételt figyelmeztetések” control fájl rendszergazda „podzaletel” mit kell tenni. Sok függ az adott körülmények között a bajt. A következő sorozata intézkedéseket.
Szóval, mit kell tenni, ha baj van a vezérlő fájl lehetetlenné teszi, hogy felmászik a rendszer (ne feledjük, hogy ez a törvény az olvasás a vezérlő fájl eltér a feldolgozás indítási tartó indítási nomount).
1. lépés: Először meg kell határoznunk a jelenléte a kontroll fájlokat, és így, hogy melyik fájl okozta a bajt. Mivel a rendszer nem működik, akkor kell alkalmazni a fájl init.ora vagy CONFIG.ORA és talál egy ajánlatot control_files = (...) egy listát a tükör másolatot egy fájlt, vagy utalás, ha nincs tükrözés.
Akkor kell alkalmazni a „Journal of regisztrációs beérkező jeleket a területen” (riasztási napló). Általában ez található a könyvtárban ORACLE_BASE / ORACLE_SID / admin / bdumb. de lehet egy másik helyen, például jelzett background_dump_dest paraméter init.ora vagy CONFIG.ORA (változatban 8.0 és korábbi Windows NT, akkor sem itt, sem ott, de könnyű megtalálni) - alert_ORACLE_SID a fájlban. jelentkezzen. Ott talált egy ilyen üzenetet:
ORA-00202: controlfile: 'E: \ Oracle \ oradata \ db1 \ control01.ctl'
ORA-27041: nem tudja megnyitni ezt a fájlt
OSD-04002: nem lehet megnyitni a fájlt
O / S-hiba: (OS 2) A rendszer nem találja a megadott fájlt.
Most arra van szükség, hogy nézd meg az igazi kép, hasonlítsa össze a méretükkel és időpontját változásokat, és meghatározza a helyzetet, és további lépéseket.
A fájl, amely szenved az Oracle, nincs, de van legalább egy példányt.
Ugorjon a 2. lépésre.
Fájl esküszik az Oracle, hogy rendelkezésre áll, de sérült.
Ha a fájl sérülés nem egyértelmű a következtetés, ennek lesz szubjektív, hogy egy választás kérdése (intuíció, tapasztalat) DBA. Ellenőrizze, hogy a megfelelő időben, hogy segítsen „játék a helyettesítés” példányban a vezérlő fájlt, amint a 2. lépésben Innentől mielőtt továbbmegyünk erősen ajánlott, hogy a másolatok az összes rendelkezésre álló ellenőrzési fájlokat.
Ha minden operatív (online) redo log fájlokat az oldalon, ez valószínűleg a legegyszerűbb forgatókönyv további intézkedések - győződjön meg róla, hogy az összes adatot és naplófájlok (3. és 4. lépést), és újra létrehozni az ellenőrző fájlt létrehozni controlfile parancsot (5. és 6. lépést) .
Kontroll fájlok vagy teljesen hiányzik, vagy mind különböző méretű és dátum megváltozik.
Ön el tudja fogadni azt a következtetést, hogy az összes vezérlő fájlok sérültek, és hogy mindannyian újra kell építenie, vagy vissza az egész adatbázist a biztonsági mentésből. Az utóbbi akkor lehetséges, ha (remélhetőleg) tolatáskor ne felejtsük el, hogy a biztonsági mentés vezérlő fájl megtalálásához (a parancs létrehoz egy SQL-szekvenciáját regenerációs vezérlő fájl). Ha ez nem történik meg, van, hogy folytassa a 7. lépéssel, és ha igen (te backup) -, hogy járjon el a 3. és 6.).
2. lépés: próbálja helyettesíteni az érvényes vezérlő fájl. Tehát, az Oracle kifogásolja hiányzik vagy rossz vezérlő. Ismét ellenőrizze, hogy a fájlrendszer készült másolatot az összes rendelkezésre álló ellenőrzési fájlokat.
Ha elkezd Oracle kap - jól; - ha nem, folytassa a 3-6 létrehozása az ellenőrző fájlt újra.
3. lépés: próbálja meghatározni, hogy az eljárás minden adat fájlokat és az online redo log fájlokat. Meg kell tudni, mert e nélkül nem tudja futtatni a szkriptet, hogy a kontroll fájlt (6. lépés). Baleset esetén az ellenőrző fájlt, miután egy sikertelen helyreállítani egy biztonsági mentést, és kiderül, hogy az adatállományok - ősibb, mint amennyi szükséges, lehet ijesztő, és nem rögzíthető a helyreállítási adathordozó helyreállítás. Ugyanakkor az a lehetőség a kivitelezés 6. lépésben az szükséges, hogy az operatív naplófájlokat sértetlen és összhangban van a jelenlegi állapotában a rendszer.
Ez annak a ténynek köszönhető, hogy amikor létrehoz egy referencia fájlt, a rendszer fog kinézni minden adatfájlt és ellenőrizze SCN. Ha megállapítást nyer, hogy az SCN a fájl - legkésőbb minden SCN számát megjelenő online redo log fájlokat, az alkotás folyamatát megszakad.
Ha jön a következtetést, hogy bármely adat fájlokat és az online redo log alkalmatlan a használatra, szükség, hogy folytassa a következő lépéssel. Ha nem, akkor folytassa az 5. lépéssel.
4. lépés: Állítsa vissza az adatfájlt, vagy a napló, használhatatlannak bizonyult. Még egyszer: ha nem biztos benne, hogy valamelyik fájl használhatatlanná válnak, és valószínű, hogy minden rendben van-fájlt, akkor, ha megfelelő, ugorjon az 5. lépésre, és ha ez nem sikerül, hogy jöjjön ide vissza újra. Bajok belőle nem.
Kezdeni, hogy meghatározza a jelenléte fájlokat. A fájlok listáját kell rendelkezésre állnia, lehet beszerezni megadásával svrmgrl vagy SQLPlus (az utóbbi esetben célszerű kiadni SQLPlus / nolog), kiadó egy connect belső, majd egymás után
válassza neve v $ adatfájlt;
csoport kiválasztásához # tagja v $ logfile;
(Emlékezzünk, hogy v $ - „asztal” fizikailag nem tárolja a fájlokat és az SGA, ezért hozzáférhető és felfedezetlen DB).
Először is meg kell nézni, hogy a fájlokat. Ha ezek közül a fájlrendszer nem állnak rendelkezésre, vagy nulla hosszúságú, vagy újabb módosítási dátum, mint a legutóbbi redo log fájl - akkor vissza kell állítani a biztonsági másolatból.
A helyzet egy kicsit más naplófájlokat. Ellenőrizni kell az azonos hosszúságú, és a módosítás időpontját minden fájl ugyanabban a csoportban. Természetesen, a hossza nem lehet nulla és tartalmas dátumot. Hiba lehet két különböző színű:
Minden csoportban van legalább egy normál log.
Legalább egy csoportot sérült teljesen.
Ez egy rossz helyzet, létrehozása óta az ellenőrző fájlt (5. lépés) előírja, hogy minden operatív naplók. Be kell, hogy teljesen visszaállítani az adatbázist, és végre módosítja adatbázis nyitott resetlogs, arra, hogyan lesz egy külön beszélgetést.
5. lépés: Keresünk egy script, hogy egy ellenőrző fájlt - ha talál már felkészült. Ez lehet, ha kaptak parancsot módosítja adatbázis mentés vezérlő fájl megtalálásához, akkor is, ha minden jól működött. Ezért egy jó csapat, hogy végre rendszeresen és automatikusan, például a cron segítségével a Unix.
A szkript által létrehozott ezt a parancsot, beleesik egy nyomkövetési fájlt. Az NT (8.1 verzió Oracle), ez a fájl alapértelmezés szerint a ORACLE_BASE \ Admin \ ORACLE_SID \ udump, és egy másik tárolási hely megadható paraméter user_dump_dest az adatbázisban inicializáló fájlt. nyomkövetési fájlok (általában azok meghosszabbítását trc) lehet egy pár, majd köztük, és találja meg a legfrissebb parancs létrehozásához controlfile (egy másik operációs rendszer erre, vannak különböző lehetőségek, a NT, például sokat kell dolgozni szemével, és a Unix - karok és a fej), és lépjen a 6. Ha a nyomkövetési fájlok létrehozásával vezérlő fájl parancs nem érhető el, folytassa a 7. lépéssel.
Ha minden dolgozott ki, úgy, hogy megszökött enyhe sokk és pihenni. Ellenkező esetben (például azt találták, hogy a működési napló fájlok sérültek) - menj a következő lépésre.
7. lépés: próbálja helyreállítani az ellenőrző fájlt a biztonsági mentés, kész visszaállítani az adatbázist, és próbálja helyreállítani. Az a tény, hogy elértük ezt a lépést, akkor minden bizonnyal a következménye kataklizma. Bíró: Elvesztettük az összes működőképes példányt a kontroll fájl, a forgatókönyvet a gyógyulásra (ha valaha is kialakult!) És minden egész akár legalább az egyik csoport működési naplókat.
A választás korlátozott. Most akkor vagy visszatérhet n órák, napok, hetek ezelőtt egy hideg másolatot, vagy még mindig próbálja visszaállítani az utolsó érvényes ellenőrzőpont fájl egyik biztonsági mentéseket és használja őket, hogy visszaállítani az adatbázist. De ez egy külön vitát.