Utility installieren und Testmasterdatenbankserver konfigurieren

Installieren Sie das Skript Database Clone Snapshot Management (gDBClone) auf dem Datenbank-Server, und konfigurieren Sie den Server so, dass die Production-Datenbank geclont wird.

Prüfen Sie die folgenden Richtlinien zur Aktualisierungshäufigkeit von Daten, damit Sie die beste Methode für das Klonen der Produktionsdatenbank zum Erstellen des Testmasters bestimmen können:

  • Häufige Aktualisierungen (täglich/wöchentlich): Testmaster als physische Standbydatenbank erstellen
  • Regelmäßige Aktualisierungen (bidirektional, monatlich): Erstellen Sie einen Testmaster aus einer aktiven Datenbank mit RMAN DUPLICATE
  • Gelegentlich Aktualisierung (vierteljährlich, halbjährlich): Testmaster aus einem vollständigen RMAN-Datenbankbackup erstellen

Clone-Snapshot-Managementskript der Datenbank installieren

Installieren Sie das Skript gDBClone auf dem Datenbankserver, auf dem Sie den Testmaster erstellen möchten.

Das Befehlszeilenutility Database Clone Snapshot Management (gDBClone) erfordert Root-Systemberechtigungen für die meisten Aufgaben. In Umgebungen, in denen die Systemverwaltung durch eine andere Gruppe als die Datenbankverwaltung gehandhabt wird oder in denen Sicherheit ein signifikantes Problem darstellt, sollten Sie den Zugriff auf Account und Kennwort des Root-Benutzers begrenzen. Mit Sudo können Systemadministratoren bestimmten Benutzern (oder Benutzergruppen) die Möglichkeit erteilen, Befehle als Root auszuführen, während alle Befehle und Argumente als Teil Ihres Sicherheits- und Complianceprotokolls protokolliert werden.

Stellen Sie sicher, dass die Produktions- und Testmasterserver die erforderlichen Services, Produkte und Rollen für das Befehlszeilenutility gDBClone erfüllen.
  1. Laden Sie das Utility gDBClone auf den Testmasterserver herunter.
  2. Melden Sie sich an und sudo bei root an.
    $ sudo -s
  3. Installieren Sie das gDBClone-Utility mit dem RPM-Befehl.
    Im Beispiel wird die Versionsnummer "3.0.2-129." verwendet.
    # rpm -i gDBClone-3.0.2-129.noarch.rpm
    Das Utility wird im Verzeichnis /opt/gDBClone installiert.
  4. (Optional) Um das gDBClone-Utility auf eine neuere Version zu aktualisieren, verwenden Sie den RPM Update-Befehl, und geben Sie die gDBClone-Versionsnummer ein.
    #rpm -Uvh gDBClone-version number.noarch.rpm

Testmaster zum Verzeichnis hinzufügen und Port konfigurieren

Wenn Sie den Testmaster als physische Standbydatenbank erstellen oder Oracle Recovery Manager -(RMAN-) aktive Duplizierung verwenden, fügen Sie im Verzeichnis /etc/hosts des Produktionsdatenbankservers einen Eintrag für den Testmasterserver hinzu, und konfigurieren Sie die Ports.
  1. Melden Sie sich bei dem Produktionsdatenbankserver als Root an, und navigieren Sie zum Verzeichnis /etc/hosts.
  2. Fügen Sie einen Eintrag für den Testmasterserver hinzu (tstmstr).
    Der SCAN-Name auf dem Testmasterserver ist tstmstr-scan.
    [oracle@tstmstr ~]$ srvctl config scan
    SCAN name: tstmstr-scan, Network: 1
    Subnet IPv4: 192.0.2.1/255.255.255.0/p7p1, static
    Subnet IPv6: 
    SCAN 0 IPv4 VIP: 192.0.2.7
    SCAN VIP is disabled.
    SCAN VIP is individually enabled on nodes: 
    SCAN VIP is individually disabled on nodes: 
    [oracle@tstmstr ~]$ 
    
  3. Stellen Sie sicher, dass tstmstr und tstmstr-scan sich im Verzeichnis /etc/hosts befinden und dass die Domains zugewiesen sind.
    [oracle@proddb ~]$ cat /etc/hosts
    203.0.113.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.0.2.6  proddb.bass1.ebsvcn.examplevcn.com  proddb
    198.51.100.1  proddb-priv.bass1.ebsvcn.examplevcn.com  proddb-priv
    192.0.2.6  proddb-vip.bass1.ebsvcn.examplevcn.com  proddb-vip
    192.0.2.6  proddb-scan.bass1.ebsvcn.examplevcn.com  proddb-scan
    192.0.2.7 tstmstr.bass1.ebsvcn.examplevcn.com	tstmstr		tstmstr-scan
  4. Öffnen Sie Port 35007 in der Sicherheitsliste im Datenbank-Subnetz auf der Oracle Cloud Infrastructure-Konsole und im iptables auf dem Datenbankserver.
    Das Utility gDBClone erstellt einen temporären Auxiliary Listener (auf Port 35007) auf dem Test-Master-Server zur RMAN-Duplizierung. Die Regel erstellt eine Ingress-Regel für Port 35007 aus dem Production-Datenbank-Subnetz. In dem Beispiel ist 192.0.2.1/24 das Subnetz der Production-Datenbank.
    [root@tstmstr opc]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 35007 -s 192.0.2.1/24 -j ACCEPT
    [root@tstmstr opc]# service iptables save
    [root@tstmstr opc]# service iptables status

