Inhaltsverzeichnis

Anmerkungen zu einer Installation Oracle 12c mit der ASM Option unter Oracle Linux 7.2

Installiert werden soll ein Oracle 12c System mit ASM Disks unter einem Oracle Linux 7.2.

Bzgl. Real Application Cluster siehe auch ⇒ Anmerkungen zu Installation des Oracle Real Application Cluster 12c auf einem Oracle Linux 7

Für die ASM Umgebung wird eine „Standalone Grid Infrastuktur“ aufgesetzt.

Vorbereitung:

Download der notwendigen Software

Absprache mit der Projektleitung:

Ablauf der Installation:


Linux System in Grundinstallation aufsetzen

Minimales Sizing:

Mit der Oracle Linux DVD das Grundsystem als „Database Server“ aufsetzen, Englisch als Sprache wählen!

Software (Iso-Image) überprüfen

Vor jeder Installation über die MD5 Hash überprüfen ob das ISO File auch richtig heruntergeladen wurden.

In der Powershell mit Windows 10:

Get-FileHash   .\V100082-01.iso -Algorithm MD5
 
# Laut Oracle Website: 3B9D65D26576921372B1B35B03FD791D
 
Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
MD5             3B9D65D26576921372B1B35B03FD791D                                       D:\iso-images\V100082-01.iso

Passt!

Linux System für die Oracle Datenbank Umgebung einrichten

siehe dazu ⇒ Ein Oracle Linux 7 Basis System als Grundlagen für eine Oracle Clusterware und Datenbank Installation vorbereiten


Oracle User für ASM und Oracle Home einrichten

Die Oracle Datenbank Software wird unter dem User oracle, die ASM Instance unter dem User grid.

Beide User sind ja bereits in der Basis Installation eingerichtet worden.

Nun wird geprüft ob das Anmelden mit ssh möglich ist, ein SSH Key wird erzeugt und das login über localhost auf der lokalen Maschine per SSH ohne Password (mit Key) wird eingerichtet.

Hintergrund: Neue Check tools von Oracle melden sich lokal an der Maschine per SSH an, das muss ohne Password möglich sein.

ssh oracle@localhost
ssh-keygen -t rsa -N '' -q -f ~/.ssh/id_rsa
cd .ssh
cat id_rsa.pub >> authorized_keys
#nun sollte das ohne passwort klappen!
ssh oracle@localhost

Gleiches für den User grid einrichten

Oracle Verzeichnisse anlegen/prüfen

Datenbank

Die Oracle Software wird nach /opt/oracle/product/12.1.0.2/dbhome_1 installiert.

Daher muss der Oracle User auf /opt/oracle die vollen Rechte besitzen

Grid

Die ASM Software wird unter „/opt/12.1.0.2/grid“ installiert.

Inventory

Das Inventory liegt dann unter „/opt/oraInventory“ und gehört der user „grid“ und der Gruppe „oinstall“

Super für die DB User einrichten

Siehe Super zum Wechseln von Usern unter Linux verwenden


Oracle ASM Platten einrichten

Für die Verwendung der Oracle ASM Option muss der Kernel Treiber aktiv und die ASM Werkzeuge installiert sein.

Ablauf:

ASM Lib aktivieren

Als User Root

# install library falls nicht bereits durchgeführt
yum install oracleasm
yum install oracleasm-support
 
 
# Configure
oracleasm configure -i
 
Configuring the Oracle ASM library driver.
 
...
 
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Scan for Oracle ASM disks on boot (y/n) [y]: y
 
Writing Oracle ASM library driver configuration: done
 
 
# Load
 
/usr/sbin/oracleasm init
 
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
Fehler beim Laden der ASM Library
 /usr/sbin/oracleasm init
Loading module "oracleasm": failed
Unable to load module "oracleasm"

Problem: Nach dem Update wird plötzlich nicht mehr der richtige Kernel beim Boot gestartet, nur der UEK Kernel enthält auch den ASM Treiber!

Boot Kernel angeben:

