Diagnosztikai eszközök és hibakereső eszközök oracle - mindent róla, és a programozás

TARTALOMJEGYZÉK

Oracle nyomkövetési fájlok

Az egyik fő riasztási naplófájl (alert.log), amely fontos információkat tartalmaz az adatbázis, a kurzus a diagnózis ellenőrizni kell az első.

Az elején az adatbázis munka alert.log lépett minden paraméter init.ora fájlt, és hozzászólás a háttérben futó folyamatokat. Bejegyzett által használt ebben az esetben a patak és a sorozatszámot a magazin, amely azt írja LGWR folyamatot.

Általában is tartalmaz információkat indítása és leállítása az adatbázis, hozzon létre egy táblázatot tér és rollback szegmensek egyes műveletek megváltoztatják. kapcsolási naplók és hibaüzenetek.

Ezen kívül alert.log Oracle automatikusan generál két nyomkövetési fájlt. Egyikük - a háttérben nyomkövetési fájl jön létre és a háttér folyamatok DBWR LGWR. Ezek nyomkövetési fájlok nem jön létre a rendszer indításakor, attól függően, hogy a rendelkezésre álló információk rögzítésére.

A második típusú nyomkövetési fájl jön létre a felhasználó által az adatbázishoz csatlakozáshoz és az úgynevezett használati nyomkövetési fájlokat.

Ez a fájl csak akkor jelenik meg, ha a felhasználói munkamenet hibát észlel.

Trace fájlnevek szabványos formátumban, attól függően, hogy az operációs rendszert. UNIX környezetben, a háttérben nyomkövetési fájl így néz ki ORA_PID_PROCESS.trc és felhasználói fájl - PROCESS_ID.trc. Ebben az esetben, az azonosító ORA_PID Oracle folyamat PROCESS_ID - szisztematikus folyamat, hogy hozzon létre egy nyomkövetési fájlt.

Debug támogatja a különböző diagnosztikai eszközöket. Ahhoz, hogy kirak a diagnosztikai információkat nyomkövetési fájlok, akkor csatlakozni bizonyos eseményeket. néhány speciális parametryinit.ora diagnosztizálására használatos lemez sérülések és a memóriát. Ezeket a paramétereket beállítani a normál működés során az adatbázis, mint csökkentik annak teljesítményét.

Beállítás nyoma esemény

Íme módon meghatározhatja nyoma események:

-kirak a rendszer állapotának diagnosztizálására problémák lag

-terhelést és verem hiba folyamat (pl. hiba ORA-00604)

Amikor beállítja az eseményeket a következő sorokkal által használt init.ora:

EVENT = "604 TRACE NAME ERRORSTACK FOREVER" - rakodni egy köteg hibát, amikor a folyamat hibát észlel ORA-00604;

EVENT = „10210 TRACE NAME HÁTTERE FOREVER, SZINT 10” - integritását ellenőrzi az egyes blokk olvasásakor a lemez cache.

A leggyakoribb esemény kódok:

10013 és 10015 - használnak a diagnózis kapcsolatos problémák kárt a rollback szegmensek.

event = "10015 trace nevet összefüggésben örökre"

10029 és 10030 - információk eredetét és megállás ülés.

10210 és 10211 - hitelesített adatokat blokkok olvasni SGA

event = "10210 trace nevet összefüggésben örökre, 10-es szint"

10231 és 10232 - Átugrani hibás blokkokat a táblázat vizsgálat és töltse fel őket a nyomkövetési fájl

változtassa ülés szett események „10231 trace nevet összefüggésben off”;

event = "10231 trace nevet összefüggésben örökre, 10-es szint"

Az első szolgáltató letiltja a blokkok ezen az ülésen. A második ellenőrzését foglalja magában az összes DB blokkok olvasni minden olyan eljárást, SGA.

log elemzés segítségével LogMiner

Archivált visszajátszást a log fájlok nagyon fontos, különösen az adatbázis helyreállításához. Annak érdekében, hogy olvassa el a változásokat az adatbázisba, mely tartalmazta az archív fájlban Journal ismétlések meg kell nyitni a fájlt, és megvizsgálja annak tartalmát.

Erre a célra egy speciális szerszám hívott LogMiner.

Az eszköz használatához szükség van a következőkre:

1. Állítsa utl_file_dir a init.ora

2. Indítsa el a $ ORACLE_HOME / RDBMS / admin / dbmslogmnrd.sql

3. SQL> EXECUTE dbms_logmnr_d.build (dictionary.ora ','„);

4. SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE (LogFilename => '/oradata/test/arc/test454.arc', Options => dbms_logmnr.NEW);

Minden hozzá a naplófájlok eltávolítás

