Benutzer-Werkzeuge

Webseiten-Werkzeuge


dba:install_oracle_12c_linux_single_asm_server

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

  • Linux 7.2 (V100082-01.iso) über https://edelivery.oracle.com/
  • Oracle Datenbank 12c über www.oracle.com
    • Datenbank ( linuxamd64_12c_database_1of2.zip und linuxamd64_12c_database_2of2.zip )
    • ASM Umgebung ( linuxamd64_12c_grid_1of2.zip und linuxamd64_12c_grid_2of2.zip)

Absprache mit der Projektleitung:

  • Welche Datenbank Edition soll eingesetzt werden (Lizenz!)
  • Welcher Zeichensatz wird benötigt?

Ablauf der Installation:

  • Linux System Grundinstallation durchführen
  • Storage/Platten für ASM einbinden
  • Oracle ASM Umgebung installieren
  • Oracle Datenbank Software installieren
  • Datenbank aufsetzen
  • Aktuellen Patch einspielen
  • System optimieren

Linux System in Grundinstallation aufsetzen

Minimales Sizing:

  • 8GB Ram (ein erster Test mit 6GB war deutlich zu wenig!)
  • 40GB für das Root Filessstem und die Oracle Homes
  • ASM Platten je nach Bedarf für die Datenbank(en)

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

  • Netzwerkkarten einrichten
  • Yum Repository einrichten
  • SE Linux ausschalten
  • OS update einspielen
  • Notwendige Linux Pakete einspielen
  • Hugepages einrichten
  • Firewall Einstellungen prüfen
  • NTP prüfen/aktivieren
  • Kernel Settings überpürfen/anpassen
  • TempFs überprüfen
  • Oracle für ASM und Oracle Home einrichten
  • Oracle Verzeichnisse anlegen
  • super für die Administration der verschiedenen User einrichten
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

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

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
  • Platten im System einbinden
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!)

  • Schreibrechte auf dem Oracle Base für die oinstall Gruppe auf /opt/oracle/cfgtoollogs als grid user vergeben
    chmod g+w /opt/oracle/cfgtoollogs
  • Auf das Admin Verzeichniss Gruppe und Rechte anpassen:
    chown grid:dba /opt/oracle/admin
    chmod g+w /opt/oracle/admin
  • Auf das Admin Verzeichniss Gruppe und Rechte anpassen:
    chown grid:dba /opt/oracle/diag
    chmod g+w /opt/oracle/diag
  • Auf das Checkpoints Verzeichnis die Rechte setzen
    chmod g+w /opt/oracle/checkpoints/

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

  • Download des Patch 21523260: COMBO OF OJVM COMPONENT 12.1.0.2.5 DB PSU + GI PSU 12.1.0.2.5 (OCT2015) (p21523260_121020_Linux-x86-64.zip - 1.1 GB)
    • Überprüfen des MD5 Hashes ⇒ 0A7608E01B311BBF69AC5610F9DFBF50 um Download Fehler auszuschließen
  • Download des Patch 6880880: OPatch patch of version 12.1.0.1.10 for Oracle software releases 12.1.0.x (NOV 2015)(p6880880_121010_Linux-x86-64.zip 50.3 MB)
    • Überprüfen des MD5 Hashes ⇒ 0A7608E01B311BBF69AC5610F9DFBF50
  • Patch Dateien als User grid nach /opt/oracle/install kopieren, MD5 prüfen und auspacken
    #MD5 Prüfen
    md5sum p21523260_121020_Linux-x86-64.zip
    86c5386facd479ea49f49b5506caeb1b  p21523260_121020_Linux-x86-64.zip
     
    md5sum  p6880880_121010_Linux-x86-64.zip
    0a7608e01b311bbf69ac5610f9dfbf50  p6880880_121010_Linux-x86-64.zip
     
    #Nur erst mal den eigentlichen Patch auspacken!
    unzip p21523260_121020_Linux-x86-64.zip
    rm p21523260_121020_Linux-x86-64.zip