grep '^menuentry' /boot/grub2/grub.cfg
 
 
#Zähler beginnt bei 0!
 
grub2-set-default 2
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
 
#Testen ob beim Boot auch der richtige Kernel markiert ist und falls nicht entsprechend den Zähler anpassen!

siehe auch https://docs.oracle.com/cd/E52668_01/E54669/html/ol7-grub2_bootloader.html

Die Platten im System einbinden

Je nach Hardware, siehe auch als Beispiel für einen Storage Anbindung ⇒ IBM DS3500 Storage im Einsatz mit SAS Karten für ein Oracle RAC 11g Cluster oder für einen ersten Test mit VMWare eine „normale“ Platte zu der VM hinzufügen.

  1. Das richtige neue Device suchen bzw. online einbinden, dazu im laufenden Betrieb den SCSI Bus neu nach der neuen Platten scannen lassen:
    ls /sys/class/scsi_host
     
    host0  host1  host2
     
    #für alle 3 Controller
    echo "- - -" > /sys/class/scsi_host/host0/scan
    echo "- - -" > /sys/class/scsi_host/host1/scan
    echo "- - -" > /sys/class/scsi_host/host2/scan
     
    #var log messages überwachen , am besten in einer zweiten Session
    tail -f /var/log/messages
     
    ..
    Dec 28 23:46:45 gpidb12casm01 kernel: sd 2:0:1:0: [sdb] Attached SCSI disk
    ..
  2. Partitionieren, fdisk /dev/sdb ( „n“, „p“, „1“, „Return“, „Return“, „p“ and „w“. )
  3. Als ASM disk registrieren
    /usr/sbin/oracleasm createdisk DATA_01 /dev/sdb1 
  4. Prüfen mit:
    /usr/sbin/oracleasm listdisks

In einer VM Umgebung ist das ein guter Zeitpunkt für einen neuen Snapshot, System herunterfahren (systemctl poweroff -i) um später davon einen neuen Clone anfertigen zu können.


Oracle 12c ASM Installation

User grid

Software auf die Maschine kopieren und auspacken

Als User Grid anmelden und die Software in ein Install Verzeichnis kopieren, MD5 Hash prüfen und auspacken:

mkdir /opt/oracle/install
 
#damit das auch der oracle user später nützen kann
chmod g+w /opt/oracle/install
 
#prüfen und auspacken
cd /opt/oracle/install
 
#Dateien V46096-01_1of2.zip und V46096-01_2of2.zip in das Install Verzeichnis kopieren
#Checksumme prüfen und mit dem zuvor gemerkten Wert vom edelivery vergleichen
 
md5sum V46096-01_1of2.zip 
d793c2ba5db9008b79077bff8d27a219  V46096-01_1of2.zip
 
md5sum V46096-02_1of.zip
0e18a9abb80427baf18f85865b1ecd5d  V46096-01_2of2.zip
 
#auspacken und zip löschen
unzip V46096-01_1of2.zip 
rm V46096-01_1of2.zip 
unzip V46096-01_2of2.zip 
rm V46096-01_2of2.zip

Installation starten

Für die ASM Instance wird ein Teil der Cluster Software (Quasi ein Standalone RAC nur für ASM) installiert.

Installer aufrufen:

cd /opt/oracle/install/grid
./runInstaller

