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/passwd PARFILE=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/passwd PARFILE=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
TARGET munka adatbázis CATALOG katalógus
CMDFILE parancsfile MSGLOG naplo
RMAN TARGET scott/tiger@db2 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