Führen Sie Oracle 11gR2 RAC + DG3 erneut aus
Der letzte Teil konfigurierte die dg standby database asm disk group,Vorbereitung der RAC-Hauptbibliothek, Dieser Teil bereitet sich weiterhin auf die dg-Standby-Datenbank vor,Initialisierungsdatei,
Steuerdatei,Wiederherstellung von Datenbankdateien, Standby-Logfile erstellt,RAC-Hauptdatenbank zu dg-Standby-Datenbankprotokollsynchronisierung usw.
Sichern Sie die Datenbankdatei unter node1 node/rman_backup, Initialisierungsdatei,Steuerdatei,
Unter /rman_backup von dg, wo alle Archivprotokolle kopiert werden
Dies ist die Backup-Datei unter node1 /rman_backup/
FTP diese Dateien,Oder andere Möglichkeiten zum Übertragen in das /rman_backup-Verzeichnis der dg-Sicherungsbibliothek,Die Übertragung wird wie folgt abgeschlossen:
Erstellen Sie eine Kennwortdatei für die physische Standby-Datenbank
dg bearbeiten Sie .bash_profile wie folgt:
PATH exportieren
exportiere TMP = / tmp
export TMPDIR = $ TMP
export ORACLE_HOSTNAME=dg.localdomain
export ORACLE_SID=phydb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_HOME/product/11.2.0/db_1
export ORACLE_UNQNAME=phydb
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM = xterm
export PATH = / usr / sbin:$PFAD
export PATH = $ ORACLE_HOME / bin:$PFAD
exportiere LD_LIBRARY_PATH=$ORACLE_HOME/JRE:$ORACLE_HOME / jlib:$ORACLE_HOME / rdbms / jlib
export LANG = en_US
export NLS_LANG=american_america,AL32UTF8
export NLS_DATE_FORMAT=’yyyy/mm/dd hh24/mi:ss’
umask 022
Führen Sie source.bash_profile aus, damit die Umgebungsvariablen sofort wirksam werden
Ausgabeumgebungsvariablen der dg-Standby-Datenbank
dg -> env | Griff ORA
ORACLE_UNQNAME=phydb
ORACLE_SID=phydb
ORACLE_BASE = / u01 / app / oracle
ORACLE_HOSTNAME=dg.localdomain
ORACLE_TERM = xterm
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
Änderung der Initialisierungsdatei der dg-Standby-Datenbank
Der Initialisierungstext wurde aus /rman_backup von node1 in /rman_backup von dg kopiert, Benannt initphydb.ora ,
Kopieren Sie initphydb.ora unter dg standby database/rman_backup nach $ORACLE_HOME/dbs,Dg kann nach Modifikation verwendet werden。
Die Initialisierungsdatei wird wie folgt geändert:
phydb.__db_cache_size=180355072
phydb.__java_pool_size=4194304
phydb.__large_pool_size=4194304
phydb.__oracle_base=’/u01/app/oracle’
phydb.__pga_aggregate_target=335544320
phydb.__sga_target=402653184
phydb.__shared_pool_size=239075328
*.audit_file_dest=’/u01/app/oracle/admin/phydb/adump’
*.audit_trail=’db’
*.cluster_database=false
*.kompatibel=’11.2.0.0.0′
*.control_files=’+DATA/phydb/controlfile/cont.ctl’
*.core_dump_dest=’/u01/app/oracle/diag/rdbms/phydb/cdump’
*.db_block_size=8192
*.db_create_file_dest=’+DATA’
*.db_file_name_convert=’+DATA/devdb/’,’+DATEN/phydb/’
*.db_name=’devdb’
*.db_recovery_file_dest_size=4070572032
*.db_unique_name=’phydb’
*.diagnostic_dest=’/u01/app/oracle’
*.Disponenten='(PROTOKOLL=TCP) (SERVICE=phydbXDB)’
*.fal_client=’phydb’
*.fal_server = ’devdb1′,’devdb2′
*.log_archive_config=’dg_config=(devdb,phydb)’
*.log_archive_dest_1=’location=USE_DB_RECOVERY_FILE_DEST valid_for=(alle_logfiles,alle_rollen)
db_unique_name=phydb’
*.log_archive_dest_2=’service=devdb1 valid_for=(online_logfiles,Hauptrolle)
db_unique_name=devdb’
*.log_archive_format=’ARC_%t_%S_%r.arc’
*.log_file_name_convert=’+DATA/devdb/’,’+DATEN/phydb/’
*.memory_target=842006528
*.open_cursors=300
*.Prozesse=150
*.remote_login_passwordfile=’exklusiv’
*.service_names=’phydb’
*.standy_file_management=’auto’
*.Faden=1
*.undo_management=’auto’
*.undo_tablespace=’UNDOTBS1
adump und cdump erstellen
mkdir -p /u01/app/oracle/admin/phydb/adump
midir -p /u01/app/oracle/diag/rdbms/phydb/cdump
phydb unter +DATA/ erstellen, also +DATA/phydb/
Grid-Benutzeranmeldung dg
Führen Sie asmcmd aus und erstellen Sie ein phydb-Verzeichnis unter +data/
Konfigurieren Sie die RAC-Hauptbibliothek,dg-Standby-Datenbank tnsnames.ora
tnsnames.ora von node2 anzeigen
es ist – Orakel
cat $ORACLE_HOME/network/admin/tnsnames.ora
Gefunden, dass devdb fehlt,devdb1-Verbindungsinformationen,Nach der Ergänzung lauten die Informationen zu tnsname.ora wie folgt
DEVDB =
(BESCHREIBUNG =
(ADRESSE = (PROTOKOLL = TCP)(HOST = 192.168.137.158)(HAFEN = 1521))
(CONNECT_DATA =
(SERVER = DEDIZIERT)
(SERVICE_NAME = devdb)
(INSTANCE_NAME = devdb)
)
)
devdb1 =
(BESCHREIBUNG =
(ADRESSE = (PROTOKOLL = TCP)(HOST = 192.168.137.151)(HAFEN = 1521))
(CONNECT_DATA =
(SERVER = DEDIZIERT)
(SERVICE_NAME = devdb
(INSTANCE_NAME = devdb1)
)
)
devdb2 =
(BESCHREIBUNG =
(ADRESSE = (PROTOKOLL = TCP)(HOST = 192.168.137.152)(HAFEN = 1521))
(CONNECT_DATA =
(SERVER = DEDIZIERT)
(SERVICE_NAME = devdb)
(INSTANCE_NAME = devdb2)
)
)
phydb =
(BESCHREIBUNG =
(ADRESSE = (PROTOKOLL = TCP)(HOST = 192.168.137.159)(HAFEN = 1521))
(CONNECT_DATA =
(SERVER = DEDIZIERT)
(SERVICE_NAME = phydb)
)
)
Kopieren Sie die geänderte tnsnames.ora in node2 nach node1 und dg unter $ORACLE_HOME/network/admin/
Dadurch wird die Konsistenz der Verbindungsinformationen sichergestellt
dg-Standby-Datenbankerkennung,Bestätigen Sie, ob Sie auf scan-ip zugreifen können , Knoten1 , Knoten2 , dg
conn scott/tiger@devdb
conn scott/tiger@devdb1
conn scott/tiger@devdb2
An dieser Stelle ist die Vorbereitung der dg-Standby-Datenbank abgeschlossen.
dg standby-Datenbank beginnt mit dem Mount-Status
Kopiere einfach die Steuerdatei der RAC-Hauptbibliothek in das Verzeichnis /rman_backup,dg muss die Steuerdatei anwenden, um in den Mount-Zustand zu wechseln.
dg first start to nomount state,Dann stellt RMAN die Steuerdatei wieder her
[root@dg ~]# es ist – Orakel
dg -> sqlplus
SQL*Plus: Veröffentlichung 11.2.0.1.0 Produktion am Fr. Juli 22 22:21:40 2016
Urheberrechte © (c) 1982, 2009, Orakel. Alle Rechte vorbehalten.
Verbunden mit einer inaktiven Instanz.
SQL> Start-Nomount;
ORACLE-Instanz gestartet.
Globaler Bereich des Gesamtsystems 839282688 Bytes
Feste Größe 2217992 Bytes
Variable Größe 587204600 Bytes
Datenbankpuffer 247463936 Bytes
Puffer wiederholen 2396160 Bytes
RMAN-Wiederherstellungssteuerdatei
[root@dg ~]# es ist – Orakel
dg -> rman ziel /
Wiederherstellungsmanager: Veröffentlichung 11.2.0.1.0 – Produktion am Fr. Juli 22 22:25:33 2016
Urheberrechte © (c) 1982, 2009, Oracle und / oder verbundene Unternehmen. Alle Rechte vorbehalten.
mit Zieldatenbank verbunden: DEVDB (nicht montiert)
RMAN> Wiederherstellen der Standby-Steuerungsdatei von ‘/rman_backup/standby_0fr8au65_1_1.ctl’;
Wiederherstellung starten um 2016/06/22 00:06:15
Verwenden der Zieldatenbank-Steuerdatei anstelle des Wiederherstellungskatalogs
zugewiesener Kanal: ORA_DISK_1
Kanal ORA_DISK_1: SID=24 Gerätetyp=DISK
Kanal ORA_DISK_1: Steuerdatei wiederherstellen
Kanal ORA_DISK_1: Wiederherstellung abgeschlossen. verstrichene Zeit: 00:00:03
Name der Ausgabedatei=+DATA/phydb/controlfile/cont.ctl
Wiederherstellung abgeschlossen um 2016/06/22 00:06:18
Nachdem die dg-Standby-Datenbank über eine Steuerdatei verfügt, kann sie gemountet werden.
dg zum Oracle-Benutzer wechseln,Einfach direkt nach Eingabe von sqlplus mounten
SQL> Datenbank-Mount ändern;
Datenbank geändert.
SQL> open_mode aus v$database auswählen;
OPEN_MODE
————————————————————
MONTIERT
RMAN Wiederherstellung der dg-Standby-Datenbank
dg -> rman ziel /
RMAN> Lauf
{Weisen Sie Kanal c1 Typ Disk zu;
Weisen Sie Kanal c2-Typ-Festplatte zu;
Weisen Sie Kanal c3-Typ-Festplatte zu;
Weisen Sie die Festplatte des Kanals c4 zu;
Datenbank wiederherstellen;
Kanal c1 freigeben;
Kanal c2 . freigeben;
Kanal c3 freigeben;
Kanal c4 . freigeben;
}
Der Wiederherstellungsprozess der Backup-Datenbank ist wie folgt:
Jetzt wurde die dg-Standby-Datenbank wiederhergestellt.
dg standby database, um eine Standby-Logdatei zu erstellen
Erstellen Sie eine Standby-Logdatei, um die von der Hauptbibliothek übergebenen Redo-Logs zu empfangen,Dann verwenden Sie dieses Protokoll regelmäßig für die Datensynchronisierung und -wiederherstellung
Die Regeln zum Erstellen einer Standby-Logdatei sind:Zunächst muss die Größe der Größe der Hauptbibliothek entsprechen, Zweitens ist es 1 mehr als die Anzahl der Log-Gruppen unter der Instanz.
Als nächstes jede Instanz der Hauptbibliothek(Faden)Erstellen Sie eine Standby-Protokolldatei, Überprüfen Sie natürlich vor dem Erstellen die relevanten Dateninformationen
RAC-Hauptbibliotheksknoten1 zeigt die Protokollgruppensituation an
SQL >auswählen * von v$log; , 2 Sätze von Protokollen pro Knoten.
Standby_log erstellen
Datenbank ändern Standby-Logfile-Thread hinzufügen 1 Gruppe 5 Größe 50m, Gruppe 6 Größe 50m , Gruppe 7 Größe 50m;
Datenbank ändern Standby-Logfile-Thread hinzufügen 2 Gruppe 8 Größe 50m, Gruppe 9 Größe 50m , Gruppe 10 Größe 50m;
Überprüfen Sie die gerade erstellte Standby-Redo-Logdatei
SQL> select group#,DBID,THREAD#,SEQUENCE#,STATUS von v$standby_log;
GRUPPE# DBID THREAD# SEQUENZ# STATUS
———- ————— ———- ———- ———-
5 NICHT ZUGEORDNET 1 0 NICHT ZUGEORDNET
6 NICHT ZUGEORDNET 1 0 NICHT ZUGEORDNET
7 NICHT ZUGEORDNET 1 0 NICHT ZUGEORDNET
8 NICHT ZUGEORDNET 2 0 NICHT ZUGEORDNET
9 NICHT ZUGEORDNET 2 0 NICHT ZUGEORDNET
10 NICHT ZUGEORDNET 2 0 NICHT ZUGEORDNET
6 Zeilen ausgewählt.
Sie können die Protokollgruppe 5, 6, 7 der Standby-Logdatei in THREAD1 sehen,5,6,7In THREAD2.
Konfigurieren Sie die Protokollsynchronisierung von der Hauptdatenbank zur Standby-Datenbank
node1 und node2 wechseln zum Oracle-Benutzer,Instanzkonnektivität testen
sqlplus / als sysdba
conn sys/Oracle168@devdb als sysdba
conn sys/Oracle168@devdb1 als sysdba
conn sys/Oracle168@devdb2 als sysdba
conn sys/Oracle168@phydb als sysdba
Die Konfiguration von node1 ermöglicht die Übertragung der Archivprotokolle der RAC-Hauptbibliothek in die dg-Standby-Bibliothek
alter system set log_archive_dest_2=’service=phydb lgwr sync
valid_for=(online_logfiles,Hauptrolle) db_unique_name=phydb’ sid=’*’;
Parameter log_archive anzeigen;
node2 startet einmal neu,Führen Sie dann show parameter log_archive aus; Wenn log_archive_dest_state_2 auch aktiviert ist,
Dann ist die Konfiguration richtig.
rman ziel /
Archivliste alle protokollieren; Erscheinen wie in der Abbildung unten gezeigt,Das Archiv wurde erstellt.
Testen Sie das Switch-Protokoll der RAC-Hauptbibliothek,dg-Standby-Datenbank ist synchronisiert
Überprüfen Sie den Status der RAC-Hauptbibliothek und der dg-Standbybibliothek
SQL> dbid auswählen,Name,current_scn,Schutzmodus,Datenbankrolle,force_logging,open_mode,Umschaltstatus
aus der gv$Datenbank;
DBID-NAME CURRENT_SCN PROTECTION_MODE DATABASE_ROLE FOR OPEN_MODE SWITCHOVER_STATUS
———- ——— ———– ——————– —————- — ——————– ——————–
818758572 DEVDB 3454281 MAXIMALE LEISTUNG PRIMÄR JA LESEN SCHREIBEN IN STANDBY
818758572 DEVDB 3454280 MAXIMALE LEISTUNG PRIMÄR JA LESEN SCHREIBEN IN STANDBY
SQL> dbid auswählen,Name,current_scn,Schutzmodus,Datenbankrolle,force_logging,open_mode,Umschaltstatus
aus der gv$Datenbank;
DBID-NAME CURRENT_SCN PROTECTION_MODE DATABASE_ROLE FORCE_LOGOPEN_MODE SWITCHOVER_STATUS
———- ——— ———– ——————– —————- — ——————– ——————–
818758572 DEVDB 3284512 MAXIMALE LEISTUNG PHYSIKALISCHES STANDBY JA MONTIERT NICHT ZULÄSSIG
Das zurückgegebene Ergebnis zeigt,RAC-Hauptbibliothek node1 und node2, DATABASE_ROLE ist PRIMARY;FORCE_LOGING ist aktiviert,
OPEN_MODE ist LESEN SCHREIBEN; SWITCHOVER_STATUS ist AUF STANDBY.
dg-Standby-Datenbank,DATABASE_ROLE ist PHYSIKALISCHER STANDBY;FORCE_LOGING ist aktiviert;OPEN_MODE ist MOUNTED
SWITCHOVER_STATUS ist NICHT ERLAUBT
Status erfüllt die Anforderungen für die Protokollsynchronisierung.
Testen Sie die Synchronisation von Knoten1 mit der dg-Standby-Datenbank,Die folgende Abbildung zeigt eine erfolgreiche Synchronisation.
Die Synchronisationsoperationsmethode von node2 zu dg wird nicht mehr demonstriert..