Geek Diary
det här inlägget täcker de detaljerade stegen för att skapa en fysisk standby-databas på ett normalt filsystem med RMAN för en primär databas i ASM.
översikt
här kan Standby-databasen skapas med följande 2-metoder:
- Normal återställning och återställning med RMAN.
- skapa en dubblett databas för Standby med RMAN.
Metod 1
- utför säkerhetskopieringen av ASM-primärdatabasen (Datafiles, Controlfile for standby och Archivelogs )
- gör säkerhetskopiorna tillgängliga på Standby-servern.
- skapa parameterfilen och lösenordsfilen i vänteläge.
- konfigurera Oracle net-tjänster på båda servrarna.
- utför återställning och återställning i standby-databasen.
- konfigurera den primära databasen för att överföra arkiven till standby.
- starta om ansökan genom att sätta databasen I Återställ hanterat läge.
Metod 2
använd rman Duplicate-funktionen för att skapa standby-databasen. Steg för att uppnå detsamma beskrivs i följande inlägg.
Metod 1-Normal återställning och återställning med RMAN
1. Utför säkerhetskopian av ASM primära databasen (datafiler, Controlfile för standby & Archivelogs )
$ rman target / RMAN> backup database format '/backup/database_%U.bkp';RMAN> backup archivelog all format '/backup/archivelog_%U.bkp';RMAN> backup current controlfile for standby format '/backup/stdb_cntl_%U.bkp';
2. Gör säkerhetskopiorna tillgängliga på Standby-servern:
– FTP eller SCP backup bitar till standby-servern. Medan du gör FTP, se till att du bara gör det i binärt läge. Eller
– NFS mount montera sedan NFS på standby-servern med samma namn som du monterade på den primära databasen. Eller
– om säkerhetskopiorna är på band, se till att du gör korrekta ändringar på standby-servern så att du kan återställa säkerhetskopiorna på standby-servern.
3. Skapa parameterfilen & lösenordsfil i vänteläge. Kopiera den primära databasparameterfilen och gör nödvändiga ändringar:
db_unique_name='stnd_db'instance_name='stnd_db'standby_archive_dest=''db_file_name_convert='+DATA/prim_db/datafile/', '/u01/oradata/stnd_db/', '+DATA/prim_db/tempfile/', '/u01/oradata/stnd_db/' log_file_name_convert='+DATA/prim_db/onlinelog/', '/u01/oradata/stnd_db/'
skapa lösenordsfilen för standby-databasen med samma lösenord som primär
$ export ORACLE_SID=stand_db $ orapwd file=orapwstand_db password=oracle
4. Konfigurera Oracle net-tjänster på båda servrarna
In standby server - configure listener.In Primary server - configure tnsnames for standby. - check connectivity using tnsping.
5. Utför återställning och återställning i standby-databasen. Starta Nomount standby instans och återställa standby controlfile från säkerhetskopian av ’standby controlfile’ utförs i steg 1.
$ export ORACLE_SID=stnd_db$ rman target /RMAN> restore standby controlfile from '/backup/stdb_cntl_3oqff2fb_.bkp';
– du måste använda alternativet ’standby controlfile’ som
RMAN> RESTORE STANDBY CONTROLFILE from ...
annars konvertera parameter DB_FILE_NAME_CONVERT används inte.
– efter STANDBY CONTROLFILE återställs, kan du montera AUX instans och kontrollera db_file_name_convert parameter används och visar korrekt datafil sökväg/namn. Till exempel:
RMAN> REPORT SCHEMA ; ( or sql> select name from v$datafile ; )
montera databasen
RMAN> Alter database mount;
om backup bitar är i exakt samma katalogstruktur eller om katalogstrukturen är NFS monterad på standby-servern sedan direkt återställa databasen annars om backup bitar är på annan plats måste du katalogisera dem manuellt. Exempelvis:
RMAN> catalog backuppiece '/backup/database_2x21kd12.bkp';
för mer information om katalogiseringsalternativ, se inlägget nedan:
Återställ databasen
Återställ databasen med följande syntax (använd Ange nytt namn)
RMAN> run { set newname for datafile 1 to '': Set newname for datafile 2 to ''; . . restore database; Switch datafile all; }
Återställ databasen
lär känna den sista sekvensen som finns tillgänglig i archivelog-säkerhetskopian med följande kommando.Detta hjälper oss att återställa databasen till den arkiveloggen.
RMAN > list backup of archivelog all;
låt oss anta att den sista sekvensen av Sista arkiveloggen i säkerhetskopian är 50. Eftersom vi återställer databasen här till archivelog-sekvensen 50 bör sekvensnumret I tills-SEKVENSKLAUSULEN vara 50 (+1)
RMAN> Recover database until sequence 51;
6. Konfigurera den primära databasen för att överföra arkiven till vänteläge. Ställ in följande parameter i den primära databasen:
log_archive_dest_2='SERVICE=stnd_db'
utför en loggbrytare och se till att arkiv överförs till standby-destinationen.
7. Starta om ansökan genom att sätta databasen I Återställ hanterat läge. Starta den hanterade återställningsprocessen i Standby-databasen:
SQL> Recover managed standby database disconnect from session;