TR-4974: Oracle 19c im Standalone-Neustart auf AWS FSx/EC2 mit NFS/ASM
Allen Cao, Niyaz Mohamed, NetApp
Diese Lösung bietet einen Überblick und Details zur Bereitstellung und zum Schutz von Oracle-Datenbanken im AWS FSx ONTAP Speicher und in der EC2-Recheninstanz mit NFS-Protokoll und Oracle-Datenbank, die in einem eigenständigen ReStart unter Verwendung von asm als Volume-Manager konfiguriert ist.
Zweck
ASM (Automatic Storage Management) ist ein beliebter Oracle-Speichervolume-Manager, der in vielen Oracle-Installationen eingesetzt wird. Es ist außerdem die von Oracle empfohlene Speicherverwaltungslösung. Es bietet eine Alternative zu herkömmlichen Volume-Managern und Dateisystemen. Seit Oracle Version 11g wird ASM mit einer Grid-Infrastruktur und nicht mit einer Datenbank gepackt. Um Oracle ASM für die Speicherverwaltung ohne RAC zu nutzen, müssen Sie daher die Oracle Grid-Infrastruktur auf einem eigenständigen Server installieren, auch als Oracle Restart bezeichnet. Dadurch wird die ansonsten einfachere Bereitstellung einer Oracle-Datenbank sicherlich komplexer. Wie der Name jedoch schon sagt, werden bei der Bereitstellung von Oracle im Neustartmodus alle fehlgeschlagenen Oracle-Dienste nach einem Hostneustart ohne Benutzereingriff neu gestartet, wodurch ein gewisses Maß an Hochverfügbarkeit bzw. HA-Funktionalität bereitgestellt wird.
Oracle ASM wird im Allgemeinen in FC- und iSCSI-Speicherprotokollen und LUNs als Rohspeichergeräte bereitgestellt. Allerdings wird die Konfiguration von ASM auf NFS-Protokoll und NFS-Dateisystem auch von Oracle unterstützt. In dieser Dokumentation zeigen wir, wie Sie eine Oracle 19c-Datenbank mit dem NFS-Protokoll und Oracle ASM in einer Amazon FSx ONTAP -Speicherumgebung mit EC2-Compute-Instances bereitstellen. Wir zeigen Ihnen außerdem, wie Sie den NetApp SnapCenter -Dienst über die NetApp BlueXP Konsole verwenden, um Ihre Oracle-Datenbank für Entwicklung/Test oder andere Anwendungsfälle für einen speichereffizienten Datenbankbetrieb in der AWS Public Cloud zu sichern, wiederherzustellen und zu klonen.
Diese Lösung ist für die folgenden Anwendungsfälle geeignet:
-
Oracle-Datenbankbereitstellung in Amazon FSx ONTAP Speicher und EC2-Recheninstanzen mit NFS/ASM
-
Testen und Validieren einer Oracle-Workload in der öffentlichen AWS-Cloud mit NFS/ASM
-
Testen und Validieren der in AWS bereitgestellten Neustartfunktionen der Oracle-Datenbank
Publikum
Diese Lösung ist für folgende Personen gedacht:
-
Ein DBA, der Oracle in einer öffentlichen AWS-Cloud mit NFS/ASM bereitstellen möchte.
-
Ein Datenbanklösungsarchitekt, der Oracle-Workloads in der öffentlichen AWS-Cloud testen möchte.
-
Der Speicheradministrator, der eine im AWS FSx-Speicher bereitgestellte Oracle-Datenbank bereitstellen und verwalten möchte.
-
Der Anwendungsbesitzer, der eine Oracle-Datenbank in AWS FSx/EC2 einrichten möchte.
Test- und Validierungsumgebung für Lösungen
Das Testen und Validieren dieser Lösung wurde in einer AWS FSx- und EC2-Umgebung durchgeführt, die möglicherweise nicht der endgültigen Bereitstellungsumgebung entspricht. Weitere Informationen finden Sie im Abschnitt Wichtige Faktoren für die Bereitstellungsüberlegungen .
Architektur
Hardware- und Softwarekomponenten
Hardware |
||
FSx ONTAP Speicher |
Aktuelle von AWS angebotene Version |
Ein FSx HA-Cluster in derselben VPC und Verfügbarkeitszone |
EC2-Instanz für Compute |
t2.xlarge/4vCPU/16G |
Zwei EC2 T2 xlarge EC2-Instanzen, eine als primärer DB-Server und die andere als Klon-DB-Server |
Software |
||
RedHat Linux |
RHEL-8.6.0_HVM-20220503-x86_64-2-Hourly2-GP2 |
RedHat-Abonnement zum Testen bereitgestellt |
Oracle Grid-Infrastruktur |
Version 19.18 |
RU-Patch p34762026_190000_Linux-x86-64.zip angewendet |
Oracle-Datenbank |
Version 19.18 |
RU-Patch p34765931_190000_Linux-x86-64.zip angewendet |
Oracle OPatch |
Version 12.2.0.1.36 |
Neuester Patch p6880880_190000_Linux-x86-64.zip |
SnapCenter -Dienst |
Version |
v2.3.1.2324 |
Wichtige Faktoren für die Bereitstellungsüberlegungen
-
EC2-Recheninstanzen. Bei diesen Tests und Validierungen haben wir einen AWS EC2 t2.xlarge-Instanztyp für die Oracle-Datenbank-Compute-Instanz verwendet. NetApp empfiehlt die Verwendung einer EC2-Instanz vom Typ M5 als Compute-Instanz für Oracle in der Produktionsbereitstellung, da diese für Datenbank-Workloads optimiert ist. Sie müssen die EC2-Instanz entsprechend der Anzahl der vCPUs und der RAM-Menge entsprechend den tatsächlichen Arbeitslastanforderungen dimensionieren.
-
FSx-Speicher-HA-Cluster, Bereitstellung in einer oder mehreren Zonen. Bei diesen Tests und Validierungen haben wir einen FSx HA-Cluster in einer einzelnen AWS-Verfügbarkeitszone bereitgestellt. Für die Produktionsbereitstellung empfiehlt NetApp die Bereitstellung eines FSx HA-Paares in zwei verschiedenen Verfügbarkeitszonen. Ein FSx HA-Cluster wird immer in einem HA-Paar bereitgestellt, das in einem Paar aktiv-passiver Dateisysteme synchron gespiegelt wird, um Redundanz auf Speicherebene bereitzustellen. Durch die Bereitstellung in mehreren Zonen wird die Hochverfügbarkeit im Falle eines Ausfalls in einer einzelnen AWS-Zone weiter verbessert.
-
Größenbestimmung des FSx-Speicherclusters. Ein Amazon FSx ONTAP Speicherdateisystem bietet bis zu 160.000 rohe SSD-IOPS, bis zu 4 GBps Durchsatz und eine maximale Kapazität von 192 TiB. Sie können die Größe des Clusters jedoch hinsichtlich der bereitgestellten IOPS, des Durchsatzes und des Speicherlimits (mindestens 1.024 GiB) basierend auf Ihren tatsächlichen Anforderungen zum Zeitpunkt der Bereitstellung anpassen. Die Kapazität kann dynamisch im laufenden Betrieb angepasst werden, ohne die Anwendungsverfügbarkeit zu beeinträchtigen.
-
Layout der Oracle-Daten und -Protokolle. In unseren Tests und Validierungen haben wir zwei ASM-Datenträgergruppen für Daten bzw. Protokolle bereitgestellt. Innerhalb der +DATA-ASM-Datenträgergruppe haben wir vier Datenträger in einem Daten-NFS-Dateisystem-Mount-Punkt bereitgestellt. Innerhalb der +LOGS-ASM-Datenträgergruppe haben wir zwei Datenträger in einem NFS-Dateisystem-Mount-Punkt für Protokolle bereitgestellt. Für die Bereitstellung großer Datenbanken können ASM-Datenträgergruppen erstellt werden, die sich über mehrere FSx-Dateisysteme erstrecken, wobei ASM-NFS-Datenträger über mehrere auf FSx-Dateisystemen verankerte NFS-Mount-Punkte verteilt werden. Dieses spezielle Setup ist darauf ausgelegt, einen Datenbankdurchsatz von über 4 GB/s und einen Roh-SSD-IOPS-Anforderungsumfang von 160.000 zu erfüllen.
-
dNFS-Konfiguration. dNFS ist in den Oracle-Kernel integriert und steigert die Leistung von Oracle-Datenbanken deutlich, wenn Oracle auf NFS-Speicher bereitgestellt wird. dNFS ist in der Oracle-Binärdatei enthalten, aber standardmäßig nicht aktiviert. Es sollte für jede Oracle-Datenbankbereitstellung auf NFS aktiviert werden. Für die Bereitstellung mehrerer FSx-Dateisysteme für große Datenbanken sollte der dNFS-Multipfad ordnungsgemäß konfiguriert werden.
-
Oracle ASM-Redundanzstufe, die für jede von Ihnen erstellte Oracle ASM-Datenträgergruppe verwendet werden soll. Da FSx den Speicher bereits auf der FSx-Clusterebene spiegelt, sollten Sie
ONLY
Verwenden Sie externe Redundanz. Dies bedeutet, dass die Option Oracle ASM nicht erlaubt, den Inhalt der Datenträgergruppe zu spiegeln. Dies ist besonders wichtig, da NFS für die Datenspeicherung in Oracle-Datenbanken die HARD NFS-Mount-Option erfordert, die für die Spiegelung von ASM-Inhalten auf Oracle-Ebene NICHT wünschenswert ist. -
Datenbanksicherung. NetApp bietet eine SaaS-Version des SnapCenter software Softwaredienstes zum Sichern, Wiederherstellen und Klonen von Datenbanken in der Cloud, die über die NetApp BlueXP -Konsolen-UI verfügbar ist. NetApp empfiehlt die Implementierung eines solchen Dienstes, um eine schnelle (unter einer Minute) SnapShot-Sicherung, eine schnelle (wenige Minuten) Datenbankwiederherstellung und ein Datenbankklonen zu erreichen.
Lösungsbereitstellung
Der folgende Abschnitt enthält schrittweise Bereitstellungsverfahren.
Voraussetzungen für die Bereitstellung
Details
Für die Bereitstellung sind die folgenden Voraussetzungen erforderlich.
-
Ein AWS-Konto wurde eingerichtet und die erforderlichen VPC- und Netzwerksegmente wurden innerhalb Ihres AWS-Kontos erstellt.
-
Von der AWS EC2-Konsole aus müssen Sie zwei EC2-Linux-Instanzen bereitstellen, eine als primären Oracle-DB-Server und einen optionalen alternativen Klonziel-DB-Server. Weitere Einzelheiten zur Umgebungseinrichtung finden Sie im Architekturdiagramm im vorherigen Abschnitt. Überprüfen Sie auch die"Benutzerhandbuch für Linux-Instanzen" für weitere Informationen.
-
Stellen Sie über die AWS EC2-Konsole Amazon FSx ONTAP -Speicher-HA-Cluster bereit, um die Oracle-Datenbank-Volumes zu hosten. Wenn Sie mit der Bereitstellung von FSx-Speicher nicht vertraut sind, lesen Sie die Dokumentation"Erstellen von FSx ONTAP Dateisystemen" für schrittweise Anleitungen.
-
Die Schritte 2 und 3 können mit dem folgenden Terraform-Automatisierungstoolkit durchgeführt werden, das eine EC2-Instanz namens
ora_01
und ein FSx-Dateisystem namensfsx_01
. Lesen Sie die Anweisung sorgfältig durch und ändern Sie die Variablen vor der Ausführung entsprechend Ihrer Umgebung.git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
|
Stellen Sie sicher, dass Sie im Stammvolume der EC2-Instanz mindestens 50 GB zugewiesen haben, um ausreichend Speicherplatz für die Bereitstellung der Oracle-Installationsdateien zu haben. |
EC2-Instance-Kernelkonfiguration
Details
Nachdem Sie die Voraussetzungen erfüllt haben, melden Sie sich als EC2-Benutzer bei der EC2-Instanz an und wechseln Sie mit Sudo zum Root-Benutzer, um den Linux-Kernel für die Oracle-Installation zu konfigurieren.
-
Erstellen Sie ein Staging-Verzeichnis
/tmp/archive
Ordner und legen Sie die777
Erlaubnis.mkdir /tmp/archive chmod 777 /tmp/archive
-
Laden Sie die binären Oracle-Installationsdateien und andere erforderliche RPM-Dateien herunter und stellen Sie sie auf dem
/tmp/archive
Verzeichnis.In der folgenden Liste sind die Installationsdateien anzugeben, die in
/tmp/archive
auf der EC2-Instanz.[ec2-user@ip-172-30-15-58 ~]$ ls -l /tmp/archive total 10537316 -rw-rw-r--. 1 ec2-user ec2-user 19112 Mar 21 15:57 compat-libcap1-1.10-7.el7.x86_64.rpm -rw-rw-r-- 1 ec2-user ec2-user 3059705302 Mar 21 22:01 LINUX.X64_193000_db_home.zip -rw-rw-r-- 1 ec2-user ec2-user 2889184573 Mar 21 21:09 LINUX.X64_193000_grid_home.zip -rw-rw-r--. 1 ec2-user ec2-user 589145 Mar 21 15:56 netapp_linux_unified_host_utilities-7-1.x86_64.rpm -rw-rw-r--. 1 ec2-user ec2-user 31828 Mar 21 15:55 oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm -rw-rw-r-- 1 ec2-user ec2-user 2872741741 Mar 21 22:31 p34762026_190000_Linux-x86-64.zip -rw-rw-r-- 1 ec2-user ec2-user 1843577895 Mar 21 22:32 p34765931_190000_Linux-x86-64.zip -rw-rw-r-- 1 ec2-user ec2-user 124347218 Mar 21 22:33 p6880880_190000_Linux-x86-64.zip -rw-r--r-- 1 ec2-user ec2-user 257136 Mar 22 16:25 policycoreutils-python-utils-2.9-9.el8.noarch.rpm
-
Installieren Sie Oracle 19c Preinstall RPM, das die meisten Kernel-Konfigurationsanforderungen erfüllt.
yum install /tmp/archive/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
-
Laden Sie die fehlenden herunter und installieren Sie sie
compat-libcap1
in Linux 8.yum install /tmp/archive/compat-libcap1-1.10-7.el7.x86_64.rpm
-
Laden Sie von NetApp die NetApp Host-Dienstprogramme herunter und installieren Sie sie.
yum install /tmp/archive/netapp_linux_unified_host_utilities-7-1.x86_64.rpm
-
Installieren
policycoreutils-python-utils
, das in der EC2-Instanz nicht verfügbar ist.yum install /tmp/archive/policycoreutils-python-utils-2.9-9.el8.noarch.rpm
-
Installieren Sie Open JDK Version 1.8.
yum install java-1.8.0-openjdk.x86_64
-
Installieren Sie nfs-utils.
yum install nfs-utils
-
Deaktivieren Sie transparente Hugepages im aktuellen System.
echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag
Fügen Sie die folgenden Zeilen hinzu in
/etc/rc.local
deaktivierentransparent_hugepage
nach dem Neustart:# Disable transparent hugepages if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi
-
Deaktivieren Sie Selinux, indem Sie
SELINUX=enforcing
ZuSELINUX=disabled
. Sie müssen den Host neu starten, damit die Änderung wirksam wird.vi /etc/sysconfig/selinux
-
Fügen Sie die folgenden Zeilen hinzu
limit.conf
um das Dateideskriptorlimit und die Stapelgröße ohne Anführungszeichen festzulegen" "
.vi /etc/security/limits.conf "* hard nofile 65536" "* soft stack 10240"
-
Fügen Sie der EC2-Instanz Swap-Speicherplatz hinzu, indem Sie dieser Anweisung folgen:"Wie ordne ich mithilfe einer Auslagerungsdatei Speicher zu, der als Auslagerungsspeicher in einer Amazon EC2-Instanz fungiert?" Die genaue Menge an hinzuzufügendem Speicherplatz hängt von der Größe des RAM ab und kann bis zu 16 GB betragen.
-
Fügen Sie die ASM-Gruppe hinzu, die für die ASM-Sysasm-Gruppe verwendet werden soll
groupadd asm
-
Ändern Sie den Oracle-Benutzer, um ASM als sekundäre Gruppe hinzuzufügen (der Oracle-Benutzer sollte nach der RPM-Vorinstallation von Oracle erstellt worden sein).
usermod -a -G asm oracle
-
Starten Sie die EC2-Instance neu.
Bereitstellen und Exportieren von NFS-Volumes zum Mounten auf dem EC2-Instance-Host
Details
Stellen Sie drei Volumes über die Befehlszeile bereit, indem Sie sich per SSH als fsxadmin-Benutzer mit der FSx-Cluster-Verwaltungs-IP beim FSx-Cluster anmelden, um die Binär-, Daten- und Protokolldateien der Oracle-Datenbank zu hosten.
-
Melden Sie sich über SSH als Benutzer fsxadmin beim FSx-Cluster an.
ssh fsxadmin@172.30.15.53
-
Führen Sie den folgenden Befehl aus, um ein Volume für die Oracle-Binärdatei zu erstellen.
vol create -volume ora_01_biny -aggregate aggr1 -size 50G -state online -type RW -junction-path /ora_01_biny -snapshot-policy none -tiering-policy snapshot-only
-
Führen Sie den folgenden Befehl aus, um ein Volume für Oracle-Daten zu erstellen.
vol create -volume ora_01_data -aggregate aggr1 -size 100G -state online -type RW -junction-path /ora_01_data -snapshot-policy none -tiering-policy snapshot-only
-
Führen Sie den folgenden Befehl aus, um ein Volume für Oracle-Protokolle zu erstellen.
vol create -volume ora_01_logs -aggregate aggr1 -size 100G -state online -type RW -junction-path /ora_01_logs -snapshot-policy none -tiering-policy snapshot-only
-
Validieren Sie die erstellten DB-Volumes.
vol show
Es wird erwartet, dass Folgendes zurückkehrt:
FsxId02ad7bf3476b741df::> vol show (vol show) FsxId06c3c8b2a7bd56458::> vol show Vserver Volume Aggregate State Type Size Available Used% --------- ------------ ------------ ---------- ---- ---------- ---------- ----- svm_ora ora_01_biny aggr1 online RW 50GB 47.50GB 0% svm_ora ora_01_data aggr1 online RW 100GB 95.00GB 0% svm_ora ora_01_logs aggr1 online RW 100GB 95.00GB 0% svm_ora svm_ora_root aggr1 online RW 1GB 972.1MB 0% 4 entries were displayed.
Datenbankspeicherkonfiguration
Details
Importieren und richten Sie nun den FSx-Speicher für die Oracle-Grid-Infrastruktur und die Datenbankinstallation auf dem EC2-Instance-Host ein.
-
Melden Sie sich per SSH als EC2-Benutzer mit Ihrem SSH-Schlüssel und der IP-Adresse der EC2-Instanz bei der EC2-Instanz an.
ssh -i ora_01.pem ec2-user@172.30.15.58
-
Erstellen Sie das Verzeichnis /u01, um das binäre Dateisystem von Oracle zu mounten
sudo mkdir /u01
-
Hängen Sie das Binärvolume ein in
/u01
, geändert in Ihre FSx NFS-LIF-IP-Adresse. Wenn Sie den FSx-Cluster über das NetApp Automatisierungstoolkit bereitgestellt haben, wird die NFS-LIF-IP-Adresse des virtuellen FSx-Speicherservers am Ende der Ausführung der Ressourcenbereitstellung in der Ausgabe aufgeführt. Andernfalls kann es von der AWS FSx-Konsolen-Benutzeroberfläche abgerufen werden.sudo mount -t nfs 172.30.15.19:/ora_01_biny /u01 -o rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536
-
Ändern
/u01
Der Besitz des Mount-Punkts liegt beim Oracle-Benutzer und der zugehörigen primären Gruppe.sudo chown oracle:oinstall /u01
-
Erstellen Sie das Verzeichnis /oradata, um das Oracle-Datendateisystem zu mounten
sudo mkdir /oradata
-
Mounten Sie das Datenvolume auf
/oradata
, geändert in Ihre FSx NFS-LIF-IP-Adressesudo mount -t nfs 172.30.15.19:/ora_01_data /oradata -o rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536
-
Ändern
/oradata
Der Besitz des Mount-Punkts liegt beim Oracle-Benutzer und der zugehörigen primären Gruppe.sudo chown oracle:oinstall /oradata
-
Erstellen Sie das Verzeichnis /oralogs, um das Oracle-Protokolldateisystem zu mounten
sudo mkdir /oralogs
-
Hängen Sie das Protokollvolume ein in
/oralogs
, geändert in Ihre FSx NFS-LIF-IP-Adressesudo mount -t nfs 172.30.15.19:/ora_01_logs /oralogs -o rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536
-
Ändern
/oralogs
Der Besitz des Mount-Punkts liegt beim Oracle-Benutzer und der zugehörigen primären Gruppe.sudo chown oracle:oinstall /oralogs
-
Fügen Sie einen Einhängepunkt hinzu zu
/etc/fstab
.sudo vi /etc/fstab
Fügen Sie die folgende Zeile hinzu.
172.30.15.19:/ora_01_biny /u01 nfs rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536 0 0 172.30.15.19:/ora_01_data /oradata nfs rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536 0 0 172.30.15.19:/ora_01_logs /oralogs nfs rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536 0 0
-
sudo zum Oracle-Benutzer, erstellen Sie ASM-Ordner zum Speichern von ASM-Festplattendateien
sudo su su - oracle mkdir /oradata/asm mkdir /oralogs/asm
-
Erstellen Sie als Oracle-Benutzer ASM-Datenträgerdateien und ändern Sie die Anzahl so, dass sie mit der Blockgröße der Datenträgergröße übereinstimmt.
dd if=/dev/zero of=/oradata/asm/nfs_data_disk01 bs=1M count=20480 oflag=direct dd if=/dev/zero of=/oradata/asm/nfs_data_disk02 bs=1M count=20480 oflag=direct dd if=/dev/zero of=/oradata/asm/nfs_data_disk03 bs=1M count=20480 oflag=direct dd if=/dev/zero of=/oradata/asm/nfs_data_disk04 bs=1M count=20480 oflag=direct
-
Ändern Sie die Dateiberechtigung für die Datenträgerdatei auf 640
chmod 640 /oradata/asm/*
-
Erstellen Sie als Oracle-Benutzer ASM-Protokolldateien auf der Festplatte und ändern Sie die Anzahl, damit sie mit der Festplattengröße und der Blockgröße übereinstimmt.
dd if=/dev/zero of=/oralogs/asm/nfs_logs_disk01 bs=1M count=40960 oflag=direct dd if=/dev/zero of=/oralogs/asm/nfs_logs_disk02 bs=1M count=40960 oflag=direct
-
Ändern Sie die Berechtigung für Protokolldateien auf 640
chmod 640 /oralogs/asm/*
-
Starten Sie den EC2-Instance-Host neu.
Installation der Oracle Grid-Infrastruktur
Details
-
Melden Sie sich als ec2-Benutzer über SSH bei der EC2-Instanz an und aktivieren Sie die Kennwortauthentifizierung, indem Sie die Kommentarzeichen entfernen.
PasswordAuthentication yes
und dann auskommentierenPasswordAuthentication no
.sudo vi /etc/ssh/sshd_config
-
Starten Sie den SSHD-Dienst neu.
sudo systemctl restart sshd
-
Setzen Sie das Oracle-Benutzerkennwort zurück.
sudo passwd oracle
-
Melden Sie sich als Oracle Restart-Softwarebesitzerbenutzer (Oracle) an. Erstellen Sie ein Oracle-Verzeichnis wie folgt:
mkdir -p /u01/app/oracle mkdir -p /u01/app/oraInventory
-
Ändern Sie die Verzeichnisberechtigungseinstellung.
chmod -R 775 /u01/app
-
Erstellen Sie ein Grid-Home-Verzeichnis und wechseln Sie dorthin.
mkdir -p /u01/app/oracle/product/19.0.0/grid cd /u01/app/oracle/product/19.0.0/grid
-
Entpacken Sie die Grid-Installationsdateien.
unzip -q /tmp/archive/LINUX.X64_193000_grid_home.zip
-
Löschen Sie im Grid Home die
OPatch
Verzeichnis.rm -rf OPatch
-
Kopieren Sie vom Grid Home
p6880880_190000_Linux-x86-64.zip
zum grid_home und entpacken Sie es dann.cp /tmp/archive/p6880880_190000_Linux-x86-64.zip . unzip p6880880_190000_Linux-x86-64.zip
-
Von Grid Home aus überarbeiten
cv/admin/cvu_config
, Kommentar entfernen und ersetzenCV_ASSUME_DISTID=OEL5
mitCV_ASSUME_DISTID=OL7
.vi cv/admin/cvu_config
-
Bereiten Sie ein
gridsetup.rsp
Datei für die stille Installation und platzieren Sie die rsp-Datei im/tmp/archive
Verzeichnis. Die RSP-Datei sollte die Abschnitte A, B und G mit den folgenden Informationen abdecken:INVENTORY_LOCATION=/u01/app/oraInventory oracle.install.option=HA_CONFIG ORACLE_BASE=/u01/app/oracle oracle.install.asm.OSDBA=dba oracle.install.asm.OSOPER=oper oracle.install.asm.OSASM=asm oracle.install.asm.SYSASMPassword="SetPWD" oracle.install.asm.diskGroup.name=DATA oracle.install.asm.diskGroup.redundancy=EXTERNAL oracle.install.asm.diskGroup.AUSize=4 oracle.install.asm.diskGroup.disks=/oradata/asm/nfs_data_disk01,/oradata/asm/nfs_data_disk02,/oradata/asm/nfs_data_disk03,/oradata/asm/nfs_data_disk04 oracle.install.asm.diskGroup.diskDiscoveryString=/oradata/asm/*,/oralogs/asm/* oracle.install.asm.monitorPassword="SetPWD" oracle.install.asm.configureAFD=false
-
Melden Sie sich als Root-Benutzer bei der EC2-Instanz an.
-
Installieren
cvuqdisk-1.0.10-1.rpm
.rpm -ivh /u01/app/oracle/product/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
-
Melden Sie sich als Oracle-Benutzer bei der EC2-Instanz an und extrahieren Sie den Patch im
/tmp/archive
Ordner.unzip p34762026_190000_Linux-x86-64.zip
-
Starten Sie vom Grid-Home /u01/app/oracle/product/19.0.0/grid als Oracle-Benutzer
gridSetup.sh
für die Installation der Netzinfrastruktur../gridSetup.sh -applyRU /tmp/archive/34762026/ -silent -responseFile /tmp/archive/gridsetup.rsp
Ignorieren Sie die Warnungen zu falschen Gruppen für die Grid-Infrastruktur. Wir verwenden einen einzelnen Oracle-Benutzer zur Verwaltung von Oracle Restart, dies ist also zu erwarten.
-
Führen Sie als Root-Benutzer die folgenden Skripts aus:
/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/19.0.0/grid/root.sh
-
Führen Sie als Oracle-Benutzer den folgenden Befehl aus, um die Konfiguration abzuschließen:
/u01/app/oracle/product/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/archive/gridsetup.rsp -silent
-
Erstellen Sie als Oracle-Benutzer die LOGS-Datenträgergruppe.
bin/asmca -silent -sysAsmPassword 'yourPWD' -asmsnmpPassword 'yourPWD' -createDiskGroup -diskGroupName LOGS -disk '/oralogs/asm/nfs_logs_disk*' -redundancy EXTERNAL -au_size 4
-
Validieren Sie als Oracle-Benutzer die Grid-Dienste nach der Installationskonfiguration.
bin/crsctl stat res -t + Name Target State Server State details Local Resources ora.DATA.dg ONLINE ONLINE ip-172-30-15-58 STABLE ora.LISTENER.lsnr ONLINE ONLINE ip-172-30-15-58 STABLE ora.LOGS.dg ONLINE ONLINE ip-172-30-15-58 STABLE ora.asm ONLINE ONLINE ip-172-30-15-58 Started,STABLE ora.ons OFFLINE OFFLINE ip-172-30-15-58 STABLE Cluster Resources ora.cssd ONLINE ONLINE ip-172-30-15-58 STABLE ora.diskmon OFFLINE OFFLINE STABLE ora.driver.afd ONLINE ONLINE ip-172-30-15-58 STABLE ora.evmd ONLINE ONLINE ip-172-30-15-58 STABLE
Oracle-Datenbankinstallation
Details
-
Melden Sie sich als Oracle-Benutzer an und heben Sie die
$ORACLE_HOME
Und$ORACLE_SID
wenn es eingestellt ist.unset ORACLE_HOME unset ORACLE_SID
-
Erstellen Sie das Oracle DB-Stammverzeichnis und wechseln Sie dorthin.
mkdir /u01/app/oracle/product/19.0.0/db1 cd /u01/app/oracle/product/19.0.0/db1
-
Entpacken Sie die Oracle DB-Installationsdateien.
unzip -q /tmp/archive/LINUX.X64_193000_db_home.zip
-
Löschen Sie aus der Datenbank-Startseite die
OPatch
Verzeichnis.rm -rf OPatch
-
Kopieren Sie von DB Home
p6880880_190000_Linux-x86-64.zip
Zugrid_home
, und entpacken Sie es dann.cp /tmp/archive/p6880880_190000_Linux-x86-64.zip . unzip p6880880_190000_Linux-x86-64.zip
-
Von DB Home aus überarbeiten
cv/admin/cvu_config
, und entfernen Sie die Kommentarzeichen und ersetzen SieCV_ASSUME_DISTID=OEL5
mitCV_ASSUME_DISTID=OL7
.vi cv/admin/cvu_config
-
Aus dem
/tmp/archive
Entpacken Sie den DB 19.18 RU-Patch.unzip p34765931_190000_Linux-x86-64.zip
-
Bereiten Sie die DB-Silent-Install-RSP-Datei vor in
/tmp/archive/dbinstall.rsp
Verzeichnis mit den folgenden Werten:oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oper oracle.install.db.OSBACKUPDBA_GROUP=oper oracle.install.db.OSDGDBA_GROUP=dba oracle.install.db.OSKMDBA_GROUP=dba oracle.install.db.OSRACDBA_GROUP=dba oracle.install.db.rootconfig.executeRootScript=false
-
Führen Sie vom DB1-Home-Server /u01/app/oracle/product/19.0.0/db1 aus eine stille, reine Software-DB-Installation aus.
./runInstaller -applyRU /tmp/archive/34765931/ -silent -ignorePrereqFailure -responseFile /tmp/archive/dbinstall.rsp
-
Führen Sie als Root-Benutzer die
root.sh
Skript nach der reinen Softwareinstallation./u01/app/oracle/product/19.0.0/db1/root.sh
-
Erstellen Sie als Oracle-Benutzer die
dbca.rsp
Datei mit den folgenden Einträgen:gdbName=db1.demo.netapp.com sid=db1 createAsContainerDatabase=true numberOfPDBs=3 pdbName=db1_pdb useLocalUndoForPDBs=true pdbAdminPassword="yourPWD" templateName=General_Purpose.dbc sysPassword="yourPWD" systemPassword="yourPWD" dbsnmpPassword="yourPWD" storageType=ASM diskGroupName=DATA characterSet=AL32UTF8 nationalCharacterSet=AL16UTF16 listeners=LISTENER databaseType=MULTIPURPOSE automaticMemoryManagement=false totalMemory=8192
Legen Sie den Gesamtspeicher basierend auf dem verfügbaren Speicher im EC2-Instance-Host fest. Oracle verteilt 75 % der totalMemory
zur DB-Instance SGA oder zum Puffercache. -
Starten Sie als Oracle-Benutzer die DB-Erstellung mit dbca.
bin/dbca -silent -createDatabase -responseFile /tmp/archive/dbca.rsp output: Prepare for db operation 7% complete Registering database with Oracle Restart 11% complete Copying database files 33% complete Creating and starting Oracle instance 35% complete 38% complete 42% complete 45% complete 48% complete Completing Database Creation 53% complete 55% complete 56% complete Creating Pluggable Databases 60% complete 64% complete 69% complete 78% complete Executing Post Configuration Actions 100% complete Database creation complete. For details check the logfiles at: /u01/app/oracle/cfgtoollogs/dbca/db1. Database Information: Global Database Name:db1.demo.netapp.com System Identifier(SID):db1 Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/db1/db1.log" for further details.
-
Validieren Sie als Oracle-Benutzer Oracle. Starten Sie die HA-Dienste nach der DB-Erstellung neu.
[oracle@ip-172-30-15-58 db1]$ ../grid/bin/crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE ip-172-30-15-58 STABLE ora.LISTENER.lsnr ONLINE ONLINE ip-172-30-15-58 STABLE ora.LOGS.dg ONLINE ONLINE ip-172-30-15-58 STABLE ora.asm ONLINE ONLINE ip-172-30-15-58 Started,STABLE ora.ons OFFLINE OFFLINE ip-172-30-15-58 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE ip-172-30-15-58 STABLE ora.db1.db 1 ONLINE ONLINE ip-172-30-15-58 Open,HOME=/u01/app/o racle/product/19.0.0 /db1,STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.evmd 1 ONLINE ONLINE ip-172-30-15-58 STABLE -------------------------------------------------------------------------------- [oracle@ip-172-30-15-58 db1]$
-
Legen Sie den Oracle-Benutzer fest
.bash_profile
.vi ~/.bash_profile
-
Fügen Sie folgende Einträge hinzu:
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1 export ORACLE_SID=db1 export PATH=$PATH:$ORACLE_HOME/bin alias asm='export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid;export ORACLE_SID=+ASM;export PATH=$PATH:$ORACLE_HOME/bin'
-
Validieren Sie die erstellte CDB/PDB.
. ~/.bash_profile sqlplus / as sysdba SQL> select name, open_mode from v$database; NAME OPEN_MODE DB1 READ WRITE SQL> select name from v$datafile; NAME +DATA/DB1/DATAFILE/system.256.1132176177 +DATA/DB1/DATAFILE/sysaux.257.1132176221 +DATA/DB1/DATAFILE/undotbs1.258.1132176247 +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.265.1132177009 +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.266.1132177009 +DATA/DB1/DATAFILE/users.259.1132176247 +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.267.1132177009 +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/system.271.1132177853 +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/sysaux.272.1132177853 +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/undotbs1.270.1132177853 +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/users.274.1132177871 NAME +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/system.276.1132177871 +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/sysaux.277.1132177871 +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/undotbs1.275.1132177871 +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/users.279.1132177889 +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/system.281.1132177889 +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/sysaux.282.1132177889 +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/undotbs1.280.1132177889 +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/users.284.1132177907 19 rows selected. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED 2 PDB$SEED READ ONLY NO 3 DB1_PDB1 READ WRITE NO 4 DB1_PDB2 READ WRITE NO 5 DB1_PDB3 READ WRITE NO SQL>
-
Wechseln Sie als Oracle-Benutzer zum Stammverzeichnis der Oracle-Datenbank /u01/app/oracle/product/19.0.0/db1 und aktivieren Sie dNFS
cd /u01/app/oracle/product/19.0.0/db1 mkdir rdbms/lib/odm cp lib/libnfsodm19.so rdbms/lib/odm/
-
Konfigurieren Sie die Datei oranfstab in ORACLE_HOME
vi $ORACLE_HOME/dbs/oranfstab add following entries: server: fsx_01 local: 172.30.15.58 path: 172.30.15.19 nfs_version: nfsv3 export: /ora_01_biny mount: /u01 export: /ora_01_data mount: /oradata export: /ora_01_logs mount: /oralogs
-
Melden Sie sich als Oracle-Benutzer von SQLPlus aus bei der Datenbank an und legen Sie die Größe und den Speicherort der DB-Wiederherstellung auf die Datenträgergruppe +LOGS fest.
. ~/.bash_profile sqlplus / as sysdba alter system set db_recovery_file_dest_size = 80G scope=both; alter system set db_recovery_file_dest = '+LOGS' scope=both;
-
Aktivieren Sie den Archivprotokollmodus und starten Sie die Oracle DB-Instance neu
shutdown immediate; startup mount; alter database archivelog; alter database open; alter system switch logfile;
-
Überprüfen Sie den DB-Protokollmodus und dNFS nach dem Neustart der Instanz
SQL> select name, log_mode from v$database; NAME LOG_MODE --------- ------------ DB1 ARCHIVELOG SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- fsx_01 /ora_01_data fsx_01 /ora_01_biny fsx_01 /ora_01_logs
-
Oracle ASM validieren
[oracle@ip-172-30-15-58 db1]$ asm [oracle@ip-172-30-15-58 db1]$ sqlplus / as sysasm SQL*Plus: Release 19.0.0.0.0 - Production on Tue May 9 20:39:39 2023 Version 19.18.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.18.0.0.0 SQL> set lin 200 SQL> col path form a30 SQL> select name, path, header_status, mount_status, state from v$asm_disk; NAME PATH HEADER_STATU MOUNT_S STATE ------------------------------ ------------------------------ ------------ ------- -------- DATA_0002 /oradata/asm/nfs_data_disk01 MEMBER CACHED NORMAL DATA_0000 /oradata/asm/nfs_data_disk02 MEMBER CACHED NORMAL DATA_0001 /oradata/asm/nfs_data_disk03 MEMBER CACHED NORMAL DATA_0003 /oradata/asm/nfs_data_disk04 MEMBER CACHED NORMAL LOGS_0000 /oralogs/asm/nfs_logs_disk01 MEMBER CACHED NORMAL LOGS_0001 /oralogs/asm/nfs_logs_disk02 MEMBER CACHED NORMAL 6 rows selected. SQL> select name, state, ALLOCATION_UNIT_SIZE, TOTAL_MB, FREE_MB from v$asm_diskgroup; NAME STATE ALLOCATION_UNIT_SIZE TOTAL_MB FREE_MB ------------------------------ ----------- -------------------- ---------- ---------- DATA MOUNTED 4194304 81920 73536 LOGS MOUNTED 4194304 81920 81640 This completes Oracle 19c version 19.18 Restart deployment on an Amazon FSx ONTAP and EC2 compute instance with NFS/ASM. If desired, NetApp recommends relocating the Oracle control file and online log files to the +LOGS disk group.
Option zur automatisierten Bereitstellung
NetApp wird ein vollständig automatisiertes Toolkit zur Lösungsbereitstellung mit Ansible veröffentlichen, um die Implementierung dieser Lösung zu erleichtern. Bitte überprüfen Sie später die Verfügbarkeit des Toolkits. Nach der Veröffentlichung wird hier ein Link veröffentlicht.
Sichern, Wiederherstellen und Klonen von Oracle-Datenbanken mit SnapCenter Service
Derzeit wird die Oracle-Datenbank mit NFS- und ASM-Speicheroption nur vom herkömmlichen SnapCenter Server-UI-Tool unterstützt. Siehe"Hybrid Cloud-Datenbanklösungen mit SnapCenter" Weitere Informationen zum Sichern, Wiederherstellen und Klonen von Oracle-Datenbanken mit dem NetApp SnapCenter UI-Tool.
Wo Sie weitere Informationen finden
Weitere Informationen zu den in diesem Dokument beschriebenen Informationen finden Sie in den folgenden Dokumenten und/oder auf den folgenden Websites:
-
Installieren von Oracle Grid Infrastructure für einen eigenständigen Server mit einer neuen Datenbankinstallation
-
Installieren und Konfigurieren der Oracle-Datenbank mithilfe von Antwortdateien
-
Amazon FSx ONTAP
-
Amazon EC2