Ablauf:

  1. Select Install Option - Install and Configure Oracle Grid Infrastructure for a Standalone Server - Next
  2. Select Product Languages - min. Englisch auswählen - Next
  3. Create ASM Disk Group
    1. Über „Change Discovery Path“ Pfad auf „/dev/oracleasm/disks“ setzen
    2. Platte auswählen, Redundancy auf „External“ setzen
    3. Next
  4. Specify ASM Password - Passwörter vergeben - Next
  5. Specify Management Options - Nichts anwählen - Next
  6. Privileged Operating System Groups - Default belassen (asmadmin, oinstall) - Next
  7. Specify Installation Location - Pfade anpassen - Oracle Base /opt/oracle und Software Location „/opt/12.1.0.2/grid“ - Next
    1. Bestätigen das Oracle Home nicht in der Base liegt
    2. Next
  8. Create Inventory - Inventory Directory „/opt/oraInventory“ - Next
  9. Root script execution configuration - Nichts auswählen - Next
  10. Perform Prerequisite Checks
  11. Summary - Response File sicheren mit „Save Response File“ - Install
  12. Install Product - Installation wird durchgeführt - Dauer ca. 4-6 Minuten
  13. Ecexute Configuration scripts
    1. Als Root User die aufgeführen Skripte der reihe nach ausführen
    2. /opt/oraInventory/orainstRoot.sh - Setzt Rechte im Inventory
    3. /opt/12.1.0.2/grid/root.sh - Setzt Rechte und legt das eigentliche Cluster an
    4. Mit „OK“ die Durchführung der Skripte bestätigen
  14. Zum Abschluss wird noch die Konfiguration der Umgebung vom Installer abgeschlossen ca. 5-7 Minuten
  15. Finish - Installation abgeschlossen - Close
User Umgebung setzen

Nach der Installation die User Umgebung, Oracle Home, SID etc. setzen.

Je nach Bedarf statisch in der .bashrc oder mit eigenen Skripten wie Arbeitsumgebung setzen und Einrichten unter Windows und Linux.

Umgebung prüfen

Cluster Umgebung:

crsctl status resource -t

ASM Instance überprüfen:

#Umgebung setzen (ORACLE_HOME und ORACLE_SID!)
sqlplus / as sysasm
select * from v$asm_disk;
Neustart testen

Nach der Installation das System neu starten um zu prüfen ob auch alles automatisch richtig gestartet wird.


Oracle 12c Datenbank Installation

User Oracle

Nach der Grid Software Installation erfolgt die Installation der Datenbank Software

User grid

Software auf die Maschine kopieren und auspacken

Als User oracle anmelden und die Software in das Install Verzeichnis kopieren, MD5 Hash prüfen und auspacken:

cd /opt/oracle/install
 
#Dateien V46095-01_1of2.zip und V46095-01_2of2.zip in das Install Verzeichnis kopieren
#Checksumme prüfen und mit dem zuvor gemerkten Wert vom edelivery vergleichen
 
md5sum V46095-01_1of2.zip 
080435a40bd4c8dff6399b231a808e9a V46095-01_1of2.zip
 
md5sum V46095-02_1of.zip
30f20ef9437442b8282ce3984546c982 V46095-01_2of2.zip
 
#auspacken und zip löschen
unzip V46095-01_1of2.zip 
rm V46095-01_1of2.zip 
unzip V46095-01_2of2.zip 
rm V46095-01_2of2.zip

Datenbank Software installieren

Installer starten

cd /opt/oracle/install/database
 ./runInstaller

Im ersten Schritt wird nur die Datenbank Software installiert, die Installation der Software erfolgt für die Enterprise Edition, Ablauf ist der gewohnte Standard ohne besondere Einstellungen.

  1. Configure Security Updates - Hacken bei „I wish“ entfernen - Next - Dialog Box mit „Yes“ bestätigen
  2. Select Installation Option - „Install database software only“ anwählen - Next
  3. Grid Installation Options - „Single instance database installation“ - Next
  4. Select Product Languages - Default - Next
  5. Select Database Edition - Default - Enterprise - Next
  6. Specify Oracle Home User - Create New Windows User
    • Usernamen wie „ORARUN“ angeben und Password hinterlegen, dieses sofort dokumentieren!
    • Next
  7. Specify Installation Location
    • Oracle Base: /opt/oracle
    • Software location: /opt/oracle/product/12.1.0.2/dbhome_1
    • Next
  8. Privileged Operating System groups - default - next
  9. Prerequisite Checks- are running
  10. Summary - „Save Responce File“ für die Dokumentation - Install
  11. Install Product - Installation läuft - ca 5 Minuten
    • Über Details gibt es mehr Informationen
    • Root Skripte ausführen
  12. Finish - mit „Close“ beenden
Oracle User Umgebung setzen

