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.

Schrittweises Bereitstellungsverfahren

Beitragende kevin-hoke

Auf dieser Seite wird die automatisierte Methode zum Bereitstellen von Oracle19c auf NetApp ONTAP -Speicher beschrieben.

AWX/Tower-Bereitstellung Oracle 19c-Datenbank

1. Erstellen Sie das Inventar, die Gruppe, die Hosts und die Anmeldeinformationen für Ihre Umgebung

In diesem Abschnitt wird die Einrichtung von Inventar, Gruppen, Hosts und Zugangsdaten in AWX/Ansible Tower beschrieben, die die Umgebung für die Nutzung automatisierter NetApp -Lösungen vorbereiten.

  1. Konfigurieren Sie das Inventar.

    1. Navigieren Sie zu Ressourcen → Bestände → Hinzufügen und klicken Sie auf Bestand hinzufügen.

    2. Geben Sie den Namen und die Organisationsdetails ein und klicken Sie auf „Speichern“.

    3. Klicken Sie auf der Seite „Inventare“ auf das erstellte Inventar.

    4. Wenn Inventarvariablen vorhanden sind, fügen Sie sie in das Variablenfeld ein.

    5. Navigieren Sie zum Untermenü „Gruppen“ und klicken Sie auf „Hinzufügen“.

    6. Geben Sie den Namen der Gruppe für ONTAP ein, fügen Sie die Gruppenvariablen (sofern vorhanden) ein und klicken Sie auf „Speichern“.

    7. Wiederholen Sie den Vorgang für eine andere Gruppe für Oracle.

    8. Wählen Sie die erstellte ONTAP Gruppe aus, gehen Sie zum Untermenü „Hosts“ und klicken Sie auf „Neuen Host hinzufügen“.

    9. Geben Sie die IP-Adresse der ONTAP -Clusterverwaltungs-IP ein, fügen Sie die Hostvariablen (falls vorhanden) ein und klicken Sie auf „Speichern“.

    10. Dieser Vorgang muss für die Verwaltungs-IP/den Verwaltungs-Hostnamen der Oracle-Gruppe und des/der Oracle-Hosts wiederholt werden.

  2. Erstellen Sie Anmeldeinformationstypen. Bei Lösungen mit ONTAP müssen Sie den Anmeldeinformationstyp so konfigurieren, dass er mit den Benutzernamen- und Kennworteingaben übereinstimmt.

    1. Navigieren Sie zu „Administration“ → „Anmeldeinformationstypen“ und klicken Sie auf „Hinzufügen“.

    2. Geben Sie den Namen und die Beschreibung ein.

    3. Fügen Sie den folgenden Inhalt in die Eingabekonfiguration ein:

fields:
  - id: username
    type: string
    label: Username
  - id: password
    type: string
    label: Password
    secret: true
  - id: vsadmin_password
    type: string
    label: vsadmin_password
    secret: true
  1. Fügen Sie den folgenden Inhalt in die Injector-Konfiguration ein:

extra_vars:
  password: '{{ password }}'
  username: '{{ username }}'
  vsadmin_password: '{{ vsadmin_password }}'
  1. Konfigurieren Sie die Anmeldeinformationen.

    1. Navigieren Sie zu Ressourcen → Anmeldeinformationen und klicken Sie auf Hinzufügen.

    2. Geben Sie den Namen und die Organisationsdetails für ONTAP ein.

    3. Wählen Sie den benutzerdefinierten Anmeldeinformationstyp aus, den Sie für ONTAP erstellt haben.

    4. Geben Sie unter „Typdetails“ den Benutzernamen, das Kennwort und das vsadmin_password ein.

    5. Klicken Sie auf „Zurück zu Anmeldeinformationen“ und dann auf „Hinzufügen“.

    6. Geben Sie den Namen und die Organisationsdetails für Oracle ein.

    7. Wählen Sie den Anmeldeinformationstyp des Computers aus.

    8. Geben Sie unter „Typdetails“ den Benutzernamen und das Kennwort für die Oracle-Hosts ein.

    9. Wählen Sie die richtige Methode zur Rechteerweiterung aus und geben Sie den Benutzernamen und das Kennwort ein.

