ORACLE ORDBMS adminisztrációs feladatok 9. rész dr. Kovács László 2004
Adatmentések a DBA egyik legfontosabb feladata cél a rendelkezésre állás maximalizálása típusai: - mentés saját Oracle formátumban adatmozgatáshoz más Oracle DB-be - betöltés külső formátumból Oracle DB-be - mentés adatvesztés elleni védelemhez saját DB-hez eszközök: - EXP, IMP - SQLLOADER - RMAN
Export segédprogram célja más Oracle DB-be való adatmozgatás saját adatformátum os>EXP user/passwdPARFILE=pfile paraméterek FILE= eredmény file FULL = Y/N TABLES = lista OWNER = lista ROWS = Y/N (adatokat is átvigye-e) INDEXES = Y/N (indexek is átvigye-e) GRANTS = Y/N (jogokat is átvigye-e) CONSTRAINTS = Y/N (megkötéseket is átvigye-e)
EXP segédprogram mások adatainak mentéséhez szükséges jog: EXP_FULL_DATABASE mentési módok: - user(OWNER) - table(TABLES) - tablespace (TABLESPACES) - full (FULL) segédobjektumok előkészítése: CATEXP.SQL a LOG paraméterben megadható a napló file a CONSISTENT módban READ ONLY tranzakciót használ
minta paraméter fileok FULL=Y FILE=DBA.DMP GRANTS=Y INDEXES=Y CONSISTENT=Y FILE=dba.dmp GRANTS=y FULL=y ROWS=y FILE=scott.dmp OWNER=scott GRANTS=y ROWS=y COMPRESS=y FILE=expdat.dmp TABLES=(scott.emp,blake.dept) GRANTS=y INDEXES=y
EXP mentés file felépítése 1.típus definíciók 2.tábla definíciók 3.tábla adatok 4.indexek 5.integritási megkötések, view-k, eljárások és triggerek 6.LOB és egyéb indexek
IMPORT segédprogram célja más Oracle DB-ból történő adatátvétel saját adatformátum os>IMP user/passwdPARFILE=pfile paraméterek FILE = forrás file SHOW = Y/N csak megjeleníti a tartalmat, de nem végez átirást TABLES = lista ROWS = Y/N TOUSER = felhasználó DESTROY=Y/N GRANTS=Y/N
EXP segédprogram mások adatainak beolvasásához szükséges jog: IMP_FULL_DATABASE betöltési módok: - user(FROMUSER) - table(TABLES) - tablespace (TRANSPORT_TABLESPACES) - full (FULL) segédobjektumok előkészítése: CATEXP.SQL a LOG paraméterben megadható a napló file a CONSISTENT módban READ ONLY tranzakciót használ
minta IMP-ra FILE=dba.dmp SHOW=n IGNORE=n GRANTS=y FROMUSER=scott TABLES=(dept,emp) FILE=blake.dmp SHOW=n IGNORE=n GRANTS=y ROWS=y FROMUSER=blake TOUSER=scott TABLES=(unit,manager ) About to export specified tables via Conventional Path..... exporting table EMP.. exporting partition EMP_LOW 4 rows exported.. exporting partition EMP_HIGH 10 rows exported Export terminated successfully without warnings.
SQLLoader segédprogram
SQLLoader elemei Control file: az elvégzendő műveletek leírása - globális paraméterek input fileok, karakter készlet - adatok célhelye - extra input adat LOAD DATA INFILE sample.dat INTO TABLE planets FIELDS TERMINATED BY ',', OPTIONALLY ENCLOSED BY '"' ( pl_id NUMBER(4), pl_name CHAR(20), fname FILLER CHAR(30)); pl_pict BFILE(dname, fname)
SQLLoader elemei A beolvasott adatmezőkön konverziók is végezhetők beolvasás módja:APPEND REPLACE INTO TABLE tabla ( ENAME POSITION (1:20) CHAR EMPNO POSITION (22-26) INTEGER EXTERNAL ALLOW POSITION (*+2) INTEGER TERMINATED BY "/" ) INTO TABLE … field1 POSITION(1:8) INTEGER EXTERNAL "TRANSLATE(RTRIM(:field1),'N/A', '0')" field1 CHARACTER(10) "NVL( LTRIM(RTRIM(:field1)), 'unknown' )"
Adatmentés Backup: A DB állapot lementése Recovery: a DB korábbi lementésének viszatöltése DBS hibák: felhasználói (rossz parancs) parancs feldolgozási hiba user processz hiba instance hiba disk hiba hálózati hiba Adatforrások: REDO LOG állomány Archivált állományok Control file Rolback szegmensek
Adatmentés Mentés típusai: teljes (az adatbázis lezárt, nem használható) részleges inkrementális (csak az utolsó módosítás utáni adatok íródnak ki) kommulatív nyitott (nyitott adatbázis melletti) konzisztens inkonzisztens (az on-line redo log állományokat az LGWR folyamatosan írja, használatuk ciklikusan történik) lehet automatikus napló mentési és adat mentési módot igényelni
A mentési, helyreállítási folyamatokhoz célszerű szabad memóriát biztosítani: LARGE_POOL_SIZE mérete 300K és 2G közötti, SGA része Naplózás: REDO és ROLLBACK buffer: ciklikus felhasználású bufferek LGWR processz: telítettség; idő; checkpoint; COMMIT LOGFILE: ALTER DATABASE x ADD LOGFILE GROUP n f ALTER DATABASE x DROP LOGFILE GROUP n f
Naplóváltás: megtelik ALTER SYSTEM SWITCH LOGFILE V$LOG, V$LOGFILE, V$LOG_HISTORY Archiváló folyamatok, ARCn lementi a naplóállományokat, naplóváltáskor fut ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES = n ALTER SYSTEM ARCHIVE LOG START LOG_ARCHIVE_START = t LOG_ARCHIVE_DEST_n = dir ARCHIVE LOG LIST ARCHIVELOG üzemmód: nincs váltás mentés nélkül ALTER DATABASE ARCHIVELOG
Automatikus instance helyreállítás 1.nem szinkronizált állományok detektálása 2.roll-forward 3.roll-back 4.szinkronizálás Kézi mentési szintek: contol file tablespace datafile database
Adatmentés
Kézi mentések Konzisztens teljes mentés - egyszerűen adminisztráció, biztonságos - lassú, korlátozza a működést SHUTDOWN NORMAL HOST> copy *…TO … STARTUP Részleges mentés ALTER TABLESPACE xx BEGIN BACKUP HOST> copy *.. TO … ALTER TABLESPACE xx END BACKUP ALTER SYSTEM ARCHIVE LOG CURRENT
RMAN program: a mentések, helyreállítások adminisztrálásában segít - mentési parancsállományok készíthetők - tömöríti a nem használt blokkokat, optimalizál - listát készít a hibás blokkokról - párhuzamos csatorna kezelések - automatizálható működés A mentésre vonatkozó információkat egy recovery catalog-ban tárolja A katalógus tartalma: mikor, mi és hogyan lett lementve hol vannak a másolatok a log mentések adatai lementett adatbázis sémája mentési rutinok
Recovery manager Csatorna kezelés adatkapcsolat a mentési eszközökkel egy csatorna rendszerint egy eszközhöz kapcsolódik minden csatorna egyedileg paraméterezhető (rate, size,,) lehet manuális lekötés: ALLOCATE CHANNEL előre konfigurált lekötés CONFIGURE CHANNEL a csatorna kezelésre egy-egy szerver elindul Eszközkezelő modul: a szalagegységek kezelésére szolgál külön telepítendö MML (Media Management Library) BSP (Backup Solution Program)
RMAN segédprogram RMAN TARGETmunka adatbázis CATALOGkatalógus CMDFILEparancsfile MSGLOGnaplo RMAN TARGET parancsok: CONFIGURE (CHANNEL, RTENETION, DATAFILE,..) SHOW (ALL, CHANNEL,..) LIST mentések adatai REPORT állapot
BACKUP FULL INCREMENTAL CUMULATIVE DATAFILE file …. DATBASE. SKIP. COPIES n FORMAT mentési file neve RMAN mentési lehetőségek %t : időbélyeg, %d : Db név, %p : sorszám…
allocate channel dev1 type 'sbt_tape'; backup incremental level 2 cumulative skip inaccessible database; allocate channel dev1 type 'SBT_TAPE'; backup database; backup current controlfile; allocate channel dev1 type disk; allocate channel dev2 type disk; backup (tablespace system,sales1,sales2,sales3 filesperset 20 skip readonly) (datafile 12, 14, 15);
Helyreállítási lehetőségek RMAN mód: két fázis: RESTORE: adatállományok visszaállítása RECOVER: adatbázis konzisztens állapotba hozatala (naplók alapján) kézi: HOST> COPY parancs STARTUP MOUNT RESTORE DATABASE RECOVER DATABASE ALTER DATABASE OPEN [ RESETLOGS ]
A helyreállításnál megadott időpontra vonatkozólag is lehet helyreállítani az adatbázist RECOVER DATABASE TABLESPACE DATAFILE UNTIL Meglévő mentések ellenőrzése: CROSSCHECK
Standby database: Készenléti adatbázis. A fő adatbázis sérülése esetén venné át a fő adatbázis szerepet. A fő adatbázis minden módosítását átvezetik a standby adatbázisba is