Testmasterserver konfigurieren

Für alle Testmasteroptionen müssen Sie ein Oracle Database Home (DB-Standardverzeichnis) erstellen, Oracle ASM Cluster File System (Oracle ACFS) konfigurieren und ein TDE-Wallet (Transparent Data Encryption) auf der Test-Master-Serverinstanz erstellen.

In diesem Beispiel werden die folgenden Namen verwendet:

  • Quellproduktionsdatenbankinstanz: PRODDB (PDB-Name ist PDB1)
  • Test-Master-Datenbankinstanz: TSTMSTR (PDB-Name ist PDB1)
  1. Erstellen Sie ein DB-Standardverzeichnis mit derselben Version wie Ihre Produktionsdatenbank.
    Verwenden Sie den Befehl dbcli list-dbhomes, um zu bestätigen, dass das DB-Standardverzeichnis und die Version konfiguriert sind. In diesem Beispiel wird 12.1.0.2.190416.-Version verwendet
    [root@tstmstr ~]# dbcli create-dbhome -v 12.1.0.2.190416
    
    [root@tstmstr ~]# dbcli list-dbhomes
    
    ID                                       Name                 DB Version        Home Location                                Status    
    ---------------------------------------- -------------------- ----------------- -------------------------------------------- ----------
    547437ec-b40e-4f53-8cd5-4b4fd11f449b     OraDB12102_home1     12.1.0.2.190416    /u01/app/oracle/product/12.1.0.2/dbhome_1     Configured
    98632e4c-1907-4a6a-b60a-76577505ff92     OraDB12102_home2     12.1.0.2.190416    /u01/app/oracle/product/12.1.0.2/dbhome_2     Configured
    
    
  2. Erstellen Sie Oracle ASM Cluster File System-(Oracle ACFS-) Speicher für die Testmasterdatenbank.
    Verwenden Sie den Befehl dbcli create-dbstorage, um Speicher für data, redo und den Fast Recovery-Bereich (fra) zu erstellen.
    
    [root@tstmstr ~]# dbcli create-dbstorage --dataSize 1024 --dbname TSTMSTR --databaseUniqueName TSTMSTR --dbstorage ACFS
    
  3. Prüfen Sie, ob der Speicher in der Liste der Datenbankspeicherung angezeigt wird, und validieren Sie die Dateisysteme.
    Bestätigen Sie mit dem Befehl dbcli list-dbstorages, dass das Dateisystem konfiguriert ist.
    [root@tstmstr ~]# dbcli list-dbstorages
    
    ID                                       Type   DBUnique Name        Status    
    ---------------------------------------- ------ -------------------- ----------
    67123ff1-1b14-4467-87e8-3247e7ab4db2     Asm    ORCL_iad1hb          Configured
    4d2790a7-ec55-4957-a1cf-1d78ce22ce6a     Acfs   TSTMSTR              Configured
    
    ###### validate Filesystems on ACFS
    # df -h
  4. Erstellen Sie eine sys-Kennwortdatei im Verzeichnis /opt/gDBClone/.
    Dies ist eine verschlüsselte Datei mit dem SYS-Kennwort, das gDBClone lesen kann.
    [root@tstmstr ~]# cd /opt/gDBClone/
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone syspwf  -syspwf SYS.password
    [root@tstmstr gDBClone]# ls -rlt SYS.password
    -rw-rw-rw- 1 root root 33 Sept 30 04:47 SYS.password
  5. Kopieren Sie das TDE-Wallet von PRODDB in TSTMSTR.
    Erstellen Sie einen tar des TDE-Wallets auf dem Produktionsdatenbankserver, und stellen Sie das Wallet auf dem Testmasterdatenbankserver wieder her.
    ##### Create a tar of TDE wallet on Production Database Server
    [oracle@proddb ~]$ cd /opt/oracle/dcs/commonstore/wallets/tde/PRODDB_iad1df/
    [oracle@proddb PRODDB_iad1df]$ ls -rlt
    total 48
    -rw------- 1 oracle asmadmin  2555 Sept 24 06:26 ewallet_2019092406265698_defaultTag.p12
    -rw------- 1 oracle asmadmin  5819 Sept 24 06:26 ewallet.p12
    -rw------- 1 oracle asmadmin  5880 Sept 24 06:26 cwallet.sso 
    [oracle@proddb PRODDB_iad1df]$ tar cvf wallet.tar ./ewallet.p12  ./cwallet.sso
    ./ewallet.p12
    ./cwallet.sso
    [oracle@proddb PRODDB_iad1df]$ 
      
    ##### Restore TDE wallet on Test Master Database Server
    [oracle@tstmstr ~]$ cd /opt/oracle/dcs/commonstore/wallets/tde/TSTMSTR
    [oracle@tstmstr TSTMSTR]$ tar xvf /tmp/wallet.tar
    ./ewallet.p12
    ./cwallet.sso
    [oracle@tstmstr TSTMSTR]$
Der Produktionsdatenbankserver ist für Oracle Data Guard konfiguriert, und Sie können einen Testmaster erstellen.