Épület hibatűrő rendszer segítségével oracle fizikai készenléti
Épület hibatűrő rendszer segítségével az Oracle fizikai készenléti
Telepítésével egy információs rendszer alapján az Oracle adatbázis és szervező megbízható biztonsági stratégia-hasznosítás, akkor lehet kezdeni a termelést a rendszer működését. A baleset esetén lehetőség lesz visszaállítani az adatokat a kívánt időpontban. De mi van, ha a megengedett leállás ne haladja meg a néhány perc alatt? Akkor ne tedd nélkül különböző módszerek adatkétszerezésnél valós időben.
A szerkezet a Oracle Data Guard
Attól függően, hogy a konkrét követelményeket a gyógyulási idő és a megengedett adatvesztés baleset során (recovery time objektív, helyreállítási pont objektív [2]). Különböző végrehajtás módja:
- Fizikai készenléti DB - készenléti adatbázis pontos másolata az elsődleges fizikai tárolt szerelt állapotban és redo-át adatfolyamot.
- Logikai készenléti DB - készenléti adatbázis nem pontos másolata az elsődleges, nyitott írható-olvasható módban, és egyúttal átadta az SQL-utasítás áramot.
Ha szükséges, ez a bázis lehet aktiválni rövid idő alatt, mint a termelés.
Mivel az adatbázis logikai készenléti állapot nem pontos másolata az elsődleges adatbázis, és nem támogatja az egyes adattípusok, az SQL-parancs, van egy követelmény, hogy biztosítsa az egyediségét sorok táblák [4], úgy véljük, a végrehajtása pontosan fizikai készenléti DB. Úgy tűnik számomra, hogy a használata logikai készenléti adatbázis is jobb, mint egy hát és ennek alapján a bejelentésre. Mi választjuk ki az elsődleges és másodlagos adatbázisok a következő beállításokat: termelési létesítmények működő maximális rendelkezésre állapotban telt el a változtatások érvénybe lépnek a készenléti adatbázis mód Real-Time Apply Redo. Mert ez a működési mód kezdeményezett információtovábbítás változik működik, mint egy időben LGWR folyamatot. A különbség a védelmi rendszerek az, hogy maximális védelmet üzemmódban a tranzakció elszámolása csak akkor, ha a felvétel készül a helyi magazinok és távolról esetén lehetetlen a törölt rekordokat tárol leáll, és a maximális teljesítmény üzemmódban, hogy folytassa a munkát kell csak helyi felvétel és az elsődleges adatbázis továbbra is dolgozni, akkor is, ha a kapcsolat a készenléti adatbázis nem érhető el.
maximális rendelkezésre állás mód egy kompromisszum a váltás a két mód között automatikus. Ha a kapcsolat megfelelően működik, az átszállítás szinkronban, ha volt egy hiba, automatikusan megjeleníti a kevésbé szigorú szabályozás. Megszüntetése után kudarcok maximális védelmet mód visszaáll. [5]
Létre kell hozni a teszt környezet:
- Két szerver azonos architektúra, akkor változhat a processzorok számát, memória, merevlemez, az operációs rendszer kiadás, stb Hagyja, hogy a primer DB szerver lesz említett Poltava, és a készenléti szerver - .. Fastiv.
- adatbázis üzemmód legyen ARCHIVELOG.
- Ki kell használni az Oracle Server Enterprize Edition szoftver. A tesztek egyik változatát használja Oracle10.2 EE Solaris.
Előállítása egy működő konfiguráció
Tehát van egy működő termelés (elsődleges) Oracle adatbázis kiszolgálón található Poltava, és létre kell hoznunk egy biztonsági másolatot a készenléti adatbázis szerver Fastiv. Meg kell készíteni a konfigurációs fájlokat, és a további beállításokat.
Hagyja, hogy a bázis neve lesz «TST» rendeljen Gyártás elsődleges alap értéke ORACLE_SID = ORCL, készenléti - DB ORACLE_SID = ORCL1. elsődleges DB fájlok a / tstb / ORCL, fájlok készenléti DB - katalógus / tstb / ORCL1.
hajtsa végre a következő lépéseket:
Magában erőt naplózási mód a termelési rendszer erőszakos behatolás az adatbázisban naplózza az információt, még az úgynevezett Nologging műveleteket:
SQL> ALTER DATABASE FORCE fakitermelés;
Hozza létre a készenléti redo log. Ők csak kell dolgozni az adatbázisban készenlét, de jöjjenek létre az elsődleges, és a készenlétben eset kapcsoló közötti szerepek adatbázisok nem kell létrehozni őket.
készenléti redo létrehozásához szükséges fájlokat nem kisebb, mint az online redo log, és olyan mennyiségben, n + 1 számának redo csoport (cm. 1. lista).
1. lista Fájlok hozzáadása Készenléti Redo
SQLPlus "/ mint SYSDBA" < ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 '/tstb/ORCL/redo01.stb' SIZE 100M újrafelhasználási ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 '/tstb/ORCL/redo02.stb' SIZE 100M újrafelhasználási ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 '/tstb/ORCL/redo03.stb' SIZE 100M újrafelhasználási ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 '/tstb/ORCL/redo04.stb' SIZE 100M újrafelhasználási Létrehozza paraméterek init.ora / spfile.ora paraméter fájlok az elsődleges és a készenléti (lásd. 2. listát). 2. lista List init.ora / spfile.ora fájlbeállításokat * .control_files = '/ tstb / ORCL / control01.ctl', '/tstb/ORCL/control02.ctl', '/tstb/ORCL/control03.ctl' * .LOG_ARCHIVE_DEST_1 = 'ELHELYEZKEDÉS = / tstb / log1 / VALID_FOR = (ALL_LOGFILES, ALL_ROLES) DB_UNIQUE_NAME = Poltava' * .LOG_ARCHIVE_DEST_2 = 'SERVICE = Fastiv LGWR SYNC AFFIRM VALID_FOR = (ONLINE_LOGFILES, PRIMARY_ROLE) DB_UNIQUE_NAME = Fastiv' Létrehozása készenléti adatbázis mentés Készítsen biztonsági másolatot az adatbázisról és a jelszót fájlt, és át a másolt fájlokat a backup szerver Fastiv. Mivel az értéke ORACLE_SID az elsődleges és tartalék adatbázisok különböznek, jelszó fájlokat is, majd különböző nevek, például orapwORCL és orapwORCL1. Hozzon létre egy készenléti irányítása fájlt és másoljuk a készenléti szerver a megadott helyen az adatbázis paraméter fájl készenlét: SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS /tmp/standby.ctl '; Kapcsoljuk be a fő adatbázis maximális rendelkezésre álló módban a következő parancsot: SQL> ALTER DATABASE SET készenléti adatbázis maximális rendelkezésre állást; Adatbázisok készen áll a használatra. Nos, mindkét adatbázisban indítható. Az adatbázis-műveletek munka közben A működés során szükséges, hogy bizonyos műveleteket - start, stop, nyitás az olvasás, a regisztráció nem fogadott naplók, az aktiválás a tartalékalap (failover), a csere állapot (átállás). Tekintsük az alábbi lépéseket: stbstart script felelős az adatbázis készenléti megkezdi a valós idejű alkalmazni módban. Állj készenléti adatbázis biztosítja stbshut script (lásd. 4. listát). 4. lista indítása és leállítása az adatbázis fizikai készenléti SQLPlus "/ mint SYSDBA" < módosítja adatbázis tartó készenléti adatbázis; ALTER DATABASE RECOVER KEZELT készenléti adatbázis az aktuális LOGFILE Bontásához SESSION; SQLPlus "/ mint SYSDBA" < ALTER DATABASE RECOVER KEZELT készenléti adatbázis MÉGSEM; Nézzük a transzmissziós mechanizmus megváltoztatja a kapcsolási magazinok. Az elsődleges: SQL> ALTER SYSTEM SWITCH LOGFILE; SQL> SELECT GROUP #, szál # sorozatszámú #, archivált, státuszát V $ STANDBY_LOG; stbreadonly script adatbázis elindításáért felelős a készenléti állapotban csak olvasható (lásd. 5. listát). Redo Szállítási ebben az esetben folytatódik, de a változásokat el kell halasztani addig, amíg a kilépés ebben az üzemmódban. 5. lista futtatása adatbázis készenléti üzemmódban csak olvasható SQLPlus "/ mint SYSDBA" < ALTER DATABASE RECOVER KEZELT készenléti adatbázis MÉGSEM; módosítja adatbázis nyitott read only Átállás - script változtatni szerepek közötti adatbázisok. Szükséges, hogy az elsődleges adatbázis megnyílt, és a készenléti egy hegyen vagy vissza módban (lásd. 6. listán). Mint látható, egy script, hogy váltani szerepek hozzáféréssel kell rendelkeznie minden egyes adatbázis-részt az ügyletben. Listing 6. csere szerepek közötti adatbázisok Poltava és Fastiv SQLPlus "/ mint SYSDBA" < REM csatlakozni elsődleges csatlakoztassa sys / manager @ Poltava mint SYSDBA oszlop SWITCHOVER_STATUS méret A20 rész „Átállás állapotát | elsődleges” SELECT FROM SWITCHOVER_STATUS V \ $ DATABASE; oszlop DATABASE_ROLE méret A20 rész „Role előtt | átállás” válassza DATABASE_ROLE a V \ $ DATABASE; ALTER DATABASE COMMIT TO ÁTÁLLÁS A fizikai készenléti; oszlop DATABASE_ROLE méret A20 rész „szerepe után | átállás” válassza DATABASE_ROLE a V \ $ DATABASE; REM csatlakozni készenléti db on Újra kell alkalmazni mód csatlakoztassa sys / manager @ Fastiv mint SYSDBA oszlop SWITCHOVER_STATUS méret A20 rész „Átállás állapotát | készenléti” SELECT FROM SWITCHOVER_STATUS V \ $ DATABASE; oszlop DATABASE_ROLE méret A20 rész „Role előtt | átállás” válassza DATABASE_ROLE a V \ $ DATABASE; ALTER DATABASE COMMIT TO átállás PRIMARY; ALTER DATABASE NYITVA REM ha csak olvasható, ne nyissa ki - újraindítás REM SHUTDOWN KÖZVETLEN; oszlop DATABASE_ROLE méret A20 rész „szerepe után | átállás” válassza DATABASE_ROLE a V \ $ DATABASE; Failover - a script aktiválja a készenléti adatbázis esetén alapján első baleset. Mivel a készenléti adatbázis már nem kell lefordítani a maximális teljesítmény módban (lásd. 7. lista) aktiválása előtt készleteinket. SQL> ALTER DATABASE SET készenléti adatbázis teljesítményének maximalizálása érdekében; Regisztráció hiányzó naplók világosan látható lista 8. Listing 7. engedélyezése készenléti adatbázis a baleset esetén SQLPlus "/ mint SYSDBA" < oszlop DATABASE_ROLE méret A15 rész „Role előtt | átállás” válassza DATABASE_ROLE a V \ $ DATABASE; ALTER DATABASE RECOVER KEZELT készenléti adatbázis FINISH FORCE; ALTER DATABASE COMMIT TO átállás PRIMARY; ALTER DATABASE SET készenléti adatbázis teljesítményének maximalizálása érdekében; ALTER DATABASE NYITVA oszlop DATABASE_ROLE méret A15 rész „szerepe után | átállás” válassza DATABASE_ROLE a V \ $ DATABASE; Listing 8. azonosítása és felbontás manuális sebességváltó jelentkezzen hiányosságok SQL> SELECT MENET # LOW_SEQUENCE # HIGH_SEQUENCE # v $ ARCHIVE_GAP; MENET # LOW_SEQUENCE # HIGH_SEQUENCE # SQL> ALTER DATABASE REGISZTRÁCIÓ FIZIKAI LOGFILE 'filespec1'; Automatizálják teljesítmény-ellenőrzés Mivel az elsődleges adatbázis maximális rendelkezésre álló módban, ha a backup szerver leáll az elsődleges adatbázis, hogy folytassák munkájukat. Az elsődleges és a készenléti állapot egy rés. Felderítésére és javítására kár időt vesz igénybe, melynek során a fő adatbázis nincs mögötte. Ezen a ponton, abban az esetben ismételt elmulasztása már a mester adatbázis, akkor elveszítheti adatokat. Annak érdekében, hogy időben felismerheti és megszüntetheti az ilyen helyzetekben, akkor kell, hogy automatizálják a folyamatot figyelemmel kíséri a munkát a két adatbázis. Listing 9. A script, amely elvégzi a hiba keresés alert.log fájl ha a [-f / tmp / memsg_no] FILESLIST = `ls -R / ora / admin / * / bdump / *. Log` dir1 = `dirnév $ | sed„s / \ / ora \ / admin \ /// g MSG = / usr / local / bin / fetchlog -F 1: 100: 1000: s $ / var / adm /$.$ ` MSG1 = `echo "$" | egrep -i "ora-" ` Ezt meg lehet tenni, például keresztül csomagkapcsolt fetchlog [6]. Alapján a szoftver jött létre fetchalert script (lásd lista 9.) lehet futtatni egy démon crond: TestCase $ 0,15,30,45 * * * * / usr / local / bin / fetchalert> / dev / null 2> 1 A javasolt rendszer egyszerű és nem igényel speciális hardvert annak végrehajtására azonban megvannak a maga hátrányai: Ezek a szempontok azonban nincs komoly hatással a rendszer működését, mivel a fejlett hálózati technológia lehetővé teszi, hogy át nagy mennyiségű adat nagy távolságokra, és a kisebb energiafogyasztás szerver lehet használni, mint egy hát.