Nach der Installation die Oracle User Umgebung, Oracle Home, SID etc. setzen.

Je nach Bedarf statisch in der .bashrc oder mit eigenen Skripten wie Arbeitsumgebung setzen und Einrichten unter Windows und Linux.


12c Datenbank mit dem dbca Wizard anlegen

Mit dem „dbca“ Wizard eine Default Datenbank unter Verwendung der ASM Platte anlegen.

Vorbereitung: (als user grid!)

Als User oracle:

#Umgebung setzen ORACLE_HOME der Datenbank, keine SID
 
dbca
  1. Database Operation - Create Database - Next
  2. Creation Mode
    • DB Name angeben
    • Storage Option wählen
    • Zeichensatz und Password vergeben
    • Create as Container abwählen
    • Next
  3. Prequisite checks
  4. Summary - Finish
  5. Progress Page
  6. Finish - Text beachten! - Close

Leider hat mein System angefangen zu Swappen und damit sehr lange für die DB Installation (> 2h) benötigt. 6GB Ram in der VM scheinen für die DB + ASM etwas zu klein zu sein.

In einer produktiven Umgebung sollte man wohl den Detail Dialog durchgehen um zu viele spätere Anpassungen zu vermeiden.

Bei dieser Methode wird die Datenbank aus einen Default Backup geklont und enthält alle Optionen. Das entspricht ja nicht immer den verfügbaren Lizenz-Szenario.


Clusterware und Datenbank Patch einspielen

Nach der Installation sollte dann auch gleich der aktuelles Security Patch eingespielt werden

Siehe die Seite ⇒ http://www.oracle.com/technetwork/topics/security/alerts-086861.html , den letzten verfügbaren Patch auswählen (in unseren Fall Oktober 2015) und für die Standalone Cluster Umgebung und die Datenbank den Patch (GI PSU) auf dem Support Portal suchen. (alternativ siehe auch die „Quick Reference to Patch Numbers for Database PSU, SPU(CPU), Bundle Patches and Patchsets (Doc ID 1454618.1)“ )

Im Zuge des Patches wird auch die Java Virtuell Maschine der Datenbank, des Clusters mit gepatched.

Dieser OJVM PSU läßt sich allerdings NUR mit einer kompletten Downtime der gesamten Cluster Umgebung einspielen!

Einspielt damit zuerst wie immer der letzte OPatch Patch auf jeden Knoten (Clusterware Home und DB Home!) und dann der GI PSU für Oktober 2015 „Patch 21523260: COMBO OF OJVM COMPONENT 12.1.0.2.5 DB PSU + GI PSU 12.1.0.2.5 (OCT2015)“ im Auto Mode für alle Homes des Clusters.

Oktober 2015 Patch als User GRID in einem Verzeichnis bereitstellen

Ablauf:

Wie kann nun aber geprüft werden ob der Patch auch wirklich eingespielt wurde, mehr dazu unter http://www.pythian.com/blog/oracle-database-12c-patching-dbms_qopatch-opatch_xml_inv-and-datapatch/

Anmerkung zum nächsten Apply eines Security Patches Jan 2016


Abschluss

Autostart testen, System herunterfahren (systemctl poweroff -i) und in einer VM Umgebung einen offline Snapshot für spätere Clone ziehen

DB Console prüfen/einschalten

Testen ob mit https://<myservername>:5500/em/login ein Aufruf von Oracle Express schon möglich ist.

Falls nicht, die 12c DB Console freischalten Die Oracle 12c Datenbank mit Oracle Database Express administrieren.

Backup einrichten

Backup einrichten wie Was muss alles gesichert werden?

Ein zentrales Script für die Sicherung der Oracle Datenbank unter Linux (Single Instance / ASM Umgebungen / RAC) finden Sie hier: OraPowerShell Bash Backup Scripts

Mit diesen Scripts wird nicht nur die reine Datenbank, sondern je nach Bedarf auch weitere Einstellungen und Konfigurationen einer Real Application oder ASM Umgebung gesichert.


Quellen

Oracle: