Mit der Version 18c wurden in allen Bereichen der Oracle Datenbank Neuerungen und Verbesserungen eingeführt. Besonders im Umfeld der Hochverfügbarkeit gab es eine Vielzahl an Weiterentwicklungen.
In dem folgenden Artikel möchte ich besonders ein Augenmerk auf die Verbesserungen im Bereich von Oracle Data Guard legen und Ihnen einige dieser Neuerungen genauer vorstellen.
Im weiteren Verlauf des Eintrags möchte ich auf folgende Weiterentwicklungen weiter eingehen:
Global Temporary Tables auf Active Data Guard Instanzen
Mit der Version 11.2 der Oracle Datenbank wurde eine Funktionalität namens Active Data Guard eingeführt, welche die Möglichkeit bietet die Oracle Data Guard Standby Datenbank für Select-Operationen zu verwenden. Dies eröffnete eine Vielzahl an Möglichkeiten, wie beispielweise umfangreiche analytische Abfragen von der Primary- auf die Standby-Datenbank zu verlagern und somit die primäre Datenbank somit zu entlasten. Ein limitierender Faktor für diesen Anwendungsfall war die Notwenigkeit von temporären Tabellen als Daten-Puffer für einige dieser analytischen Werkzeuge. Denn bis zur Version 12.2 war es nicht möglich Globale Temporary Tables (GTT) zu erstellen. Mit der Oracle Datenbankversion 18c wurde nun eine Möglichkeit eingeführt diese temporären Datenstrukturen auf der Standby-Datenbank zu erstellen.
Im Folgenden möchte ich Ihnen diese Neuerung genauer beschreiben.
Um eine GTT auf der Standby-Datenbank zu erstellen, können Sie das DDL in einer Session auf der Standby-DB ausführen.
SQL> CREATE GLOBAL TEMPORARY TABLE tab1(c1 number, c2 varchar(10)) ON COMMIT PRESERVE ROWS; Table created. SQL>
Im Anschluss wird dieses Statement implizit an die primäre Datenbank übergeben und dort ausgeführt. Nachdem die Definition dieser Tabelle an die Standby-Instanz übertragen wurde, ist diese Datenstruktur auch auf der Standby-Datenbank sichtbar und kann verwendet werden.
Vereinfachung der Wiederherstellung von Standby Datenbanken
Bei der Verwendung von Oracle Data Guard kommt es aus verschiedenen Gründen vor, dass die Verbindung der Primary und der Standby Datenbank getrennt werden muss. Falls diese Situation der Trennung dieser Umgebungen für eine geraume Zeit anhält, kann es möglich sein, dass die Datenstände und Konfiguration dieser Instanzen differgieren. Im diesem Fall muss die Standby-Umgebung mit dem neuen Datenstand der primären Datenbank aktualisiert werden. Bisher waren für diese Aufgabe eine Vielzahl manueller Schritte notwendig. Mit der Datenbankversion 18c wurden diese Schritte nun automatisiert und somit der administrative Aufwand verringert.
Um die Aktualisierung der Standby Datenbank anzustoßen ist nun lediglich ein RMAN-Kommando „RECOVER STANDBY DATABASE“ vonnöten. Mit der Klausel „FROM SERVICE“ wird angegeben von welcher primären Datenbank die Konfiguration und die Daten übertragen werden sollen.
Im folgenden Beispiel wird eine Standby-Datenbank vom Service ORCL der primären Datenbank aktualisiert.
[oracle@tddb18c admin]$ rman target / Recovery Manager: Release 18.0.0.0.0 - Production on Wed Oct 25 11:02:24 2018 Version 18.3.0.0.0 Copyright (c) 1982, 2018, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL_STBY (DBID=6273781454) RMAN> RECOVER STANDBY DATABASE FROM SERVICE ORCL; Starting recover at 25-OCT-18 using target database control file instead of recovery catalog Executing: alter database flashback off Oracle instance started Total System Global Area 956299440 bytes Fixed Size 8902832 bytes Variable Size 348127232 bytes Database Buffers 595591168 bytes Redo Buffers 3678208 bytes contents of Memory Script: { restore standby controlfile from service 'ORCL'; alter database mount standby database; } executing Memory Script Starting restore at 25-OCT-18 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=37 device type=DISK channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service ORCL channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:02 output file name=/u01/app/oracle/oradata/ORCL/control01.ctl output file name=/u01/app/oracle/oradata/ORCL/control02.ctl Finished restore at 25-OCT-18 released channel: ORA_DISK_1 Statement processed executing command: SET NEWNAME Starting restore at 25-OCT-18 Starting implicit crosscheck backup at 25-OCT-18 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=51 device type=DISK Crosschecked 5 objects Finished implicit crosscheck backup at 25-OCT-18 Starting implicit crosscheck copy at 25-OCT-18 using channel ORA_DISK_1 Finished implicit crosscheck copy at 25-OCT-18 searching for all files in the recovery area cataloging files... cataloging done List of Cataloged Files ======================= File Name: /u01/app/oracle/fast_recovery_area/ORCL/ORCL/archivelog/2018_10_25/o1_mf_1_32_fs82o499_.arc File Name: /u01/app/oracle/fast_recovery_area/ORCL/ORCL/archivelog/2018_10_25/o1_mf_1_33_fs8q4k63_.arc File Name: /u01/app/oracle/fast_recovery_area/ORCL/ORCL/archivelog/2018_10_25/o1_mf_1_34_fs8r77f8_.arc File Name: … … contents of Memory Script: { recover database from service 'ORCL'; } executing Memory Script Starting recover at 25-OCT-18 using channel ORA_DISK_1 skipping datafile 14; already restored to SCN 3452028 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service ORCL_SITE destination for restore of datafile 00001: /u01/app/oracle/oradata/ORCL/system01.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:32 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service ORCL_SITE destination for restore of datafile 00003: … … destination for restore of datafile 00012: /u01/app/oracle/oradata/ORCL/PDB1/users01.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service ORCL_SITE destination for restore of datafile 00014: /u01/app/oracle/oradata/ORCL/PDB1/tbs_perf.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 starting media recovery media recovery complete, elapsed time: 00:00:00 Finished recover at 25-OCT-18 flashback needs to be reenabled on standby open Finished recover at 25-OCT-18 RMAN>
Durch die Einführung dieser Funktionalität wurde der Prozess eines "Refreshs" einer Oracle Data Guard Stanby wesentlich vereinfacht und optimiert.
Einführung neuer Möglichkeiten für den Oracle Data Guard Broker
Mit der Datenbank Version 18c wurden ebenfalls Verbesserungen für den Oracle Data Guard Broker eingeführt. Zu diesen Anpassungen zählen Funktionalitäten, die mit neu implementierten Befehlen angesprochen werden können.
Nachfolgend möchte ich die neuen Kommandos auflisten und jeweils kurz einzeln darauf eingehen:
VALIDATE DATABASE SPFILE
Validierung der Primary- und Standby-SPFILEs zur Identifikation von Differenzen
VALIDATE NETWORK CONFIGURATION
Durchführung von Verbindungstests zu allen Umgebungen der Broker-Konfiguration
VALIDATE STATIC CONNECT IDENTIFIER
Validierung der statischen Connections aller Umgebungen
SET ECHO
Steuerung der Ausgabe von ausgeführten DGMGRL Befehlen
SHOW ALL
Ausgabe der Einstellungen des DGMGRL CLIs
Desweiteren wurden auf unserem Blog bereits zu vielen neuen Funktionalitäten der Oracle Datenbank 18c separate Einträge verfasst:
Weitere Informationen
Zurück zur Community-Seite