Skip to main content
NetApp database solutions
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

SnapCenter Oracle Clone-Lebenszyklusautomatisierung

Beitragende kevin-hoke

Allen Cao, Niyaz Mohamed, NetApp

Die Lösung bietet ein auf Ansible basierendes Automatisierungs-Toolkit zum Einrichten, Klonen und Aktualisieren von Oracle-Klondatenbanken aus einer primären Datenbank. Die primäre Datenbank kann die physische Standby-Datenbank in der Oracle Data Guard-Konfiguration sein. Die Lösung kann in einem privaten Rechenzentrum oder in der AWS-Cloud mit FSx ONTAP -Speicher in NFS- oder ASM-Konfiguration oder in der Azure-Cloud mit Azure NetApp Files -Speicher in NFS-Konfiguration eingesetzt werden.

Zweck

Kunden schätzen die FlexClone -Funktion des NetApp ONTAP -Speichers für schnelle (Minuten) Klone großer Datenbanken und zusätzliche Speichereinsparungen, wenn die Thin-Clone-Funktion für das jeweilige Speicherangebot in einem privaten Rechenzentrum oder einer öffentlichen Cloud aktiviert ist. Dieses auf Ansible basierende Toolkit automatisiert die Einrichtung, das Klonen und die Aktualisierung geklonter Oracle-Datenbanken nach Plan mithilfe der NetApp SnapCenter -Befehlszeilen-Dienstprogramme für ein optimiertes Lebenszyklusmanagement. Das Toolkit gilt für Oracle-Datenbanken, die entweder vor Ort oder in der öffentlichen Cloud (AWS oder Azure) im ONTAP -Speicher bereitgestellt und vom NetApp SnapCenter UI-Tool verwaltet werden.

Diese Lösung ist für die folgenden Anwendungsfälle geeignet:

  • Richten Sie die Konfigurationsdatei für die Oracle-Datenbankklonspezifikation ein.

  • Erstellen und aktualisieren Sie geklonte Oracle-Datenbanken nach benutzerdefiniertem Zeitplan.

Publikum

Diese Lösung ist für folgende Personen gedacht:

  • Ein DBA, der Oracle-Datenbanken mit SnapCenter verwaltet.

  • Ein Speicheradministrator, der ONTAP -Speicher mit SnapCenter verwaltet.

  • Ein Anwendungsbesitzer, der Zugriff auf die SnapCenter -Benutzeroberfläche hat.

Lizenz

Indem Sie auf den Inhalt dieses GitHub-Repositorys zugreifen, ihn herunterladen, installieren oder verwenden, stimmen Sie den Bedingungen der Lizenz zu, die in"Lizenzdatei" .

Hinweis Es gelten bestimmte Einschränkungen hinsichtlich der Erstellung und/oder Weitergabe abgeleiteter Werke mit den Inhalten in diesem GitHub-Repository. Bitte lesen Sie die Lizenzbedingungen, bevor Sie den Inhalt verwenden. Wenn Sie nicht allen Bedingungen zustimmen, dürfen Sie nicht auf die Inhalte in diesem Repository zugreifen, sie nicht herunterladen oder verwenden.

Lösungsbereitstellung

Voraussetzungen für die Bereitstellung

Details

Für die Bereitstellung sind die folgenden Voraussetzungen erforderlich.

Ansible controller:
  Ansible v.2.10 and higher
  ONTAP collection 21.19.1
  Python 3
  Python libraries:
    netapp-lib
    xmltodict
    jmespath
SnapCenter server:
  version 5.0 and up, 6.1 for Azure NetApp Files
  backup policy configured
  Source database protected with a backup policy
Oracle servers:
  Source server managed by SnapCenter (In Data Guard, this would be the physical standby serer)
  Target server managed by SnapCenter (clone DB host)
Hinweis Der Einfachheit halber sollte der Oracle-Zielserver für den Klon identisch zum Standby-Oracle-Server konfiguriert sein, beispielsweise hinsichtlich des Oracle-Software-Stacks und des Verzeichnislayouts für Oracle Home usw.

Laden Sie das Toolkit herunter