5. EXECUTE DBMS_LOGMNR.START_LOGMNR (DictFileName =>

6. válasszuk SCN, log_id, felhasználónév, sql_redo, sql_undo v $ logmnr_contents ahol username = 'SCOTT';

egy listát az összes változás a felhasználó által végzett SCOTT

7. SQL> EXEC DBMS_LOGMNR.END_LOGMNR;

Keresése és rögzíti a sérült adatokat blokk segítségével DBMS_REPAIR modul

Károk helyreállítása az, táblázatok, és az indexek, az Oracle kínál eszköz DBMS_REPAIR.

Ez a modul lehetővé teszi, hogy:

- a legkisebb kárt blokkokat, hogy azt mutatják, hogy azok sérültek;

- Átugrani hibás blokkok során teljes scan a tábla vagy index;

- szolgálja a feleslegessé vált index vonalak azt jelzik, hogy a sérült adatokat blokk;

- újjáépíteni a szabad felsorolja a megadott tábla vagy index.

Létrehozása adminisztrációs modul asztalok DBMS_REPAIR

1. SQLPlus "/ mint SYSDBA"

2. Hozzon létre (nem kötelező) asztal helyet.

3. SQL> EXEC DBMS_REPAIR.ADMIN_TABLES ( 'REPAIR_ADMIN', 1, 1, 'REPAIR_TS');

SQL> EXEC DBMS_REPAIR.ADMIN_TABLES ( 'ORPHAN_ADMIN' 2, 1, 'REPAIR_TS'.);

Ha törölni szeretnénk az asztalra:

SQL> EXEC DBMS_REPAIR.ADMIN_TABLES ( 'ORPHAN_ADMIN' 2, 3, NULL.);

Ahhoz, hogy az asztalt (törli valamennyi vonal):

SQL> EXEC DBMS_REPAIR.ADMIN_TABLES ( 'ORPHAN_ADMIN' 2, 2, NULL.);

Szkennelése adott tábla vagy index eljárás alkalmazásával DBMS_REPAIR.CHECK_OBJE

Ellenőrizze adatsérülést prod áramkör táblázatban. Tegyük fel, hogy az asztal azért jött létre, repair_admin program sys

1. SQLPlus "/ mint SYSDBA"

SQL> Változó egy szám

2. SQL> EXEC DBMS_REPAIR.CHECK_OBJECT ( 'PROD', 'DATA', NULL, 1,

'REPAIR_ADMIN'. NULL, NULL, NULL, NULL. A);

4. SELECT FILE RELATIVE_FILE_ID,

MARKED_CORRUPT jelölve REPAIR_ADMIN;

Korrekciója sérült blokkok eljárások alkalmazásával DBMS_REPAIR.FIX_CORRUPT_BLOCKS

1. A változó SZÁM;

2. EXEC DBMS_REPAIR.FIX_CORRUPT_BLOCKS ( 'PROD', 'DATA', NULL, 1, 'REPAIR_ADMIN', NULL A.);

3. ellenőrzi, hogy az elemek a blokk van jelölve sérült szoftverek:

SELECT FILE RELATIVE_FILE_ID,

MARKED_CORRUPT jelölve REPAIR_ADMIN;

Kihagyása a hibás blokkok eljárások alkalmazásával DBMS_REPAIR.SKIP_CORRUPT_BLOCKS

EXEC DBMS_REPAIR.SKIP_CORRUPT_BLOCKS ( 'PROD', 'DATA', 1,1);

EXEC DBMS_REPAIR.DUMP_ORPHAN_KEYS ( 'PROD', 'SNO_IDX', NULL, 2, 'REPAIR_ADMIN',

'ORPHAN_ADMIN', NULL. A);

SELECT sémanév, INDEX_NAME, INDEX_ID, a TABLE_NAME KEYROWID, KEY

DUMP_TIME FROM ORPHAN_ADMIN;

Újjáépíteni a szabad listán táblázat adatai:

EXEC DBMS_REPAIR.REBUILD_FREELISTS ( 'PROD', 'DATA', NULL, 1);

oradebug segédprogram hozzáférést biztosít a memória szerkezetek Oracle folyamatok, kémények, stb Ezt fel lehet használni, hogy generálni billenő folyamat állapotától, valamint kirakodásához SGA mező struktúra. Ezen felül, akkor lehet aktiválni egy eseményt egy már futó folyamat.

folyamatnak, csatolt Oracle eljárás száma 9431 Unix alatt.

Nyomtató például: Oracle pid: 12, Unix folyamatban pid: 9431, image: oraclevk803

A nyomkövetési fájl mérete, korlátlan

aktivált SQL trace esemény

Mi vissza a nyomkövetési információkat a lemezt nem lehet megtenni a háttérben oraklovyh folyamatok - előfordulhat bázis állomása

Meg kell érteni, hogy a töredezettség a tábla eltér fájlok töredezettsége. Ha egy sorozat DML műveletek az asztalon, az asztal töredezett, mert DML nem mentesíti helyet HWM.HWM - jelzi a felhasználás (használt blokkok) blokkolja az adatbázisban. Blocks elérte-e.

Átnevezése Alapértelmezett Állandó Tablespace prostranstvaTablichnoe táblaterülethez SYSAUX tablespace Composite TempDefault Állandó TablespaceOracle 9i bevezette ideiglenes tábla teret az alapértelmezett (alapértelmezett ideiglenes TABLESPACE), hogy megakadályozza a véletlen.

ALTER TABLE táblanév read only ALTER TABLE táblanév olvasni írni; A következő script létrehoz egy táblázatot, feltölti azt a néhány sort, majd ustanavilivaet tábla mód "read-only" .CREATE TABLE ro_tab (azonosítója); INSERT INTO ro_tab értékek (1); INSERT INTO ro_tab ÉRTÉKEK (2).

Az eljárás létrehozására gyakorlatilag nem különbözik a korábbi verziók - 9i és 10g. A létrehozott adatbázis az alábbi lehetőségek közül: OMF (Oracle Managed File) adatfájlok, log fájlokat, újra a teljesítmény és kontroll fájlokat. FRA (Flash Recovery Area) archivált naplók vagy vágott.

Képtelenség, hogy minden terv változások mindig a jobb, vezetett egyes ügyfelek, hogy biztosítsa a tervek (tervek vannak tárolva), vagy blokk optimalizáló statisztika. Azonban, ha így tesz, akkor akkor megfosztjuk magunkat attól a lehetőségtől, hogy valaha használt.