2. Erstellen eines Projekts

  1. Gehen Sie zu Ressourcen → Projekte und klicken Sie auf Hinzufügen.

    1. Geben Sie den Namen und die Organisationsdetails ein.

    2. Wählen Sie im Feld „Anmeldeinformationstyp der Quellcodeverwaltung“ die Option „Git“ aus.

    3. eingeben https://github.com/NetApp-Automation/na_oracle19c_deploy.git als Quellcodeverwaltungs-URL.

    4. Klicken Sie auf Speichern.

    5. Das Projekt muss möglicherweise gelegentlich synchronisiert werden, wenn sich der Quellcode ändert.

3. Konfigurieren Sie Oracle host_vars

Die in diesem Abschnitt definierten Variablen werden auf jeden einzelnen Oracle-Server und jede einzelne Oracle-Datenbank angewendet.

  1. Geben Sie Ihre umgebungsspezifischen Parameter in das folgende eingebettete Oracle-Hostvariablen- oder Host_vars-Formular ein.

Hinweis Die blauen Elemente müssen geändert werden, damit sie zu Ihrer Umgebung passen.

Host-VARS-Konfiguration

######################################################################
##############      Host Variables Configuration        ##############
######################################################################

# Add your Oracle Host
ansible_host: "10.61.180.15"

# Oracle db log archive mode: true - ARCHIVELOG or false - NOARCHIVELOG
log_archive_mode: "true"

# Number of pluggable databases per container instance identified by sid. Pdb_name specifies the prefix for container database naming in this case cdb2_pdb1, cdb2_pdb2, cdb2_pdb3
oracle_sid: "cdb2"
pdb_num: "3"
pdb_name: "{{ oracle_sid }}_pdb"

# CDB listener port, use different listener port for additional CDB on same host
listener_port: "1523"

# CDB is created with SGA at 75% of memory_limit, MB. Consider how many databases to be hosted on the node and how much ram to be allocated to each DB. The grand total SGA should not exceed 75% available RAM on node.
memory_limit: "5464"

# Set "em_configuration: DBEXPRESS" to install enterprise manager express and choose a unique port from 5500 to 5599 for each sid on the host.
# Leave them black if em express is not installed.
em_configuration: "DBEXPRESS"
em_express_port: "5501"

