Mit Oracle erweitern wir unsere Kompetenzen und unser Dienstleistungsspektrum in Person von Rainer und Attila. In diesem Artikel nimmt uns Attila mit in seine tägliche Arbeit und erklärt uns in zwei Teilen, wie man Oracle Linux 8 mit Oracle Grid installiert. Im zweiten Teil widmen wir uns mit der Erstellung einer 21c DB Home Datenbank.
Systemanforderungen
Das System muss mindestens folgende Parameter beinhalten:
- zwei logische CPUs
- 1,5 GB Arbeitsspeicher pro CPU
- 20 GB Speicherplatz (Oracle Empfehlung)
Wir arbeiten mit folgenden Parametern:
- 8 GB RAM
- 4 CPU Cores
- 60 GB für das OS
- 30 GB für ASM (Oracle Automatic Storage Management)
Vorgehen
Wir starten den Installationsprozess in dem wir Oracle Linux 8 ISO hier herunterladen.
- Sprache auswählen
- Die mit einem Ausrufezeichen markierten Punkte müssen manuell eingestellt werden und sind Pflichtaktionen. Zuerst erstellen wir die Laufwerke mit der Schaltfläche Installation Destination.
- Wählen Sie unter Storage Configuration -> Custom aus und klicken Sie auf Done.
Die automatische Aufteilung des Installers ist nicht wirklich optimal. Das Partitionskonzept sollte bestenfalls folgende Parameter berücksichtigen:
- Den Verwendungszweck des Hosts
- Die Anzahl der User
- Oracle Software Installationen wie Grid Infrastruktur, Oracle Homes
- Speicherung der datenbankspezifischen Dateien (wie Datafiles, FRA, Backups etc.) und auch externe Storage Optionen
Empfehlung von Oracle:
/boot
: mindestens 1 GB/boot/efi
: mindextens 200 MB maximal 600 MB/
mindestens 10 GB/home
: Die allgemeine Empfehlung ist die "User Homeverzeichnisse" separat von der System Partition zu halten/swap
: Abhängig vom RAM des Systems. Empfehlung für Redhat und darauf basierende Linux Distributionen:
Wir empfehlen für die Installation der Oracle Software Binaries (RDBMS und ggf. ASM) eine separate Partition (/u01) zu verwenden.
Für unsere Konfiguration reichen folgende Partitionen:
- Unter Manual Partitioning muss man auf das “+” drücken, um einen neuen Mountpoint zu erstellen:
Folgende Kapazität legen wir dafür fest:
- 2G für boot
Wir verfahren gleich mit boot/efi
, geben hier allerdings 600 MB als Kapazitätsgrenze ein.
Für swap
legen wir 8 GB fest und für /
lassen wir die Kapazitätsgrenze weg.
Anschließend klicken wir auf done und accept changes.
- Wir geben unter User Settings das Root Passwort ein und legen einen Admin Account fest.
Das Heraufstufen auf eine Root-Shell mithilfe des Befehls su
kann für Einzelbenutzerumgebungen und Workstations gut funktionieren, da nur eine Person das System verwaltet und das Root-Benutzerkennwort kennen muss. Dies lässt sich jedoch nicht ausreichend für gemeinsam genutzte Systeme mit mehreren Benutzern und Administratoren skalieren, die unterschiedliche Zugriffsebenen erfordern.
Oracle rät dringend davon ab, das root-Passwort mit anderen Benutzern zu teilen oder Remote-Benutzern zu erlauben, sich als root-Benutzer anzumelden, was beides eine schlechte und hochriskante Sicherheitspraxis darstellt.
Für Einzelbenutzerumgebungen kann man hier oracle auch anlegen für ein shared system ist das aber nicht empfohlen. Das Preinstall Paket erstellt den Oracle User beim Installieren und konfiguriert die richtigen Gruppen.
Systemrechte können mit der Datei /etc/sudoers
vergeben werden.
- Unter Software Selection kann man einige nützliche Pakete mit installieren. Als Base Environment wählen wir Server aus. Zusätzliche Pakete und Tools sind optional und können auch später installiert werden. Nützliche Pakete sind:
- Debugging Tools
- Network File System Client
- Performance Tools
- Remote Management for Linux
- Headless Management
- System Tools
- Nun stellen wir das Netzwerk und den Hostnamen ein.
- Anschließend auf Beginn Installation drücken, damit die Installation gestartet wird. Nach Abschluss der Installation muss dann ein Reboot durchgeführt werden.
Fertig! Wir konnten mit diesen einfachen Schritten Oracle Linux 8 ganz simpel installieren. Nun geht es an die Konfiguration. Wie wir hier vorgehen, lesen Sie in den folgenden Abschnitten.
Unser Ziel ist es, Oracle Linux 8 als einen Standalone Host für die Oracle ASM und Grid Infrastructure zu konfigurieren.
1. Wir starten damit, die Netzwerkeinstellungen zu prüfen:
2. Wir erneuern den Repository Cache
Der remote Index und die Metadaten der Pakete werden lokal heruntergeladen, damit der dnf Befehl schneller ist.
Zunächst wechseln wir jedoch erst einmal auf root!
3. Oracle Vorkonfiguration mit dem Preinstall Paket
Die Konfiguration von Linux für Oracle Software kann man entweder automatisch mit dem Preinstall RPM von Oracle ausführen oder man kann die Befehle manuell ausführen. Die manuelle Installation sollte man dann verwenden, wenn die Kundenumgebung eine spezielle Konfiguration braucht.
Die Oracle Dokumentation für die manuelle Vorkonfiguration kann man hier erreichen.
Das Preinstall Paket führt folgende Schritte durch:
- Lädt und installiert extra Pakete
- Konfiguriert die OS Gruppen
- Erstellt den Oracle user
- Stellt die Kernel Parameter richtig ein
- Stellt die User Limits ein
- Ändert die Bootkonfiguration
- Stellt die netzwerkspezifischen Parameter ein
- Schaltet die tranparent hugepages und die Defragmentierung aus entsprechend der Oracle Note: 1557478.1
Wir führen das Preinstall Paket mit folgendem Befehl aus:
Wenn es im Repository nicht gefunden wird, muss man den RPM herunterladen und lokal installieren:
oracle-database-preinstall-21c
dnf install -y oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm
4. OS Update
Die Aktualisierung des Betriebssystems kann eine gewisse Zeit in Anspruch nehmen, wenn es nicht aktuell ist.
5. ASM Gruppen erstellen (optional)
Die Einrichtung verschiedener Gruppen hängt von der Sicherheitspolicy des Kunden ab. Fordert er Separation of Duties, also unterschiedliche Gruppen für die ASM-DB Administration, den ASM Betrieb und die ASM Administration, so müssen die geforderten Benutzer und Gruppen entsprechend eingerichtet werden. Hier im Beispiel werden alle Gruppen dem User oracle zugeordnet.
6. Benutzergruppen asmdba, asmoper und asmadmin dem oracle User zuordnen (optional)
Mit folgender Ausführung ordnen wir die Benutzergruppen dem oracle User zu.
7. Grid user erstellen
Der Grid-User wird nur benötigt, wenn zum Betrieb der Oracle Instanz die Datenfiles in ASM liegen sollen. Das ist i.d.R. im RAC Umfeld oder bei Verwendung von Oracle Restart (vgl. Grid Infrastructure Installation) der Fall.
Die im folgenden Codeblock verwendete Unix-interne Nummer des Grid-Users (54331) muss in Abstimmung mit eventuellen Richtlinien des Kunden gewählt werden. Oft hat der Kunde bereits Installationen auf anderen Servern. Dann sollten diese Nummern auf allen Servern gleich sein.
8. Passwörter für grid und oracle einstellen
In diesem Schritt richten wir die Passwörter für oracle und Grid ein.
9. Verzeichnisse für die Grid Infrastruktur erstellen
Das Oracle Basisverzeichnis sollte lt. Oracle Empfehlung (OFA = Optimal Flexible Architecture) als /u01/app/oracle eingerichtet werden. Unterhalb des Basisverzeichnis werden dann die verschiedenen Produkte von Oracle installiert.
Oracle Optimal Flexible Architecture (OFA)-Regeln helfen die Datenbanksoftware zu organisieren und so zu konfigurieren, dass mehrere Datenbanken unterschiedlicher Versionen, die verschiedenen Benutzern gehören, koexistieren können.
Auch hier gibt es für die zu verwendenden Verzeichnisse Empfehlungen, vgl. Installation and Upgrade Guide (Einstieg in OFA), insbesondere Installation and Upgrade Guide (speziell zur Verzeichnisstruktur) und die Beispiele unter Pfadbeispiel gemäß OFA Empfehlungen
ORACLE_BASE
mkdir -p /u01/app/oracle
ORACLE_HOME
mkdir -p /u01/app/oracle/product/21.0.0/dbhome_1
Oracle als owner für /u01 und alle Unterverzeichnisse einstellen
chown -R oracle:oinstall /u01
GRID_BASE
mkdir -p /u01/app/grid
chown -R grid:oinstall /u01/app/grid/
GRID_HOME
mkdir -p /u01/app/21.0.0/grid
chown -R grid:oinstall /u01/app/21.0.0/grid
Berechtigungen für /u01 und Unterverzeichnisse einrichten
Eigentümer und Gruppe jeweils RWX, alle anderen User R-X
chmod -R 775 /u01
10. Grid Userprofil anpassen
Das Bash Profil wird mit oraenv erweitert, damit die Umgebungsvariablen automatisch nach dem Einloggen richtig gesetzt werden.
Folgende Umgebungsvariablen in der Datei .grid_env speichern und mit cat
prüfen:
Umgebungsvariablen zum Profil hinzufügen
Mit Grid ausloggen und wieder zurückgehen, um die Variablen neu zu laden.
11. NTP
Prüfen ob die Systemuhren synchronisiert sind, sofern ein NTP Server existiert.
12. SELinux konfigurieren
Security-Enhanced Linux prüft die Berechtigungen und Zugänge der Applikationen zu Dateien. Permissive loggt nur, enforcing erzwingt die Regeln.
13. Standard Port der Firewall freischalten
Freischalten der Firewall. Oracle verwendet per Default den TCP Port 1521. Es sollte jedoch ein anderer Port verwendet werden, um die Sicherheit ein wenig zu erhöhen.
Für SSH ist es notwendig, Port 22 freizuschalten.
14. ASM Disk Partitionierung
Seit 11g empfiehlt Oracle, dass auch die CRS Dateien eine separate ASM Disk Gruppe haben sollten. Daher wird die Disk sdb (30 GB) auf drei Partitionen aufgeteilt:
- CRS - 5 GB für Cluster Ressource Dateien wie OCR (Oracle Cluster Registry, Voting Disk Datei)
- DATA - 15 GB für die Datenbank Datafiles, temporäre Dateien, redo logs und undo
- FRA - 10 GB für die Flash Recovery Area (Archivelogs und Backups)
Voting Disk
Hierbei handelt es sich nicht um eine Platte, sondern um eine Datei, in der alle Knoten eines Clusters ihre Heartbeat-Informationen registrieren. Sie enthält auch die Liste der aktiven Knoten.
Oracle Cluster Registry (OCR)
OCR ist das, was die Registrierung für Windows ist. Sie enthält Schlüsselwertpaare verschiedener Ressourcen im Cluster. Grundlegende Informationen über die Ressourcen, deren Standort, Berechtigungen, aktueller Wert, Typ, Status usw. Es fungiert auch als Bootstrap für den Cluster Synchronization Services Daemon (CSSD) für Portinformationen, Knoten und Festplatten.
FRA - Flash Recovery Area
Die FRA bietet einen zentralen Speicherort für Sicherungs- und Wiederherstellungsdateien. Oracle erstellt archivierte Logs und Flashback-Logs im Fast-Recovery-Bereich. Oracle Recovery Manager (RMAN) kann seine Backup-Sätze und Image-Kopien im Fast-Recovery-Bereich speichern und verwendet sie beim Wiederherstellen von Dateien während des Mediarecovery. Der Fast-Recovery-Bereich fungiert auch als Disk-Cache für Backups auf Band.
Oracle Database verwaltet diesen Speicher automatisch und löscht Dateien, die nicht mehr benötigt werden. Durch das regelmäßige Kopieren von Sicherungen auf Band wird im Bereich für die schnelle Wiederherstellung Speicherplatz für andere Dateien frei.
15. Udev-Regeln für die ASM Disks einstellen.
Udev ist der Device Manger für Linux.
Mit dem vorigen und letzten Schritt sind wir nun auch fertig mit der Konfiguration von Oracle Linux 8 als Standalone Host.
Mit dieser Anleitung sollten Sie nun in der Lage sein, problemlos Oracle Linux 8 zu installieren und zu konfigurieren.
Falls Sie Probleme im Installationsprozess oder auch bei der Anwendung haben, stehen Ihnen unsere Oracle Experten mit Rat und Tat zur Seite.
Vereinbaren Sie gerne ein unverbindliches Beratungsgespräch und lassen sich von unseren Spezialisten umfangreich beraten. Kontaktieren Sie uns dafür gerne über unser Kontaktformular. Wir freuen uns von Ihnen zu hören!