linux:linux_7_system_grundeinstellungen_oracle_datenbank_rac
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | Nächste ÜberarbeitungBeide Seiten der Revision | ||
linux:linux_7_system_grundeinstellungen_oracle_datenbank_rac [2019/12/08 19:58] – [Shared Memory File System Mount on Linux] gpipperr | linux:linux_7_system_grundeinstellungen_oracle_datenbank_rac [2019/12/08 20:00] – [Tmp File Verhalten] gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====Ein Oracle Linux 7 Basis System als Grundlagen für eine Oracle Clusterware und Datenbank Installation vorbereiten==== | ||
+ | |||
+ | **Update auf Linux 7.5 - Juni 2018** | ||
+ | |||
+ | Zum Einsatz kommt Oracle Linux 7.0, ab 01.12.2015 ein Oracle Linux 7.2, ab 07.2018 ein Oracle 7.5. | ||
+ | |||
+ | Diese Software kann hier heruntergeladen werden: https:// | ||
+ | |||
+ | Unterstützt wird zur Zeit für die DB (03.2015) ein Oracle Linux 7 mit dem Unbreakable Enterprise Kernel 3.8.13-33.el7uek.x86_64 oder später. | ||
+ | |||
+ | ==== Grundinstallation ==== | ||
+ | |||
+ | Für eine minimale Installation ist min 8GB RAM, ca. 40-50GB Harddisk, 1 bis 2 Netzwerk Karten (2 Karten für Cluster) und eine CPU notwendig um eine VMWare Maschine aufzusetzen. Weniger Speicher ist nicht zu empfehlen, gerade für eine ASM oder Oracle Cluster Umgebung ist hier großzügig zu planen! | ||
+ | |||
+ | |||
+ | |||
+ | Normale Grundinstallation als minimaler Server, keine weiteren Packte ausgewählt. | ||
+ | |||
+ | Als Sprache aber " | ||
+ | |||
+ | Die Platte wird manuell konfiguriert, | ||
+ | (500MB boot, 4GB Swap, Rest für root "/" | ||
+ | |||
+ | Nicht die Option " | ||
+ | |||
+ | |||
+ | Für die reine Oracle Installation werden dabei ca. ~6GB für die DB Software am Plattenplatz benötigt. | ||
+ | |||
+ | Ablauf nach der Grundinstallation: | ||
+ | * Netzwerk Konfiguration durchführen | ||
+ | * Yum Repository einrichten | ||
+ | * SE Linux ausschalten | ||
+ | * OS update einspielen | ||
+ | * Notwendige Linux Pakete einspielen | ||
+ | * Hugepages einrichten | ||
+ | * Firewall Einstellungen prüfen | ||
+ | * NTP prüfen/ | ||
+ | * Kernel Settings überpürfen/ | ||
+ | * TempFs überprüfen | ||
+ | * Oracle für ASM und Oracle Home einrichten | ||
+ | * Oracle Verzeichnisse anlegen | ||
+ | * Super für die Administration der verschiedenen User bei Bedarf einrichten | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | === VMWare Setup === | ||
+ | |||
+ | Kommt VMWare zum Einsatz, ist die Installation der Tools zu empfehlen. | ||
+ | |||
+ | siehe: http:// | ||
+ | |||
+ | Tools installieren, | ||
+ | <code bash> | ||
+ | yum install perl | ||
+ | yum install net-tools | ||
+ | |||
+ | mount /dev/cdrom /mnt | ||
+ | |||
+ | cp / | ||
+ | |||
+ | cd /tmp | ||
+ | tar xvfz VMwareTools-9.6.2-1688356.tar.gz | ||
+ | |||
+ | cd / | ||
+ | |||
+ | | ||
+ | |||
+ | #Nur das Notwendigstes auswählen, ist ja kein X installiert | ||
+ | |||
+ | reboot | ||
+ | |||
+ | </ | ||
+ | |||
+ | Bei Fehler< | ||
+ | <code bash> | ||
+ | ln -s / | ||
+ | </ | ||
+ | |||
+ | |||
+ | == Alternativ nur die Open-VMWare Tools== | ||
+ | |||
+ | see: http:// | ||
+ | |||
+ | <code bash> | ||
+ | yum install open-vm-tools | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ====Basis Konfiguration==== | ||
+ | |||
+ | Nach der Grundinstallation folgende Schritte durchführen. | ||
+ | |||
+ | |||
+ | === Netzwerk Konfiguration === | ||
+ | |||
+ | In Linux 7 haben sich einige Änderungen am Netzwerk Stack ergeben, | ||
+ | |||
+ | |||
+ | Um Probleme mit älteren Werkzeugen und vor diesen Verfahren entwickeltere Software aus den Weg zu gehen empfehle ich die alte Namenskonvention wieder zu aktivieren: [[linux: | ||
+ | |||
+ | |||
+ | Um die alten Kommandos wieder zu erhalten, kann aber über "yum info net-tools" | ||
+ | |||
+ | Im ersten Schritte versuchen wir mal mit dem neuen auszukommen, | ||
+ | |||
+ | Bei der Installation der 12c Rac Clusters ergibt sich aber beim root.sh eine Fehlermeldung (sh: / | ||
+ | |||
+ | Für ein Oracle Cluster werden mindestens 2 Netzwerkkarten benötigt, eine (eth0) für die Public IP Adresse und das VIP Interface und den Scan Listener und min. eine Karte (eth1) für den lokalen Interconnect zwischen den Maschinen. | ||
+ | |||
+ | In einer RAC Umgebung können aber auch mehrere Interfaces für den Interconnect zwecks Ausfallsicherheit konfiguriert werden. | ||
+ | |||
+ | * Bzgl. Netzwerk Konfiguration für ein Oracle Cluster siehe auch [[dba: | ||
+ | |||
+ | Status: | ||
+ | <code bash> | ||
+ | ip link show | ||
+ | </ | ||
+ | |||
+ | Unter Linux 7 wird eine Netzwerkkarte aber nicht mehr so benannt wie zuvor unter Unix gewohnt, um Probleme damit aus den Weg zu gehen, den Interface Name wieder auf den alten eth0/1 Standard konfigurieren: | ||
+ | * [[linux: | ||
+ | |||
+ | == Alte Tools nachinstallieren== | ||
+ | |||
+ | <code bash> | ||
+ | yum install net-tools | ||
+ | </ | ||
+ | |||
+ | ==Netzwerk IP Adresse für eth0 und eth1 hinterlegen und prüfen== | ||
+ | <code bash> | ||
+ | #Was ist bereits wie eingerichet | ||
+ | pifconfig | ||
+ | |||
+ | #Bei Bedarf entsprechend konfigurieren | ||
+ | cd / | ||
+ | # Dateien für ifcfg-eth* entsprechend anlegen | ||
+ | |||
+ | # auf einen Netzmask Eintrag achten! | ||
+ | PREFIX0=24 | ||
+ | |||
+ | </ | ||
+ | |||
+ | NOZEROCONF Parameter setzen: | ||
+ | |||
+ | <code bash> | ||
+ | vi / | ||
+ | NOZEROCONF=yes | ||
+ | </ | ||
+ | |||
+ | ==Hostname prüfen und bei Bedarf neu setzen== | ||
+ | |||
+ | <code bash> | ||
+ | #über Kommando Werkzeug | ||
+ | hostnamectl set-hostname racdb01.pipperr.local | ||
+ | # Neue Session starten und püfen | ||
+ | nmcli general hostname | ||
+ | # Konfiguration prüfen | ||
+ | cat / | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==Nameserver konfigurieren== | ||
+ | |||
+ | * siehe auch [[raspberry: | ||
+ | |||
+ | ==Nameserver auf dem Host konfigurieren== | ||
+ | <code bash> | ||
+ | yum install bind-utils | ||
+ | |||
+ | vi / | ||
+ | search pipperr.local | ||
+ | nameserver 192.168.178.100 | ||
+ | |||
+ | #prüfen ob auf den Netzwerk Interface auch der gleiche Nameserver konfiguriert ist! | ||
+ | vi / | ||
+ | |||
+ | DNS1=192.168.178.100 | ||
+ | |||
+ | systemctl restart network | ||
+ | |||
+ | #prüfen | ||
+ | host racdb01-vip.pipperr.local | ||
+ | dig -x 10.10.10.192 | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ==Servername in der Host Datei hinterlegen== | ||
+ | |||
+ | <code bash> | ||
+ | vi / | ||
+ | |||
+ | 10.10.10.190 raccb01.pipperr.local raccb01 | ||
+ | </ | ||
+ | |||
+ | ==avahi-daemon ausschalten== | ||
+ | avahi-daemon | ||
+ | <code bash> | ||
+ | systemctl disable avahi-daemon | ||
+ | </ | ||
+ | | ||
+ | | ||
+ | ==IP V6 ausschalten== | ||
+ | |||
+ | <code bash> | ||
+ | vi / | ||
+ | # disable ipv6 | ||
+ | net.ipv6.conf.all.disable_ipv6 = 1 | ||
+ | net.ipv6.conf.default.disable_ipv6 = 1 | ||
+ | net.ipv6.conf.lo.disable_ipv6 = 1 | ||
+ | |||
+ | #aktivieren | ||
+ | sysctl -p | ||
+ | |||
+ | |||
+ | #Testen mit: | ||
+ | cat / | ||
+ | 1 | ||
+ | # 1=Ausgeschaltet! | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ===Update=== | ||
+ | |||
+ | Yum Repository prüfen, Konfiguration bei Bedarf anlegen: | ||
+ | < | ||
+ | # cd / | ||
+ | |||
+ | wget http:// | ||
+ | </ | ||
+ | | ||
+ | Update mit: | ||
+ | <code bash> | ||
+ | yum update | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Tools nachinstallieren === | ||
+ | |||
+ | **Nmon** | ||
+ | |||
+ | Top Ersatz mit einfacher Bedienung und vielen Featuren. | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | <code bash> | ||
+ | cp nmon16e_x86_rhel72 /sbin/nmon | ||
+ | chmod 777 /sbin/nmon | ||
+ | </ | ||
+ | |||
+ | **zip** | ||
+ | |||
+ | <code bash> | ||
+ | yum install zip unzip | ||
+ | </ | ||
+ | |||
+ | **Linux Tools wie lsof / finger ** | ||
+ | |||
+ | Offene Datei/ | ||
+ | |||
+ | Per default in der Minimal Server Installation anscheinend nicht mehr dabei. | ||
+ | <code bash> | ||
+ | yum install lsof finger strace | ||
+ | </ | ||
+ | |||
+ | **Für 12c R2 ** | ||
+ | |||
+ | Für Installer und clufy rpm: | ||
+ | <code bash> | ||
+ | yum install smartmontools psmisc | ||
+ | </ | ||
+ | |||
+ | ** Screen ** | ||
+ | |||
+ | siehe auch [[linux: | ||
+ | |||
+ | Falls kein screen verfügbar ist, nachinstallieren mit: | ||
+ | <code bash> | ||
+ | yum install screen | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===Firewall und SELinux=== | ||
+ | |||
+ | Da in einer reine Testumgebung keine FW notwendig ist, diese deaktivieren | ||
+ | | ||
+ | ==Firewall unter linux7 deaktivieren== | ||
+ | |||
+ | <code bash> | ||
+ | systemctl disable firewalld | ||
+ | systemctl stop firewalld | ||
+ | </ | ||
+ | |||
+ | ==SELinux deaktiviert== | ||
+ | <code bash> | ||
+ | [root@nosqldb01 ~]# | ||
+ | vi / | ||
+ | .. | ||
+ | SELINUX=disabled | ||
+ | .. | ||
+ | |||
+ | reboot | ||
+ | |||
+ | #testen | ||
+ | getenforce | ||
+ | |||
+ | Disabled | ||
+ | |||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | === SSH optimieren, automatisches X Forwarding | ||
+ | |||
+ | Um Timeouts zu vermeiden | ||
+ | <code bash> | ||
+ | vi / | ||
+ | LoginGraceTime 0 | ||
+ | </ | ||
+ | |||
+ | |||
+ | Bei folgenden Fehler beim Login über z.B. MoboTerm: | ||
+ | |||
+ | * "x11 forwarding request failed on channel 0" | ||
+ | |||
+ | <code bash> | ||
+ | yum install xauth | ||
+ | |||
+ | vi / | ||
+ | |||
+ | X11Forwarding yes | ||
+ | X11UseLocalhost no | ||
+ | |||
+ | #restrict to ipv4 | ||
+ | AddressFamily inet | ||
+ | |||
+ | |||
+ | |||
+ | systemctl restart sshd | ||
+ | |||
+ | # abmelden und erneut per ssh anmelden | ||
+ | # Meldung " / | ||
+ | # prüfen ob nun diese Datei anlegt wurde | ||
+ | ls -la / | ||
+ | |||
+ | OK! | ||
+ | |||
+ | </ | ||
+ | |||
+ | Tipp: Zum Debuggen von SSL den Schalter -v verwenden wie "ssh -v localhost" | ||
+ | |||
+ | Keine Banner oder ähnliches setzen! Das stört erheblich die Installation! | ||
+ | |||
+ | siehe auch bzgl. ipv6 https:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | === Name Service Cache Daemon=== | ||
+ | |||
+ | Für eine Grid Umgebung: Den Name Service Cache Daemon aktiveren | ||
+ | |||
+ | <code bash> | ||
+ | yum install nscd | ||
+ | systemctl enable nscd | ||
+ | </ | ||
+ | |||
+ | |||
+ | Mit dem Befehl "nscd -i hosts" kann der Cache bei Bedarf neu geladen werden. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === Tmp === | ||
+ | |||
+ | Prüfen das ausreichend tmp Platz vorhanden ist, min. 1GB | ||
+ | |||
+ | Falls das Tmp Verzeichnis als eigene Disk gemountet ist, darauf achten das " | ||
+ | |||
+ | <code bash> | ||
+ | cd /tmp | ||
+ | df . -h | ||
+ | cat /etc/fstab | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === Ntp === | ||
+ | |||
+ | Zeitdienst prüfen und einrichten | ||
+ | |||
+ | Leider wird CHRONY von Linux 7 nicht unterstützt und muss deaktiviert werden | ||
+ | <code bash> | ||
+ | systemctl stop chronyd | ||
+ | systemctl disable chronyd | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Siehe auch => [[linux: | ||
+ | |||
+ | Auf die " -x" Option achten! | ||
+ | |||
+ | <code bash> | ||
+ | yum install ntp | ||
+ | |||
+ | # Optionen setzen | ||
+ | # | ||
+ | vi / | ||
+ | |||
+ | OPTIONS=" | ||
+ | |||
+ | |||
+ | # Set the ntp Settings | ||
+ | # | ||
+ | vi / | ||
+ | |||
+ | #server | ||
+ | # My local ntp Server | ||
+ | server 192.168.178.1 | ||
+ | |||
+ | #rights | ||
+ | # The rac public network can use the ntp | ||
+ | restrict 10.10.10.0 mask 255.255.255.0 nomodify notrap | ||
+ | |||
+ | |||
+ | #check your local nameserver and set the time | ||
+ | ntpdate 192.168.178.1 | ||
+ | |||
+ | #activate the service | ||
+ | |||
+ | systemctl enable ntpd | ||
+ | systemctl start ntpd | ||
+ | systemctl status ntpd | ||
+ | |||
+ | |||
+ | ntpq -p | ||
+ | |||
+ | |||
+ | |||
+ | #bei fehlern prüfen mit: | ||
+ | journalctl -xn | ||
+ | |||
+ | </ | ||
+ | |||
+ | Fehler: | ||
+ | <code bash> | ||
+ | Mar 11 20:51:29 racdb01 ntpd[2330]: 0.0.0.0 c617 07 panic_stop -3601 s; set clock manually within 1000 s. | ||
+ | </ | ||
+ | Lösung: "--g, --panicgate" | ||
+ | |||
+ | |||
+ | Auf allen Knoten im Cluster prüfen das diese Ausgabe die selben Werte anzeigt: | ||
+ | <code bash> | ||
+ | ntpq -pn | ||
+ | </ | ||
+ | Der Installer prüft das später ab! | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | === Software Packte nachinstallieren === | ||
+ | |||
+ | Mit Oracle 7.2 ist wieder das oracle-rdbms-server-12cR1-preinstall.x86_64 vorhanden. | ||
+ | |||
+ | <code bash> | ||
+ | 12c | ||
+ | yum install oracle-rdbms-server-12cR1-preinstall.x86_64 | ||
+ | |||
+ | 18c | ||
+ | ? | ||
+ | </ | ||
+ | |||
+ | ==Vor 7.2== | ||
+ | |||
+ | Leider ist für Linux 7.0 das " | ||
+ | |||
+ | Zusätzliche Pakete (diese oder eine höhere Version!): | ||
+ | * binutils-2.23.52.0.1-12.el7.x86_64 | ||
+ | * compat-libcap1-1.10-3.el7.x86_64 | ||
+ | * gcc-4.8.2-3.el7.x86_64 | ||
+ | * gcc-c++-4.8.2-3.el7.x86_64 | ||
+ | * glibc-2.17-36.el7.i686 | ||
+ | * glibc-2.17-36.el7.x86_64 | ||
+ | * glibc-devel-2.17-36.el7.i686 | ||
+ | * glibc-devel-2.17-36.el7.x86_64 | ||
+ | * ksh | ||
+ | * libaio-0.3.109-9.el7.i686 | ||
+ | * libaio-0.3.109-9.el7.x86_64 | ||
+ | * libaio-devel-0.3.109-9.el7.i686 | ||
+ | * libaio-devel-0.3.109-9.el7.x86_64 | ||
+ | * libgcc-4.8.2-3.el7.i686 | ||
+ | * libgcc-4.8.2-3.el7.x86_64 | ||
+ | * libstdc++-4.8.2-3.el7.i686 | ||
+ | * libstdc++-4.8.2-3.el7.x86_64 | ||
+ | * libstdc++-devel-4.8.2-3.el7.i686 | ||
+ | * libstdc++-devel-4.8.2-3.el7.x86_64 | ||
+ | * libXi-1.7.2-1.el7.i686 | ||
+ | * libXi-1.7.2-1.el7.x86_64 | ||
+ | * libXtst-1.2.2-1.el7.i686 | ||
+ | * libXtst-1.2.2-1.el7.x86_64 | ||
+ | * make-3.82-19.el7.x86_64 | ||
+ | * sysstat-10.1.5-1.el7.x86_64 | ||
+ | * compat-libstdc++-33.x86_64 | ||
+ | * nfs-utils-1.2.3-15yum | ||
+ | |||
+ | Alternativ noch für ODBC: | ||
+ | * unixODBC | ||
+ | * unixODBC-devel | ||
+ | |||
+ | |||
+ | Alle auf einmal installieren: | ||
+ | <code bash> | ||
+ | #64bit | ||
+ | yum install | ||
+ | |||
+ | #32bit | ||
+ | yum install glibc.i686 glibc-devel.i686 libaio.i686 libaio-devel.i686 libgcc.i686 libstdc++.i686 libstdc++-devel.i686 libXi.i686 libXtst.i686 unixODBC.i686 unixODBC-devel.i686 | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===Oracle User Grid und Oracle anlegen=== | ||
+ | Einige Gruppen und User existieren evlt. schon wenn mit " | ||
+ | |||
+ | Gruppen und User anlegen: | ||
+ | <code bash> | ||
+ | |||
+ | groupadd -g 1000 oinstall | ||
+ | groupadd -g 1001 dba | ||
+ | |||
+ | |||
+ | groupadd -g 1002 asmadmin | ||
+ | |||
+ | useradd -u 1100 -g oinstall -G dba oracle | ||
+ | usermod -a -G asmadmin oracle | ||
+ | passwd oracle | ||
+ | |||
+ | |||
+ | useradd -u 1101 -g oinstall -G dba grid | ||
+ | usermod -a -G asmadmin grid | ||
+ | passwd grid | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===Software Verzeichnis anlegen === | ||
+ | |||
+ | Database: | ||
+ | <code bash> | ||
+ | mkdir -p /opt/oracle | ||
+ | chown -R oracle: | ||
+ | chmod -R 775 /opt/oracle | ||
+ | |||
+ | mkdir / | ||
+ | chown grid: | ||
+ | chmod 777 / | ||
+ | chmod o-w / | ||
+ | </ | ||
+ | |||
+ | Grid: (auf die richtige Software Version achten!) | ||
+ | <code bash> | ||
+ | mkdir -p / | ||
+ | chown -R grid: | ||
+ | chmod -R 775 / | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === Tmp File Verhalten === | ||
+ | |||
+ | Configure verify temporary location for auto cleanup! | ||
+ | |||
+ | Anmerkung von orachk: | ||
+ | <code bash> | ||
+ | # | ||
+ | #On Linux OL7/RHEL7, if proper configuration setting is not then the communication socket files under directories #/ | ||
+ | |||
+ | #Risk: Communication break down between Clusterware, | ||
+ | |||
+ | #Action / Repair: | ||
+ | |||
+ | vi / | ||
+ | |||
+ | x / | ||
+ | x / | ||
+ | x / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===Shared Memory File System Mount on Linux=== | ||
+ | Set to: | ||
+ | <code bash> | ||
+ | #Check | ||
+ | |||
+ | df -h | ||
+ | |||
+ | |||
+ | #if missing | ||
+ | more /etc/fstab |grep " | ||
+ | |||
+ | vi /etc/fstab | ||
+ | tmpfs / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | === Huge Page Settings === | ||
+ | |||
+ | see Artikel über Huge Pages: | ||
+ | |||
+ | === Disable Transparent Huge Pages === | ||
+ | |||
+ | Noch in Linux 7 aktiv?? Prüfen | ||
+ | |||
+ | Pürfen ob im Einsatz: | ||
+ | <code bash> | ||
+ | cat / | ||
+ | # so im einsatz | ||
+ | [always] never | ||
+ | </ | ||
+ | |||
+ | Aussschalten über Grub | ||
+ | <code bash> | ||
+ | vi / | ||
+ | |||
+ | GRUB_CMDLINE_LINUX=" | ||
+ | |||
+ | #Grub Config neu schreiben lassen | ||
+ | grub2-mkconfig -o / | ||
+ | |||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === User Securtiy und Limits setzen === | ||
+ | |||
+ | / | ||
+ | <code bash> | ||
+ | vi / | ||
+ | oracle | ||
+ | oracle | ||
+ | oracle | ||
+ | oracle | ||
+ | oracle | ||
+ | oracle | ||
+ | oracle | ||
+ | oracle | ||
+ | oracle | ||
+ | |||
+ | grid | ||
+ | grid | ||
+ | grid | ||
+ | grid | ||
+ | grid | ||
+ | grid | ||
+ | grid | ||
+ | grid | ||
+ | grid | ||
+ | |||
+ | </ | ||
+ | |||
+ | Bei sehr großen verfügbaren RAM und geplannten großen SGA's auf der Maschine, evtl die Core Dump Size einschränken, | ||
+ | |||
+ | |||
+ | / | ||
+ | <code bash> | ||
+ | vi / | ||
+ | … | ||
+ | session required pam_limits.so | ||
+ | … | ||
+ | </ | ||
+ | |||
+ | In einer zweiten Console prüfen ob jetzt noch eine Anmeldung möglich ist, nicht das ein kleiner Fehler einem vom System ausschließt! | ||
+ | |||
+ | ===Global Profile (/ | ||
+ | |||
+ | <code bash> | ||
+ | vi / | ||
+ | |||
+ | if [ $USER = " | ||
+ | if [ $SHELL = "/ | ||
+ | ulimit -p 16384 | ||
+ | ulimit -n 65536 | ||
+ | else | ||
+ | ulimit -u 16384 -n 65536 | ||
+ | fi | ||
+ | fi | ||
+ | |||
+ | if [ $USER = " | ||
+ | if [ $SHELL = "/ | ||
+ | ulimit -p 16384 | ||
+ | ulimit -n 65536 | ||
+ | else | ||
+ | ulimit -u 16384 -n 65536 | ||
+ | fi | ||
+ | fi | ||
+ | </ | ||
+ | |||
+ | Als Oracle User testen: | ||
+ | <code bash> | ||
+ | su - oracle | ||
+ | |||
+ | ulimit -Sn | ||
+ | 65536 | ||
+ | ulimit -Hn | ||
+ | 65536 | ||
+ | |||
+ | ulimit -Su | ||
+ | 16384 | ||
+ | ulimit -Hu | ||
+ | 16384 | ||
+ | |||
+ | ulimit -Ss | ||
+ | 10240 | ||
+ | ulimit -Hs | ||
+ | Unlimited | ||
+ | |||
+ | </ | ||
+ | |||
+ | === Umask setzen === | ||
+ | |||
+ | Für Grid und Oracle User: | ||
+ | |||
+ | <code bash> | ||
+ | su - oracle | ||
+ | |||
+ | vi .bashrc | ||
+ | |||
+ | umask 0022 | ||
+ | |||
+ | |||
+ | #dann aus su - grid | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | === Dump Verhalten optimieren === | ||
+ | |||
+ | Zentrales Verzeichniss für Dumps einrichten wie / | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | mkdir / | ||
+ | chmod 777 / | ||
+ | |||
+ | |||
+ | vi / | ||
+ | |||
+ | kernel.core_uses_pid=1 | ||
+ | kernel.panic_on_oops = 1 | ||
+ | kernel.core_pattern = / | ||
+ | |||
+ | fs.suid_dumpable=1 | ||
+ | |||
+ | |||
+ | sysctl -p | ||
+ | |||
+ | </ | ||
+ | |||
+ | Core File Parameter: | ||
+ | |||
+ | * %p: pid | ||
+ | * %%: output one ' | ||
+ | * %u: uid - user id | ||
+ | * %g: gid - group id | ||
+ | * %s: signal number | ||
+ | * %t: UNIX time of dump | ||
+ | * %h: hostname | ||
+ | * %e: executable filename | ||
+ | * %E: pathname of executable | ||
+ | * %h: hostname | ||
+ | |||
+ | |||
+ | ==testen== | ||
+ | |||
+ | Als Oracle User anmelden und Dump verursachen, | ||
+ | <code bash> | ||
+ | |||
+ | su - oracle | ||
+ | |||
+ | kill -s SIGSEGV $$ | ||
+ | |||
+ | Segmentation fault (core dumped) | ||
+ | |||
+ | |||
+ | cd / | ||
+ | |||
+ | ls | ||
+ | |||
+ | coredump_racdb01.pipperr.local_.11.1100.1100_1426632616_!usr!bin!bash_bash.2779 | ||
+ | |||
+ | |||
+ | #Datum aus dem Core anzeigen mit: | ||
+ | |||
+ | date -d @1426632616 | ||
+ | |||
+ | Tue Mar 17 23:50:16 CET 2015 | ||
+ | |||
+ | # auswerten mit | ||
+ | # gdb programm coredump | ||
+ | |||
+ | gdb / | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | === Oracle Kernel Parameter setzen === | ||
+ | |||
+ | |||
+ | / | ||
+ | <code bash> | ||
+ | |||
+ | vi / | ||
+ | |||
+ | |||
+ | fs.aio-max-nr = 3145728 | ||
+ | fs.file-max = 6815744 | ||
+ | |||
+ | |||
+ | # | ||
+ | #reclaim memory faster and avoid LowMem pressure issues | ||
+ | #Note: 1367153.1 - Top 5 Issues That Cause Node Reboots or Evictions or Unexpected Recycle of CRS | ||
+ | vm.min_free_kbytes=524288 | ||
+ | |||
+ | # Controls the maximum size of a message, in bytes | ||
+ | kernel.msgmnb = 65536 | ||
+ | |||
+ | # Controls the default maxmimum size of a mesage queue | ||
+ | kernel.msgmax = 65536 | ||
+ | |||
+ | # Controls the maximum shared segment size, in bytes | ||
+ | # max 50% of total memory | ||
+ | # Adjust this to your setting for your maschine! | ||
+ | kernel.shmmax = 2097152000 | ||
+ | |||
+ | # Controls the maximum number of shared memory segments, in pages | ||
+ | kernel.shmall = 4294967296 | ||
+ | |||
+ | # semaphores: semmsl, semmns, semopm, semmni | ||
+ | kernel.sem = 250 32000 100 128 | ||
+ | |||
+ | kernel.shmmni = 4096 | ||
+ | |||
+ | net.core.rmem_default=262144 | ||
+ | net.core.rmem_max=4194304 | ||
+ | net.core.wmem_default=262144 | ||
+ | net.core.wmem_max=1048586 | ||
+ | |||
+ | net.ipv4.ip_local_port_range = 9000 65500 | ||
+ | net.ipv4.conf.all.rp_filter = 2 | ||
+ | |||
+ | kernel.panic_on_oops = 1 | ||
+ | |||
+ | |||
+ | #einlesen mit | ||
+ | |||
+ | sysctl -p | ||
+ | |||
+ | </ | ||
+ | |||
+ | Netzwerk Parameter im Detail => https:// | ||
+ | |||
+ | siehe auch: | ||
+ | * [[linux: | ||
+ | * http:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | === Einstellungen bzgl. ORA-27301: | ||
+ | |||
+ | Oracle Linux: ORA-27301: | ||
+ | |||
+ | vm.min_free_kbytes auf einen Wert von 0,4% Hauptspeicher setzen | ||
+ | <code bash> | ||
+ | vi / | ||
+ | |||
+ | # | ||
+ | #reclaim memory faster and avoid LowMem pressure issues | ||
+ | #Note: 1367153.1 - Top 5 Issues That Cause Node Reboots or Evictions or Unexpected Recycle of CRS | ||
+ | vm.min_free_kbytes=524288 | ||
+ | |||
+ | sysctl -p | ||
+ | </ | ||
+ | |||
+ | Zusätzlich wird empfohlen die MTU auf dem Localhost Adapter zu erhöhen. | ||
+ | |||
+ | Online mit : | ||
+ | |||
+ | <code bash> | ||
+ | ifconfig lo mtu 16436 | ||
+ | </ | ||
+ | |||
+ | In / | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | vi / | ||
+ | .. | ||
+ | MTU=16436 | ||
+ | .. | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ==== Multipathing auf den Storage Devices für ASM optimieren ==== | ||
+ | |||
+ | Je nach der eingesetzten Storage Anbindung hier mit viel Sorgfalt prüfen und einrichten! | ||
+ | |||
+ | <fc # | ||
+ | |||
+ | siehe auch http:// | ||
+ | |||
+ | Um bei Problemen besser die Umgebung zu verstehen, die Tool der Karten Hersteller installieren | ||
+ | |||
+ | Wie bei Emulex: | ||
+ | |||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ==== Java 8 Installation==== | ||
+ | |||
+ | Java Version prüfen und JDK 8uxxx nach Bedarf installieren. | ||
+ | |||
+ | Falls [[dba: | ||
+ | |||
+ | ** Als User root! ** | ||
+ | |||
+ | Kopieren jdk-8u111-linux-x64.rpm von [[http:// | ||
+ | <code bash> | ||
+ | # Java installieren | ||
+ | yum install | ||
+ | |||
+ | |||
+ | # Java aktivieren | ||
+ | |||
+ | # Neue Java Version dem OS bekannt geben | ||
+ | / | ||
+ | |||
+ | |||
+ | # Versionen anzeigen | ||
+ | / | ||
+ | |||
+ | # Version einstellen | ||
+ | / | ||
+ | # Version auswählen | ||
+ | |||
+ | # testen | ||
+ | java -version | ||
+ | java version " | ||
+ | |||
+ | |||
+ | # alte Java Version deinstallieren | ||
+ | yum list installed java* | ||
+ | |||
+ | yum erase java-1.6.0-openjdk.x86_64 java-1.7.0-openjdk.x86_64 java-1.8.0-openjdk.x86_64 | ||
+ | |||
+ | </ | ||
+ | |||
+ | Nach einem Java Upgrade muss das Kommando jps wieder neu verlinkt werden: | ||
+ | |||
+ | Das Programm jps sollte auf dem Server im Pfad liegen/ | ||
+ | |||
+ | <code bash> | ||
+ | jps -m | ||
+ | |||
+ | # falls fehler | ||
+ | # über /usr/bin verlinken | ||
+ | rm / | ||
+ | ln -s / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Nächste Schritte ==== | ||
+ | |||
+ | |||
+ | Diese Maschine kann nun als Klone für den zweiten Knoten dienen, auf diesen sind dann nur noch die IP Adressen und Namen anzupassen. | ||
+ | |||
+ | Zum Beispiel zum Klonen ausschalten mit: | ||
+ | <code bash> | ||
+ | systemctl poweroff -i | ||
+ | </ | ||
+ | |||
+ | |||
+ | Nach der generellen Vorbereitung des OS kann die Einbindung des Storages erfolgen um dann im nächsten Schritt mit der Installation des Clusters zu beginnen. | ||
+ | |||
+ | |||
+ | Nächste Schritte: | ||
+ | |||
+ | * => [[dba: | ||
+ | * => [[dba: | ||
+ | * => [[dba: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Quellen ==== | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
linux/linux_7_system_grundeinstellungen_oracle_datenbank_rac.txt · Zuletzt geändert: 2021/02/28 16:44 von gpipperr