# {{groups.oracle[0]}} represents first Oracle DB server as defined in Oracle hosts group [oracle]. For concurrent multiple Oracle DB servers deployment, [0] will be incremented for each additional DB server. For example,  {{groups.oracle[1]}}" represents DB server 2, "{{groups.oracle[2]}}" represents DB server 3 ... As a good practice and the default, minimum three volumes is allocated to a DB server with corresponding /u01, /u02, /u03 mount points, which store oracle binary, oracle data, and oracle recovery files respectively. Additional volumes can be added by click on "More NFS volumes" but the number of volumes allocated to a DB server must match with what is defined in global vars file by volumes_nfs parameter, which dictates how many volumes are to be created for each DB server.
host_datastores_nfs:
  - {vol_name: "{{groups.oracle[0]}}_u01", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u02", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u03", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  1. Füllen Sie alle Variablen in die blauen Felder aus.

  2. Klicken Sie nach Abschluss der Variableneingabe auf die Schaltfläche „Kopieren“ im Formular, um alle Variablen zu kopieren, die an AWX oder Tower übertragen werden sollen.

  3. Navigieren Sie zurück zu AWX oder Tower, gehen Sie zu Ressourcen → Hosts und wählen Sie die Oracle-Serverkonfigurationsseite aus und öffnen Sie sie.

  4. Klicken Sie auf der Registerkarte „Details“ auf „Bearbeiten“ und fügen Sie die kopierten Variablen aus Schritt 1 in das Feld „Variablen“ unter der Registerkarte „YAML“ ein.

  5. Klicken Sie auf Speichern.

  6. Wiederholen Sie diesen Vorgang für alle weiteren Oracle-Server im System.

4. Konfigurieren globaler Variablen

Die in diesem Abschnitt definierten Variablen gelten für alle Oracle-Hosts, Datenbanken und den ONTAP Cluster.

  1. Geben Sie Ihre umgebungsspezifischen Parameter in das folgende eingebettete globale Variablen- oder Vars-Formular ein.

Hinweis Die blauen Elemente müssen geändert werden, damit sie zu Ihrer Umgebung passen.
#######################################################################
###### Oracle 19c deployment global user configuration variables ######
######  Consolidate all variables from ontap, linux and oracle   ######
#######################################################################

###########################################
### Ontap env specific config variables ###
###########################################

#Inventory group name
#Default inventory group name - 'ontap'
#Change only if you are changing the group name either in inventory/hosts file or in inventory groups in case of AWX/Tower
hosts_group: "ontap"

#CA_signed_certificates (ONLY CHANGE to 'true' IF YOU ARE USING CA SIGNED CERTIFICATES)
ca_signed_certs: "false"

#Names of the Nodes in the ONTAP Cluster
nodes:
 - "AFF-01"
 - "AFF-02"

#Storage VLANs
#Add additional rows for vlans as necessary
storage_vlans:
   - {vlan_id: "203", name: "infra_NFS", protocol: "NFS"}
More Storage VLANsEnter Storage VLANs details

#Details of the Data Aggregates that need to be created
#If Aggregate creation takes longer, subsequent tasks of creating volumes may fail.
#There should be enough disks already zeroed in the cluster, otherwise aggregate create will zero the disks and will take long time
data_aggregates:
  - {aggr_name: "aggr01_node01"}
  - {aggr_name: "aggr01_node02"}

#SVM name
svm_name: "ora_svm"

# SVM Management LIF Details
svm_mgmt_details:
  - {address: "172.21.91.100", netmask: "255.255.255.0", home_port: "e0M"}

# NFS storage parameters when data_protocol set to NFS. Volume named after Oracle hosts name identified by mount point as follow for oracle DB server 1. Each mount point dedicates to a particular Oracle files: u01 - Oracle binary, u02 - Oracle data, u03 - Oracle redo. Add additional volumes by click on "More NFS volumes" and also add the volumes list to corresponding host_vars as host_datastores_nfs variable. For multiple DB server deployment, additional volumes sets needs to be added for additional DB server. Input variable "{{groups.oracle[1]}}_u01", "{{groups.oracle[1]}}_u02", and "{{groups.oracle[1]}}_u03" as vol_name for second DB server. Place volumes for multiple DB servers alternatingly between controllers for balanced IO performance, e.g. DB server 1 on controller node1, DB server 2 on controller node2 etc. Make sure match lif address with controller node.

volumes_nfs:
  - {vol_name: "{{groups.oracle[0]}}_u01", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u02", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u03", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}

#NFS LIFs IP address and netmask

nfs_lifs_details:
  - address: "172.21.94.200" #for node-1
    netmask: "255.255.255.0"
  - address: "172.21.94.201" #for node-2
    netmask: "255.255.255.0"

#NFS client match

client_match: "172.21.94.0/24"

###########################################
### Linux env specific config variables ###
###########################################

#NFS Mount points for Oracle DB volumes

mount_points:
  - "/u01"
  - "/u02"
  - "/u03"

# Up to 75% of node memory size divided by 2mb. Consider how many databases to be hosted on the node and how much ram to be allocated to each DB.
# Leave it blank if hugepage is not configured on the host.

hugepages_nr: "1234"

# RedHat subscription username and password

redhat_sub_username: "xxx"
redhat_sub_password: "xxx"

####################################################
### DB env specific install and config variables ###
####################################################

db_domain: "your.domain.com"

# Set initial password for all required Oracle passwords. Change them after installation.

initial_pwd_all: "netapp123"
  1. Füllen Sie alle Variablen in den blauen Feldern aus.

  2. Klicken Sie nach Abschluss der Variableneingabe auf die Schaltfläche „Kopieren“ im Formular, um alle an AWX oder Tower zu übertragenden Variablen in die folgende Jobvorlage zu kopieren.

5. Konfigurieren und starten Sie die Jobvorlage.

  1. Erstellen Sie die Jobvorlage.

    1. Navigieren Sie zu Ressourcen → Vorlagen → Hinzufügen und klicken Sie auf Jobvorlage hinzufügen.

    2. Geben Sie den Namen und die Beschreibung ein

    3. Wählen Sie den Jobtyp aus. „Ausführen“ konfiguriert das System basierend auf einem Playbook und „Überprüfen“ führt einen Probelauf eines Playbooks durch, ohne das System tatsächlich zu konfigurieren.

    4. Wählen Sie das entsprechende Inventar, Projekt, Playbook und die Anmeldeinformationen für das Playbook aus.

    5. Wählen Sie all_playbook.yml als auszuführendes Standard-Playbook aus.

    6. Fügen Sie die aus Schritt 4 kopierten globalen Variablen in das Feld „Vorlagenvariablen“ unter der Registerkarte „YAML“ ein.

    7. Aktivieren Sie im Feld „Job-Tags“ das Kontrollkästchen „Beim Start auffordern“.

    8. Klicken Sie auf Speichern.

  2. Starten Sie die Jobvorlage.

    1. Navigieren Sie zu Ressourcen → Vorlagen.

    2. Klicken Sie auf die gewünschte Vorlage und dann auf „Starten“.

    3. Wenn Sie beim Start zur Eingabe von Job-Tags aufgefordert werden, geben Sie requirements_config ein. Möglicherweise müssen Sie auf die Zeile „Job-Tag erstellen“ unter „requirements_config“ klicken, um das Job-Tag einzugeben.

Hinweis requirements_config stellt sicher, dass Sie über die richtigen Bibliotheken zum Ausführen der anderen Rollen verfügen.
  1. Klicken Sie auf „Weiter“ und dann auf „Starten“, um den Auftrag zu starten.

  2. Klicken Sie auf „Anzeigen“ → „Jobs“, um die Jobausgabe und den Fortschritt zu überwachen.

  3. Wenn Sie beim Start zur Eingabe von Job-Tags aufgefordert werden, geben Sie ontap_config ein. Möglicherweise müssen Sie direkt unter ontap_config auf die Zeile „Job-Tag erstellen“ klicken, um das Job-Tag einzugeben.

  4. Klicken Sie auf „Weiter“ und dann auf „Starten“, um den Auftrag zu starten.

  5. Klicken Sie auf Ansicht → Jobs, um die Jobausgabe und den Fortschritt zu überwachen

  6. Nachdem die Rolle ontap_config abgeschlossen ist, führen Sie den Prozess für linux_config erneut aus.

  7. Navigieren Sie zu Ressourcen → Vorlagen.

  8. Wählen Sie die gewünschte Vorlage aus und klicken Sie dann auf „Starten“.

  9. Wenn Sie beim Start zur Eingabe des Job-Tag-Typs in linux_config aufgefordert werden, müssen Sie möglicherweise die Zeile „Job-Tag erstellen“ direkt unter linux_config auswählen, um das Job-Tag einzugeben.

  10. Klicken Sie auf „Weiter“ und dann auf „Starten“, um den Auftrag zu starten.

  11. Wählen Sie „Ansicht“ → „Jobs“, um die Jobausgabe und den Fortschritt zu überwachen.

  12. Nachdem die Rolle „linux_config“ abgeschlossen ist, führen Sie den Prozess für „oracle_config“ erneut aus.

  13. Gehen Sie zu Ressourcen → Vorlagen.

  14. Wählen Sie die gewünschte Vorlage aus und klicken Sie dann auf „Starten“.

  15. Wenn Sie beim Start zur Eingabe von Job-Tags aufgefordert werden, geben Sie oracle_config ein. Möglicherweise müssen Sie die Zeile „Job-Tag erstellen“ direkt unter „oracle_config“ auswählen, um das Job-Tag einzugeben.

  16. Klicken Sie auf „Weiter“ und dann auf „Starten“, um den Auftrag zu starten.

  17. Wählen Sie „Ansicht“ → „Jobs“, um die Jobausgabe und den Fortschritt zu überwachen.

6. Bereitstellen einer zusätzlichen Datenbank auf demselben Oracle-Host

Der Oracle-Teil des Playbooks erstellt pro Ausführung eine einzelne Oracle-Containerdatenbank auf einem Oracle-Server. Führen Sie die folgenden Schritte aus, um zusätzliche Containerdatenbanken auf demselben Server zu erstellen.

  1. Überarbeiten Sie die host_vars-Variablen.

    1. Gehen Sie zurück zu Schritt 2 – Konfigurieren Sie Oracle host_vars.

    2. Ändern Sie die Oracle-SID in eine andere Namenszeichenfolge.

    3. Ändern Sie den Listener-Port auf eine andere Nummer.

    4. Ändern Sie den EM Express-Port in eine andere Nummer, wenn Sie EM Express installieren.

    5. Kopieren Sie die überarbeiteten Hostvariablen und fügen Sie sie in das Feld „Oracle-Hostvariablen“ auf der Registerkarte „Hostkonfigurationsdetails“ ein.

  2. Starten Sie die Bereitstellungsauftragsvorlage nur mit dem Tag „oracle_config“.

  3. Melden Sie sich als Oracle-Benutzer beim Oracle-Server an und führen Sie die folgenden Befehle aus:

    ps -ef | grep ora
    Hinweis Hier werden Oracle-Prozesse aufgelistet, wenn die Installation wie erwartet abgeschlossen und Oracle DB gestartet wurde.
  4. Melden Sie sich bei der Datenbank an, um die Datenbankkonfigurationseinstellungen und die mit den folgenden Befehlssätzen erstellten PDBs zu überprüfen.

    [oracle@localhost ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Thu May 6 12:52:51 2021
    Version 19.8.0.0.0
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.8.0.0.0
    
    SQL>
    
    SQL> select name, log_mode from v$database;
    NAME      LOG_MODE
    --------- ------------
    CDB2      ARCHIVELOG
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 CDB2_PDB1                      READ WRITE NO
             4 CDB2_PDB2                      READ WRITE NO
             5 CDB2_PDB3                      READ WRITE NO
    
    col svrname form a30
    col dirname form a30
    select svrname, dirname, nfsversion from v$dnfs_servers;
    
    SQL> col svrname form a30
    SQL> col dirname form a30
    SQL> select svrname, dirname, nfsversion from v$dnfs_servers;
    
    SVRNAME                        DIRNAME                        NFSVERSION
    ------------------------------ ------------------------------ ----------------
    172.21.126.200                 /rhelora03_u02                 NFSv3.0
    172.21.126.200                 /rhelora03_u03                 NFSv3.0
    172.21.126.200                 /rhelora03_u01                 NFSv3.0

    Dies bestätigt, dass dNFS ordnungsgemäß funktioniert.

  5. Stellen Sie über den Listener eine Verbindung zur Datenbank her, um die Oracle-Listener-Konfiguration mit dem folgenden Befehl zu überprüfen. Wechseln Sie zum entsprechenden Listener-Port und Datenbankdienstnamen.

    [oracle@localhost ~]$ sqlplus system@//localhost:1523/cdb2_pdb1.cie.netapp.com
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Thu May 6 13:19:57 2021
    Version 19.8.0.0.0
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    Enter password:
    Last Successful login time: Wed May 05 2021 17:11:11 -04:00
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.8.0.0.0
    
    SQL> show user
    USER is "SYSTEM"
    SQL> show con_name
    CON_NAME
    CDB2_PDB1

    Dies bestätigt, dass der Oracle-Listener ordnungsgemäß funktioniert.

Wo bekomme ich Hilfe?

Wenn Sie Hilfe mit dem Toolkit benötigen, treten Sie bitte dem bei"Slack-Kanal für den Community-Support von NetApp Solution Automation" und suchen Sie nach dem Kanal zur Lösungsautomatisierung, um Ihre Fragen oder Anfragen zu posten.