Table of Contents
- 1 Ziel
- 2 Testumgebung
- 3 Konfiguration des Betriebssystems
- 3.1 Konnektivität sicherstellen
- 3.2 Benutzer und Gruppen anlegen
- 3.3 Limits festlegen
- 3.4 SSH konfigurieren (optional)
- 3.5 Firewall und SELinux konfigurieren
- 3.6 Speicher konfigurieren
- 3.7 Pakete installieren
- 3.8 Name Service Cache Deamon aktivieren (optional)
- 3.9 Kernel Parameter anpassen
- 3.10 Network Time Protocol konfigurieren
- 3.11 Verzeichnisstruktur anlegen
- 4 Entpacken der Software
- 5 Testen der Server mit Cluvfy (optional)
- 6 Installation der Grid Infrastructure 12c Release 1
- 7 Installation Oracle Database 12c Release 1
- 8 Zusammenfassung
- 9 Quellen
Ziel
Dieser Blogeintrag zeigt, wie man einen Oracle 12c Release 1 Real Application Cluster unter Oracle Enterprise Linux 6 konfiguriert und was die Neuerungen bei der Installation gegenüber der Vorgängerversion sind.
Testumgebung
Meine Testumgebung besteht aus den drei folgenden virtuellen Maschinen, die unter Oracle VirtualBox betrieben werden.
Name | IP-Adresse | Betriebssystem | Aufgabe |
barricade01.dba-blog.de | 192.168.200.151 | OpenFiler 2.3 | Virtuelles SAN für die ASM Disks. Zugriff per iSCSI. |
L12CR1-R1-N1.dba-blog.de | 192.168.200.224 | Oracle Enterprise Linux 6.4 (64-bit) | Erster Knoten des RACs |
L12CR1-R1-N2.dba-blog.de | 192.168.200.225 | Oracle Enterprise Linux 6.4 (64-bit) | Zweiter Knoten des RACs |
xavier.dba-blog.de | 192.168.200.190 | Windows Server 2008 R2 (64-bit) | Domaincontroller und DNS Server |
Die beiden RAC Knoten weisen die folgende Konfiguration auf.
VirtualBoix-Vorlage | Oracle (64-bit) | |||
Virtuelle CPUs | 1x | |||
Arbeitsspeicher | 5 GB | |||
Netzwerkkarten |
1x | Public | Netzwerkbrücke | |
1x | Private Interconnect | Internes Netz | ||
Lokale Festplatten | sda | 24 GB | ||
/boot | ext4 | 0,350 GB | ||
/tmp | ext4 | 2 GB | ||
– | swap | 8 GB | ||
/ | ext4 | 13,65 GB | ||
sdb | 30 GB | |||
/u01 | ext4 | 30 GB |
Für die Partitionierung habe ich den Logical Volume Manager (LVM) verwendet. Weitere Informationen zu den Systemvoraussetzungen findet man unter Grid Infrastructure Installation Guide 12c Release 1 for Linux.
Per iSCSI werden bei mir die folgenden Ziele vom OpenFiler SAN bereitgestellt.
iSCSI Target | Volume-Name | Größe | ASM-Diskgroup | Beschreibung |
iqn.2006-01.com.openfiler:tsn.rac-l12cr1-r1 | rac_l12cr1-r1_config1 | 5 GB | CONFIG | Enthält OCR, Voting File und Grid Infrastructure Management Repository |
iqn.2006-01.com.openfiler:tsn.rac-l12cr1-r1 | rac_l12cr1-r1_config2 | 5 GB | CONFIG | Enthält OCR, Voting File und Grid Infrastructure ManagementRepository |
iqn.2006-01.com.openfiler:tsn.rac-l12cr1-r1 | rac_l12cr1-r1_config3 | 5 GB | CONFIG | Enthält OCR, Voting File und Grid Infrastructure ManagementRepository |
Für weitere Informationen für die Planung des benötigten Oracle Clusterware Speichers siehe Grid Infrastructure Installation Guide 12c Release 1 for Linux.
Konfiguration des Betriebssystems
Ich werde im folgenden die Konfiguration des Betriebssystems zeigen und werde alle notwendigen Schritte manuell durchführen.
Als Alternative zur manuellen Konfiguration besteht die Möglichkeit ein Pre-Install RPM (ehemals Validated RPM) zu installieren. Bei der Installation dieses RPMs werden automatisch alle für Oracle notwendigen Pakete und Konfigurationsschritte vorgenommen. Ich persönlich verwende dieses RPM nicht, da es nur die Minimal-Konfiguration vornimmt. Zum Beispiel wird nur ein Benutzer (oracle) und zwei Gruppen (oinstall, dba) angelegt.
Bei beiden RAC Knoten wurde eine Basis-Installation durchgeführt. Zusätzlich wurde der GNOME Desktop installiert, um die spätere Installation etwas zu vereinfachen. Alternativ kann der VNC Server oder das SSH X11-Forwarding verwendet werden.
Konnektivität sicherstellen
Damit die Knoten untereinander über ihre Hostnamen kommunizieren können, passe ich im ersten Schritt die Hosts Datei an.
[root] vi /etc/hosts
# Public Interface 192.168.200.224 L12CR1-R1-N1.dba-blog.de L12CR1-R1-N1 192.168.200.225 L12CR1-R1-N2.dba-blog.de L12CR1-R1-N2 # Private Interface 10.10.10.30 L12CR1-R1-N1-priv.dba-blog.de L12CR1-R1-N1-priv 10.10.10.31 L12CR1-R1-N2-priv.dba-blog.de L12CR1-R1-N2-priv # Virtual Interface 192.168.200.226 L12CR1-R1-N1-vip.dba-blog.de L12CR1-R1-N1-vip 192.168.200.227 L12CR1-R1-N2-vip.dba-blog.de L12CR1-R1-N2-vip # SCAN (wird durch DNS aufgeloest) # 192.168.200.228 L12CR1-R1-SCAN.dba-blog.de L12CR1-R1-SCAN # 192.168.200.229 # 192.168.200.230
Der Simple Client Access Name (SCAN) wird im DNS eingetragen. Dieser Name repräsentiert den kompletten Cluster unter einem Namen. Die Clients verwenden diesen Namen um sich mit dem RAC zu verbinden. Hinter diesem Namen verbergen sich 3 IP-Adressen, die per Round-Robin ausgewählt werden.
Um zu testen, ob der SCAN korrekt aufgelöst wird, führt man einen nslookup Aufruf durch.
[root] nslookup L12CR1-R1-SCAN.dba-blog.de Server: 192.168.200.190 Address: 192.168.200.190#53 Name: L12CR1-R1-SCAN.dba-blog.de Address: 192.168.200.228 Name: L12CR1-R1-SCAN.dba-blog.de Address: 192.168.200.229 Name: L12CR1-R1-SCAN.dba-blog.de Address: 192.168.200.230
Benutzer und Gruppen anlegen
Weiter geht es mit dem Anlegen der benötigten Benutzer und Gruppen. Ich werde für die Grid Infrastructure und die Oracle Databasezwei separate Benutzer anlegen. Diese Voegehensweise entspricht dem Best-Practices Ansatz von Oracle und ermöglicht eine saubere Rechtetrennung.
Benutzer | Oracle Home |
grid | Grid Infrastructure |
oracle | Oracle Database |
Neu in 12c
Oracle hat die Job Role Separation weiter ausgebaut. Neben den Standardgruppen OSDBA und OSOPER wurden die Gruppen OSBACKUPDBA, OSDGDBA und OSKMDBA eingeführt. Die Konfiguration dieser neuen Gruppen ist optional.
Gruppe | Standardname | Rechte |
OSBACKUPDBA | backupdba | Verfügt über limitierte Rechte für das Sichern und Wiederherstellen von Datenbanken. |
OSDGDBA | dgdba | Verfügt über limitierte Rechte für das Verwalten und Überwachen von Data Guard. |
OSKMDBA | kmdba | Verfügt über limitierte Rechte für das Verwalten der Verschlüsselung. |
[root] groupadd -g 1000 oinstall [root] groupadd -g 1001 dba [root] groupadd -g 1002 oper [root] groupadd -g 1003 backupdba [root] groupadd -g 1004 dgdba [root] groupadd -g 1005 kmdba
[root] groupadd -g 1006 asmadmin [root] groupadd -g 1007 asmdba [root] groupadd -g 1008 asmoper
[root] useradd -u 1000 -g oinstall -G asmadmin,asmdba,asmoper,dba grid [root] passwd grid
[root] useradd -u 1001 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba oracle [root] passwd oracle
Limits festlegen
Für die beiden Benutzer grid und oracle müssen gewisse Limits festgelegt bzw. erhöht werden.
umask setzen
[root] su - grid [grid] vi .bash_profile umask 022 [grid] exit
[root] su - oracle [oracle] vi .bash_profile umask 022 [oracle] exit
Datei und Prozess Limits
[root] vi /etc/security/limits.conf grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
Pluggable Authentication Modules anpassen
[root] vi /etc/pam.d/login session required pam_limits.so
Standardprofil anpassen
[root] vi /etc/profile if [ $USER = "oracle" ] || [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi
SSH konfigurieren (optional)
Für die Installation der Grid Infrastructure und der Oracle Database benötigt der Oracle Universal Installer (OUI) eine passwortlose SSH Verbindung zwischen den Knoten. Diese Konfiguration kann mithilfe des OUI während der Installation durchgeführt werden. Möchte man aber zum Beispiel das Cluster Verification Utlity (Cluvfy) vor der eigentlichen Installation benutzen, muss man die passwortlose SSH Verbindung manuell einrichten.
Ich werde die Konfiguration nur für den Benutzer grid vornehmen. Im ersten Schritt werden auf beiden Knoten die benötigten Verzeichnisse und SSH Schlüssel erzeugt.
[root] su - grid [grid] mkdir ~/.ssh [grid] chmod 700 ~/.ssh [grid] ssh-keygen -t dsa
Nachdem alle Schlüssel erzeugt wurden, müssen die öffentlichen Schlüssel zur authorized_keys Datei hinzugefügt werden. Dafür startet man auf dem ersten Knoten und fügt den ersten Schlüssel hinzu.
[grid] cd ~/.ssh [grid] cat id_dsa.pub >> authorized_keys
Nun wird die authorized_keys Datei per scp auf den zweiten Knoten kopiert.
[grid] scp authorized_keys L12CR1-R1-N2:/home/grid/.ssh/
Auf dem zweiten Knoten wird der zweite öffentliche Schlüssel zur authoirzed_keys Datei hinzugefügt. Anschließend wird die finale Version dieser Datei zurück auf den ersten Knoten kopiert.
[grid] cd ~/.ssh [grid] cat id_dsa.pub >> authorized_keys [grid] scp authorized_keys node1:/home/grid/.ssh/
Zum Abschluss der Konfiguration müssen die beiden Knoten zur known_hosts Datei hinzugefügt werden. Dies geht am einfachsten, wenn man auf beiden Knoten, die folgenden ssh Aufrufe ausführt – als grid Benutzer.
ssh L12CR1-R1-N1 date ssh L12CR1-R1-N2 date
Firewall und SELinux konfigurieren
Damit es keine Probleme bei der Kommunikation der beiden Knoten untereinander gibt, sollte die Firewall deaktiviert werden.
[root] /etc/init.d/iptables stop [root] chkconfig iptables off
[root]/etc/init.d/ip6tables stop [root] chkconfig ip6tables off
Neu in 12c
In den Vorgängerversionen war es notwendig das SELinux Feature zu deaktivieren. Ab der Version 12c Release 1 kann der Standardwert enforcing beibehalten werden. Möchte man trotzdem das SELinux Feature deaktivieren, geht man wie folgt vor.
[root] vi /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Speicher konfigurieren
Dieser Schritt wird sich je nach verwendeten Speicher unterscheiden. In meinem Fall verwende ich iSCSI für den Zugriff.
yum install iscsi-initiator-utils service iscsi start iscsiadm -m discovery -t sendtargets -p 192.168.200.151 service iscsi restart
Nach dem Neustart des Dienstes werden mir die drei ASM Disks als sdc, sdd und sde angezeigt. Für jede dieser drei Disks werde ich eine Partition anlegen
[root] fdisk /dev/sdc [root] fdisk /dev/sdc [root] fdisk /dev/sdc
Kommandoeingabe: n -> p -> 1 -> Enter -> Enter -> w
Hinweis: Das Partionieren der Disks muss nur auf einem Knoten erfolgen.
Damit die Disks vom grid Benutzer verwendet werden können, müssen spezielle Rechte vergeben werden. Hierfür werde ich udev Regeln anlegen. Alternativ kann, mit vorhandener Oracle Linux Subscription, auch ASMLib verwendet werden.
Die folgenden udev Regeln müssen auf beiden Knoten angelegt werden.
[root] vi /etc/udev/rules.d/99-oracleasm.rules KERNEL=="sd*1", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id -u -g /dev/$parent", RESULT=="14f504e46494c45003879466a70542d756b66322d61733768", SYMLINK+="oracleasm/disks/config01", OWNER=="grid", GROUP=="asmadmin", MODE=="660" KERNEL=="sd*1", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id -u -g /dev/$parent", RESULT=="14f504e46494c45006869415951642d775434622d76717473", SYMLINK+="oracleasm/disks/config02", OWNER=="grid", GROUP=="asmadmin", MODE=="660" KERNEL=="sd*1", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id -u -g /dev/$parent", RESULT=="14f504e46494c45006b7a7266734b2d566a48712d5239336b", SYMLINK+="oracleasm/disks/config03", OWNER=="grid", GROUP=="asmadmin", MODE=="660"
Hinweis: Der SYMLINK kann frei gewählt werden. Ich verwende eine Struktur, die der von ASMLib ähnelt.
Die SCSI ID, die man mithilfe des RESULT Parameters vergleicht, erhält man wie folgt.
[root] /sbin/scsi_id -u -g /dev/sdc [root] sbin/scsi_id -u -g /dev/sdd [root] /sbin/scsi_id -u -g /dev/sde
Zum Schluss müssen die neuen udev Regeln eingelesen und angewendet werden.
[root] udevadm control --reload-rules [root] start_udev
Zur Überprüfung, ob die Rechte korrekt vergeben sind, geht man wie folgt vor.
[root] ls -laL /dev/oracleasm/disks/ insgesamt 0 drwxr-xr-x. 2 root root 100 9. Jul 12:03 . drwxr-xr-x. 3 root root 60 9. Jul 12:03 .. brw-rw----. 1 grid asmadmin 8, 33 9. Jul 12:03 config01 brw-rw----. 1 grid asmadmin 8, 49 9. Jul 12:03 config02 brw-rw----. 1 grid asmadmin 8, 65 9. Jul 12:03 config03
Oracle empfielt das Setzen des Dealine I/O Scheduler für ASM Disks.
[root] echo deadline > /sys/block/sdc/queue/scheduler [root] echo deadline > /sys/block/sdd/queue/scheduler [root] echo deadline > /sys/block/sde/queue/scheduler
Pakete installieren
Oracle benötigt die folgenden Pakete, um korrekt funktionieren zu können.
- binutils-2.20.51.0.2-5.11.el6 (x86_64)
- compat-libcap1-1.10-1 (x86_64)
- compat-libstdc++-33-3.2.3-69.el6 (x86_64)
- compat-libstdc++-33-3.2.3-69.el6.i686
- gcc-4.4.4-13.el6 (x86_64)
- gcc-c++-4.4.4-13.el6 (x86_64)
- glibc-2.12-1.7.el6 (i686)
- glibc-2.12-1.7.el6 (x86_64)
- glibc-devel-2.12-1.7.el6 (x86_64)
- glibc-devel-2.12-1.7.el6.i686
- ksh
- libgcc-4.4.4-13.el6 (i686)
- libgcc-4.4.4-13.el6 (x86_64)
- libstdc++-4.4.4-13.el6 (x86_64)
- libstdc++-4.4.4-13.el6.i686
- libstdc++-devel-4.4.4-13.el6 (x86_64)
- libstdc++-devel-4.4.4-13.el6.i686
- libaio-0.3.107-10.el6 (x86_64)
- libaio-0.3.107-10.el6.i686
- libaio-devel-0.3.107-10.el6 (x86_64)
- libaio-devel-0.3.107-10.el6.i686
- libXext-1.1 (x86_64)
- libXext-1.1 (i686)
- libXtst-1.0.99.2 (x86_64)
- libXtst-1.0.99.2 (i686)
- libX11-1.3 (x86_64)
- libX11-1.3 (i686)
- libXau-1.0.5 (x86_64)
- libXau-1.0.5 (i686)
- libxcb-1.5 (x86_64)
- libxcb-1.5 (i686)
- libXi-1.3 (x86_64)
- libXi-1.3 (i686)
- make-3.81-19.el6
- sysstat-9.0.4-11.el6 (x86_64)
Möchte man zudem noch per ODBC auf die Datenbanken zugreifen, sollten noch die folgenden Pakete installiert werden.
- unixODBC-2.2.14-11.el6 (64-bit)
- unixODBC-devel-2.2.14-11.el6 (64-bit)
Mithilfe von yum können alle Pakete in einem Rutsch installiert werden.
yum install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel libXext libX11 libXau libxcb libXi make sysstat unixODBC unixODBC-devel
Name Service Cache Deamon aktivieren (optional)
Damit Oracle besser mit NAS und NFS Fehlern umgehen kann, sollte der Name Service Cache Daemon aktiviert werden.
[root] yum install nscd [root] chkconfig --level 35 nscd on [root] service nscd start
Kernel Parameter anpassen
Es müssen die folgenden Kernel Parameter gesetzt werden.
[root] vi /etc/sysctl.conf kernel.shmall = 4294967296 kernel.shmmax = 4398046511104 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
Anschließend müssen die neuen Kernel Parameter eingelesen werden.
[root] /sbin/sysctl -p
Network Time Protocol konfigurieren
Bei der Synchronisierung der Serverzeiten kann man seit Oracle 11g Release 2 zwei Wege gehen. Zum einen kann man die Serverzeit ganz klassich über den NTP Dienst mit dem Internet synchronisieren und zum anderen mithilfe des Oracle Cluster Time Synchronisation Service (CTSS). Bei der Verwendung des CTSS wird einer der beiden Knoten als Masterzeitgeber festgelegt, alle anderen Knoten synchronisieren ihre Serverzeit mit diesem Masterserver.
Ich werde bei dieser Installation den CTSS verwenden. Damit dieser Dienst verwendet wird und nicht nur im Beobachtermodus läuft, muss der NTP Dienst deaktiviert werden.
[root] service ntpd stop
[root] chkconfig ntpd off [root] mv /etc/ntp.conf /etc/ntp.conf.org
Verzeichnisstruktur anlegen
Im letzten Konfigurationsschritt werden die benötigten Verzeichnisse angelegt. Die Verzeichnisstruktur orientiert sich dabei an der Optimal Flexible Architecture (OFA).
[root] mkdir -p /u01/app/grid/ [root] mkdir -p /u01/app/grid/software [root] mkdir -p /u01/app/12.1.0/grid [root] mkdir -p /u01/app/oraInventory [root] chown -R grid:oinstall /u01/app/grid/ /u01/app/12.1.0/grid /u01/app/oraInventory
[root] mkdir -p /u01/app/oracle/ [root] mkdir -p /u01/app/oracle/software [root] chown -R oracle:oinstall /u01/app/oracle/
Entpacken der Software
Ich habe die Software von E-Delivery heruntergeladen und in das Verzeichnis /u01/app/grid/software kopiert. Die Grid Infrastructure besteht aus zwei ZIP-Dateien, die nun entpackt werden.
[grid] unzip V38501-01_1of2.zip ; unzip V38501-01_2of2.zip
Installation des cvuqdisk Paketes
Für die Überprüfung der ASM Disks mit Cluvfy wird das cvuqdisk Paket benötigt, dass sich im rpm Ordner der Grid Infrastructure Installation ZIP-Datei befindet.
[root] cd /u01/app/grid/software/grid/rpm [root] CVUQDISK_GRP=oinstall; export CVUQDISK_GRP [root] rpm -iv cvuqdisk-1.0.9-1.rpm
Testen der Server mit Cluvfy (optional)
Um mögliche Fehler bei der Konfiguration früh zu erkennen, kann vor der Installation, eine Überprüfung mit Cluvfy durchgeführt werden. Dieser Schritt ist optional, da der Installer diese Vorüberprüfungen ebenfalls durchführt. Damit Cluvfy korrekt funktioniert, muss eine passwortlose SSH Verbindung zwischen den Knoten bestehen.
[grid] cd /u01/app/grid/software/grid [grid] ./runcluvfy.sh stage -pre crsinst -n L12CR1-R1-N1,L12CR1-R1-N2 -fixup -verbose
Installation der Grid Infrastructure 12c Release 1
Für das Aufsetzen eines Oracle Real Application Cluster wird die Grid Infrastructure benötigt. Der Installer wird wie folgt gestartet.
[grid] cd /u01/app/grid/software/grid [grid] ./runInstaller
Nach dem der Oracle Universal Installer gestartet ist, wird der Benutzer gefragt, ob nach Software Updates gesucht werden soll. Ich werde diesen Schritt überspringen.
Hinweis: Um nach Software Updates suchen zu können, wird ein My Oracle Support Zugang benötigt und der Server muss Zugriff auf das Internet haben.
Im zweiten Schritt wird die Installationsart festgelegt. Wir installieren und konfigurieren die Grid Infrastructure für einen Cluster.
Neu in 12c
Der nächste Schritt ist neu in 12c Release 1 und fragt den Benutzer welchen Cluster-Typ er installieren will. Die Option für den Standard-Cluster entspricht der herkömmlichen Real Application Cluster Konfiguration. Der Cluster-Typ Flex Cluster ist neu und ermöglicht einen noch höheren Grad an Skalierbarkeit und Flexibilität. Weiteres zum Flex Cluster folgen in einem späteren Blogeintrag.
Wir wählen die erweiterte Installationsart. Damit hat man den größten Einfluss auf die Konfiguration des Clusters.
Die Vorauswahl der Sprachen übernehme ich unverändert.
In Schritt 6 wird der Simple Client Access Name (SCAN) konfiguriert. Dieser wurde im DNS unter dem Namen L12CR1-R1-SCAN.dba-blog.de registriert.
Neu in 12c
Der Grid Naming Service (GNS) kann nun als gemeinsam genutzter GNS konfiguriert und von mehreren Clustern verwendet werden. In der Vorgängerversion konnte der GNS nur von einem Cluster verwendet werden.
Weiter geht es mit dem Konfigurieren der Clusterknoten. Der lokale Knoten wird automatisch hinzugefügt.
Über die Schaltfläche Hinzufügen können weitere Knoten hinzugefügt werden.
Das Gesamtergebnis sieht wie folgt aus. Über die Schaltfläche SSH-Konnektivität besteht die Möglichkeit eine passwortlose SSH Verbindung zu konfigurieren. Da ich dies schon manuell durchgeführt habe, brauche ich an dieser Stelle nichts weiter machen.
Im 8. Schritt müssen die Netzwerkschnittstellen dem richtigen Verwendungstyp zugewiesen werden.
Neu in 12c
Durch die Einführung des Flex Clusters wurden zusätzliche Verwendungstypen, wie zum Beispiel ASM + Privat, hinzugefügt.
Neu in 12c
Im nächsten Schritt wird das Grid Infrastructure Management Repository konfiguriert. Dieses Repository wurde mit 12c Release 1 neu eingeführt und ist optional. Wird dieses Repository nicht konfiguriert stehen die folgenden Komponenten nicht zur Verfügung.
- Oracle Database Quality of Service management
- Memory Guard
- Cluster Health Monitor
Hinweis: Ein späteres Konfigurieren dieses Repositories ist nicht möglich. In solch einem Fall müsste die Grid Infrastructure komplett neuinstalliert werden.
Weiter geht es in Schritt 10 mit der Auswahl der Speicheroption für die Oracle Cluster Registry (OCR) und den Voting Files.
Neu in 12c
Die Verwendung von Oracle Flex-ASM als Speicheroption ist neu hinzugekommen mit diesem Release.
Als nächstes folgt das Anlegen der ASM Diskgroup. Diese Diskgroup enthält die OCR, die Voting Files und in meinem Fall das Grid Infrastructure Management Repository. Für den Zugriff auf meine ASM Disks ändere ich den Pfad auf /dev/oracleasm/disks.
Für die normale Redundanz werden drei ASM Disks benötigt.
Im nächsten Schritt wird das Kennwort für SYS und ASMSNMP festgelegt.
Sollte das Passwort nicht den Kennwortrichtlinien von Oracle entsprechen, wird eine entsprechende Warnung angezeigt.
Das Intelligent Platform Management Interface (IPMI) zur Überwachung der Server kann ich in meiner Testumgebung nicht verwenden.
In Schritt 14 wird die Gruppenzuweisung vorgenommen.
Anschließend folgt das Definieren der Oracle Base und des Oracle Homes.
Hinweis: Der Pfad des Oracle Homes darf nicht unterhalb der Oracle Base liegen.
Im nächsten Schritt wird der Pfad für das Oracle Inventory festgelegt.
Neu in 12c
Der nächste Schritt ist neu in Oracle 12c Release 1. Die Ausführung des root.sh Skriptes kann nun automatisch erfolgen. Dafür stehen zwei Möglichkeiten zur Auswahl. Zum einen kann das root Passwort (muss auf allen Knoten identisch sein) angegeben werden und zum anderen kann ein sudo Aufruf verwendet werden.
Nach Drücken der Schaltfläche Weiter werden die Voraussetzungen überprüft. Sollte es zu Problemen kommen, wird eine Übersicht angezeigt. Für manche Probleme bietet Oracle die Möglichkeit an, ein sogenanntes Fixup Skript zu erzeugen. Dieses Shell Skript muss als root ausgeführt werden und behebt die Probleme.
Gibt es keine Probleme wird man direkt zur Zusammenfassung weitergeleitet. Es empfiehlt sich das Speichern der vorgenommenen Konfiguration als Antwortdatei (Response File).
Die Installation wird gestartet.
Bevor die automatische Ausführung des root.sh Skriptes erfolgt, wird eine Abfrage eingeblendet.
Nach Abschluss der Installation kann der Installer geschlossen werden.
Zum Abschluss der Installation kann der Status der Oracle Resourcen mithilfe von crsctl abgefragt werden.
[grid] /u01/app/12.1.0/grid/bin/crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.CONFIG.dg ONLINE ONLINE l12cr1-r1-n1 STABLE ONLINE ONLINE l12cr1-r1-n2 STABLE ora.LISTENER.lsnr ONLINE ONLINE l12cr1-r1-n1 STABLE ONLINE ONLINE l12cr1-r1-n2 STABLE ora.asm ONLINE ONLINE l12cr1-r1-n1 Started,STABLE ONLINE ONLINE l12cr1-r1-n2 Started,STABLE ora.net1.network ONLINE ONLINE l12cr1-r1-n1 STABLE ONLINE ONLINE l12cr1-r1-n2 STABLE ora.ons ONLINE ONLINE l12cr1-r1-n1 STABLE ONLINE ONLINE l12cr1-r1-n2 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE l12cr1-r1-n2 STABLE ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE l12cr1-r1-n1 STABLE ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE l12cr1-r1-n1 STABLE ora.MGMTLSNR 1 ONLINE ONLINE l12cr1-r1-n1 169.254.71.247 10.10 .10.30,STABLE ora.cvu 1 ONLINE ONLINE l12cr1-r1-n1 STABLE ora.l12cr1-r1-n1.vip 1 ONLINE ONLINE l12cr1-r1-n1 STABLE ora.l12cr1-r1-n2.vip 1 ONLINE ONLINE l12cr1-r1-n2 STABLE ora.mgmtdb 1 ONLINE ONLINE l12cr1-r1-n1 Open,STABLE ora.oc4j 1 ONLINE ONLINE l12cr1-r1-n1 STABLE ora.scan1.vip 1 ONLINE ONLINE l12cr1-r1-n2 STABLE ora.scan2.vip 1 ONLINE ONLINE l12cr1-r1-n1 STABLE ora.scan3.vip 1 ONLINE ONLINE l12cr1-r1-n1 STABLE --------------------------------------------------------------------------------
Installation Oracle Database 12c Release 1
Die Grundlage des Clusters ist durch die Oracle Grid Infrastructure geschaffen. Nun kann es mit der Installation der Oracle Database weiter gehen. Ich habe die beiden ZIP-Dateien in das Verzeichnis /u01/app/oracle/software kopiert.
[oracle] cd /u01/app/oracle/software [oracle] unzip V38500-01_1of2.zip ; unzip V38500-01_2of2.zip
Anschließend wird der Installer gestartet.
[oracle] cd /u01/app/oracle/software/database [oracle] ./runInstaller
Im ersten Schritt der Installation besteht die Möglichkeit sich für E-Mail Benachrichtigungen bei Oracle zu registrieren. Ich werde darauf verzichten.
Weiter geht es mit der Installation von Softwareupdates. Auch bei dieser Installation werde ich das Suchen nach Softwareupdates überspringen.
Ich werde lediglich die Software installieren und zu diesem Zeitpunkt noch keine Datenbank anlegen.
Die Datenbankinstallation soll als Oracle Real Application Cluster Installation durchgeführt werden.
Im nächsten Schritt werden die Knoten angezeigt auf denen die Software installiert wird. An dieser Stelle muss die passwortlose SSH Verbindung konfiguriert werden, da zum jetzigen Zeitpunkt noch keine besteht.
Über die Schaltfläche SSH-Konnektivität blendet man die zusätzlichen Optionen ein. Nach Eingabe des Passwortes und Druck auf die Setup Schaltfläche, wird die passwortlose SSH Verbindung eingerichtet.
Weiter geht es mit der Auswahl der Produktsprachen. Ich übernehme die Standardauswahl.
Anschließend muss die gewünschte Datenbank-Edition ausgewählt werden.
Im nächsten Schritt werden die Pfade für die Oracle Base und das Oracle Home definiert. Oracle gibt hier die Pfade anhand der Optimal Flexible Architecture (OFA) vor. Ich werde diese ohne Änderung übernehmen.
Danach folgt die Zuweisung der Betriebssystemgruppen.
Neu in 12c
Mit diesem Release wurden die zusätzlichen Gruppen OSBACKUPDBA, OSDGDBA und OSKMDBA eingeführt.
Im nächsten Schritt erfolgt die Überprüfung der Voraussetzungen. Sollte es keine Probleme geben, wird direkt die Zusammenfassung angezeigt.
Nach dem Druck auf die Schaltfläche Installieren startet die Installation. Im Anschluss der Installation muss das root.sh Skript auf beiden Knoten manuell ausgeführt werden.
[root#/u01/app/oracle/product/12.1.0/dbhome_1/root.sh Performing root user operation for Oracle 12c The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/12.1.0/dbhome_1 Enter the full pathname of the local bin directory: [/usr/local/bin]: The contents of "dbhome" have not changed. No need to overwrite. The contents of "oraenv" have not changed. No need to overwrite. The contents of "coraenv" have not changed. No need to overwrite. Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed.
Die Installation der Datenbanksoftware ist abgeschlossen und der Installer kann geschlossen werden.
Zusammenfassung
Die Installation der Oracle Grid Infrastructure und der Oracle Database verlief ohne größere Probleme. Der Installationsprozess wurde sinnvoll, aber nicht konsequent, erweitert – ein Beispiel ist die Ausführung der root.sh Skripte. Über weitere neuen Funktionen in Oracle 12c Release 1 schreibe ich kommenden Zeit.
Quellen
- Oracle® Grid Infrastructure Installation Guide 12c Release 1 (12.1) for Linux
- Requirements for Installing Oracle Database 12.1 on RHEL6 or OL6 64-bit (x86-64) [ID 1529864.1]
- Master Note For Oracle Database 12c Release 1 (12.1) Database/Client Installation/Upgrade/Migration Standalone Environment (Non-RAC) [ID 1520299.1]