Details
git clone https://bitbucket.ngage.netapp.com/scm/ns-bb/na_oracle_clone_lifecycle.git
Hinweis Auf das Toolkit kann derzeit nur von internen NetApp Benutzern mit Bitbucket-Zugriff zugegriffen werden. Interessierte externe Benutzer fordern den Zugriff bitte bei ihrem Account-Team an oder wenden sich an das NetApp Solutions Engineering-Team.

Konfiguration der Ansible-Zielhostdatei

Details

Das Toolkit enthält eine Hosts-Datei, die die Ziele definiert, auf denen ein Ansible-Playbook ausgeführt wird. Normalerweise handelt es sich dabei um die Ziel-Oracle-Klonhosts. Es folgt eine Beispieldatei. Ein Hosteintrag enthält die IP-Adresse des Zielhosts sowie einen SSH-Schlüssel für den Zugriff eines Administratorbenutzers auf den Host, um den Befehl „Klonen“ oder „Aktualisieren“ auszuführen.

#Oracle-Klonhosts

[clone_1]
ora_04.cie.netapp.com ansible_host=10.61.180.29 ansible_ssh_private_key_file=ora_04.pem
[clone_2]
[clone_3]

Konfiguration globaler Variablen

Details

Die Ansible-Playbooks übernehmen variable Eingaben aus mehreren Variablendateien. Unten sehen Sie ein Beispiel für eine globale Variablendatei vars.yml.

# ONTAP specific config variables
# SnapCtr specific config variables
snapctr_usr: xxxxxxxx
snapctr_pwd: 'xxxxxxxx'
backup_policy: 'Oracle Full offline Backup'
# Linux specific config variables
# Oracle specific config variables

Konfiguration der Hostvariablen

Details

Hostvariablen werden im Verzeichnis host_vars mit dem Namen {{ host_name }}.yml definiert. Unten sehen Sie ein Beispiel für die Ziel-Oracle-Hostvariablendatei ora_04.cie.netapp.com.yml, die eine typische Konfiguration zeigt.

# User configurable Oracle clone db host specific parameters
# Source database to clone from
source_db_sid: NTAP1
source_db_host: ora_03.cie.netapp.com
# Clone database
clone_db_sid: NTAP1DEV
snapctr_obj_id: '{{ source_db_host }}\{{ source_db_sid }}'

Zusätzliche Oracle-Serverkonfiguration für Klonziele

Details

Auf dem geklonten Oracle-Zielserver sollte derselbe Oracle-Software-Stack installiert und gepatcht sein wie auf dem Oracle-Quellserver. Für den Oracle-Benutzer .bash_profile sind $ORACLE_BASE und $ORACLE_HOME konfiguriert. Außerdem sollte die Variable $ORACLE_HOME mit der Einstellung des Quell-Oracle-Servers übereinstimmen. Es folgt ein Beispiel.

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/NTAP1

Playbook-Ausführung

Details

Es gibt insgesamt drei Playbooks zum Ausführen des Lebenszyklus eines Oracle-Datenbankklons mit SnapCenter CLI-Dienstprogrammen.

  1. Installieren Sie die Voraussetzungen für den Ansible-Controller – nur einmal.

    ansible-playbook -i hosts ansible_requirements.yml
  2. Klonspezifikationsdatei einrichten – nur einmal.

    ansible-playbook -i hosts clone_1_setup.yml -u admin -e @vars/vars.yml
  3. Erstellen und aktualisieren Sie regelmäßig eine Klondatenbank aus Crontab mit einem Shell-Skript, um ein Aktualisierungs-Playbook aufzurufen.

    0 */4 * * * /home/admin/na_oracle_clone_lifecycle/clone_1_refresh.sh
Hinweis Ändern Sie den Benutzernamen für die SnapCenter -Konfiguration in Ihren Sudo-Benutzer.

Erstellen Sie für eine zusätzliche Klondatenbank eine separate Datei clone_n_setup.yml und clone_n_refresh.yml sowie clone_n_refresh.sh. Konfigurieren Sie die Ansible-Zielhosts und die Datei hostname.yml im Verzeichnis host_vars entsprechend.

Wo Sie weitere Informationen finden

Weitere Informationen zur Automatisierung der NetApp -Lösung finden Sie auf der folgenden Website"Automatisierung der NetApp -Lösung"