het Geek dagboek
dit bericht behandelt de gedetailleerde stappen voor het maken van een fysieke standby-database op een normaal bestandssysteem met behulp van RMAN voor een primaire database in ASM.
overzicht
hier kan de stand-bydatabase worden aangemaakt met behulp van de volgende 2 methoden:
- normaal herstel en herstel met behulp van RMAN.
- een dubbele database aanmaken voor Standby met behulp van RMAN.
Methode 1
- Voer de back-up uit van de primaire ASM-database ( Datafiles, Controlfile voor standby-en Archivelogs )
- maak de back-uponderdelen beschikbaar op de Standby-server.
- Maak het parameterbestand en het wachtwoordbestand aan in stand-by.
- configureer Oracle net-services op beide servers.
- herstel en herstel in stand-bydatabase uitvoeren.
- Configureer de primaire database om de archieven over te zetten naar stand-by.
- start het opnieuw toepassen door de database in Recover managed mode te zetten.
Methode 2
gebruik de functie RMAN Duplicate om de stand-bydatabase aan te maken. Stappen om hetzelfde te bereiken worden beschreven in de volgende post.
Methode 1-normaal herstel en herstel met RMAN
1. Back-up maken van de primaire ASM-database ( databestanden, controlebestand voor 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. Maak de back-up stukken beschikbaar op de Standby-server:
– FTP of SCP de back-up stukken naar de standby-server. Tijdens het doen van FTP zorg ervoor om het te doen in binaire modus alleen. Of
– NFS mount koppel vervolgens de NFS aan op de stand-by-server met dezelfde naam als die welke u in de primaire database hebt aangekoppeld. Of
– als de back-ups op tape staan, zorg er dan voor dat u de juiste wijzigingen aanbrengt op de stand-by-server, zodat u de back-ups op de stand-by-server kunt herstellen.
3. Maak het parameterbestand & wachtwoordbestand aan in standby. Kopieer het primaire databaseparameterbestand en breng de nodige wijzigingen aan:
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/'
Maak het wachtwoordbestand voor de standby-database met hetzelfde wachtwoord als primaire
$ export ORACLE_SID=stand_db $ orapwd file=orapwstand_db password=oracle
4. Configureer Oracle net services op beide servers
In standby server - configure listener.In Primary server - configure tnsnames for standby. - check connectivity using tnsping.
5. Voer herstel en herstel op standby-database. Opstarten Nomount de standby instantie en herstel de standby controlfile van de back-up van de ‘standby controlfile’ uitgevoerd in Stap 1.
$ export ORACLE_SID=stnd_db$ rman target /RMAN> restore standby controlfile from '/backup/stdb_cntl_3oqff2fb_.bkp';
– u moet de optie ‘standby controlfile’ gebruiken zoals
RMAN> RESTORE STANDBY CONTROLFILE from ...
else convert parameter DB_FILE_NAME_CONVERT wordt niet gebruikt.
– nadat het STANDBY-controlebestand is hersteld, kunt u de AUX-instantie aankoppelen en controleren of de parameter DB_FILE_NAME_CONVERT wordt gebruikt en het juiste pad/naam van het gegevensbestand tonen. Bijvoorbeeld::
RMAN> REPORT SCHEMA ; ( or sql> select name from v$datafile ; )
de database aankoppelen
RMAN> Alter database mount;
als back-up stukken zich in precies dezelfde mapstructuur bevinden of als de mapstructuur NFS is aangekoppeld op de standby-server, herstel dan direct de database anders als de back-up stukken zich op een andere locatie bevinden, moet je ze handmatig catalogiseren. Bijvoorbeeld:
RMAN> catalog backuppiece '/backup/database_2x21kd12.bkp';
voor meer informatie over catalogusopties, zie het onderstaande bericht:
de Database herstellen
de database herstellen met de volgende syntaxis(gebruik set newname)
RMAN> run { set newname for datafile 1 to '': Set newname for datafile 2 to ''; . . restore database; Switch datafile all; }
herstel de database
leer de laatste reeks kennen die beschikbaar is in de archivelog backup met behulp van het volgende commando.Dit zal ons helpen bij het terugvinden van de database tot die archivelog.
RMAN > list backup of archivelog all;
laten we aannemen dat de laatste volgorde van de laatste archivelog in de back-up 50 is. Aangezien we de database hier aan het herstellen zijn tot de archivelog sequentie 50 zou het volgnummer in de UNTIL SEQUENCE clausule moeten zijn 50 (+1)
RMAN> Recover database until sequence 51;
6. Configureer de primaire database om de archieven over te zetten naar stand-by. Stel de volgende parameter in in de primaire database:
log_archive_dest_2='SERVICE=stnd_db'
voer een log switch en zorg ervoor dat Archieven worden steeds overgebracht naar stand-by bestemming.
7. Kick start het opnieuw toepassen door de database in Recover managed mode. In Standby-database start het beheerde herstelproces:
SQL> Recover managed standby database disconnect from session;