Ablauf:

  • OPatch in allen Oracle Homes auf dem Knoten ersetzen (auf den jeweils richtigen User achten!)
    #User root bgzl. rechte verwenden
    su - root
    cd /opt/oracle/install/
    export ORACLE_HOME=/opt/12.1.0.2/grid
    mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_orig
    mkdir $ORACLE_HOME/OPatch
    chown -R grid:oinstall $ORACLE_HOME/OPatch
    exit
    #als user grid weiterarbeiten
    su - grid
     
    cd /opt/oracle/install/
    #das Oracle Home setzen
    setdb 1
    unzip p6880880_121010_Linux-x86-64.zip -d $ORACLE_HOME
    $ORACLE_HOME/OPatch/opatch version
    # User Oracle weiter patchen
    su - oracle
    cd /opt/oracle/install/
    #das Oracle Home setzen
    setdb 3
    mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_orig
    unzip p6880880_121010_Linux-x86-64.zip -d $ORACLE_HOME
    $ORACLE_HOME/OPatch/opatch version

    als Oracle und als Grid User durchführen, beim Grid User root verwenden bzgl. Berechtigung

  • OCM response file anlegen als user grid
    export ORACLE_HOME=<my_oracle_home_path>
    $ORACLE_HOME/OPatch/ocm/bin/emocmrsp  -no_banner -output /opt/oracle/install/file.rsp
  • Alle Datenbank stoppen als grid oder oracle User mit srvctl
    #Oracle Home auf DB Home
    <ORACLE_HOME>/bin/srvctl stop database -d <db-unique-name>
  • CRS als „root“ User stoppen mit
    su -
    export ORACLE_HOME=/opt/12.1.0.2/grid
     $ORACLE_HOME/bin/crsctl stop has
  • Pürfen als root ob alles gestoppt ist
    ps uafx | grep 'oracle\|grid'
  • Als root den GI PSU einspielen
     $ORACLE_HOME/OPatch/opatchauto apply /opt/oracle/install/21523260 -ocmrf /opt/oracle/install/file.rsp -oh /opt/12.1.0.2/grid
     # Grid infrastrucutre wieder starten
     export ORACLE_HOME=/opt/12.1.0.2/grid
     $ORACLE_HOME/bin/crsctl stop has
  • Als root den DB PSU über den DB Namen einspielen
     export ORACLE_HOME=/opt/oracle/product/12.1.0.2/dbhome_1
    $ORACLE_HOME/OPatch/opatchauto apply /opt/oracle/install/21523260 -ocmrf /opt/oracle/install/file.rsp -database GPI
  • Prüfen ob alle Datenbank wieder gestartet wurden, bei Bedarf neu starten, als user grid mit gesetzten Datenbank Oracle Home
    su - grid 
    srvctl start database -d GPI
  • Änderungen am internen Code der Datenbanken in die Datenbanken laden mit datapatch, als user oracle (in meine Fall noch Single Tenant )
    #start DB in Upgrade Modus
    srvctl stop database -d gpi
    sqlplus / as sysdba
    startup upgrade
    exit
    #Patch einspielen
    cd $ORACLE_HOME/OPatch
    ./datapatch -verbose
     
     
    sqlplus / as sysdba
    shutdown
    exit
     
    srvctl start database -d GPI
     
    sqlplus / as sysdba
    select * from DBA_REGISTRY_SQLPATCH;

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

  • Versionsnummer der Datenbank wird mehrstellig von 12.1.0.2.5 nach 12.1.0.2.160119
  • Einige alten Patche sind bereits vorhanden, opatch installiert diese nicht noch mal und zeigt diverse „Fehlermeldungen“ an, installiert aber auch etwas, unbefriedigend, was wurde jetzt hier zum Schluss wirklich installiert? In einer Produktiven Umgebung Oracle Support einschalten!

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

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
"Autor: Gunther Pipperr"
dba/install_oracle_12c_linux_single_asm_server.txt · Zuletzt geändert: 2016/03/06 23:20 von Gunther Pippèrr