===== Linux ===== ==== Allgemein ==== Unix Manpages für verschiedene Betriebsysteme wie HP UX: * => http://www.polarhome.com/service/man/?qf=&tf=2&of=HP-UX&sf=1 Alternative Distributionen zu Oracle Linux für den Datenbank Betrieb: * https://www.scientificlinux.org/ Für den echten Unix Freund: * http://www.polarhome.com/ ---- ==== Scripting ==== * [[linux:vi|Wichtige Shell Befehle für den Oracle DBA unter Linux und Solaris]] * [[linux:delete_audit_logs|Oracle Audit Log Files unter Linux löschen]] * [[linux:check_password_complexity|Linux Password Komplexität prüfen]] * [[linux:bash_read_write_config_files| In der Bash Konfigurationsdateien auslesen / erstellen ]] ===PDF=== * [[linux:pdf_oracle_linux_8|Oracle Linux 8 - Über die Konsole PDF Dokumente erstellen]] ===Quellen=== * http://openbook.rheinwerk-verlag.de/linux_unix_programmierung/index.htm * http://openbook.rheinwerk-verlag.de/shell_programmierung/ * http://www.dedoimedo.com/computers/linux-cool-hacks.html ---- ==== Ansible ==== Ansible (https://www.ansible.com/) ist ein Open-Source Werkzeug zur Konfiguration und Administration, insbesondere im Umfeld von RedHat basierenden Server Systemen. Eine gute Einführung findet sich auch hier => https://www.heise.de/ratgeber/Beispielprojekt-Server-im-Rechenzentrum-oder-daheim-mit-Ansible-automatisieren-9549037.html?seite=all == Setup der Umgebung == * [[linux:oracle_linux_8_ansible|Ein Oracle Linux 8 Basis System für Ansible verwenden - eine Oracle Umgebung mit Ansible warten]] * [[python:python_read_keepass_file|Keepass Datei mit Python auslesen um Ansible Konfiguration zu erzeugen]] * [[linux:ansible_local_facts|Oracle System Umgebung für die Parametrisierung von Oracle Automatisierungen lokal hinterlegen]] Eine Arbeitsumgebung für Ansible einricten * [[prog:yaml_check_syntax|Mit Ansible YAML arbeiten ohne Nerven Zusammenbruch]] * [[prog:yaml_ansible_visual_code|Visual Studio Code auf Oracle Linux für das Arbeiten mit Ansible]] == Ansible Tower == Installation => [[linux:centos_linux_8_ansible_tower|Ansible Tower unter CentOS Linux 8]] * [[linux:ansible_tower_cli_awx|Mit der Ansible Tower CLI das Tower Inventory pflegen]] * [[linux:oracle_linux_8_ansible_local_git|Lokales Git Repo für ein Ansible Tower Projekt verwenden]] * [[linux:ansible_tower_password_handling|Ansible Tower - wie verhindere ich Klarschrift Passwörter in PlayBooks]] Collection in Redhat Tower verwenden => https://www.ansible.com/blog/installing-and-using-collections-on-ansible-tower == Ansible im Einsatz === * [[linux:ansible_edit_config_file|Mit Ansible eine Konfigurationsdatei Zeilenweise bearbeiten ]] * [[linux:ansible_report_all_hosts|Mit Ansible eine Liste aller konfigurieren Hosts erzeugen]] * [[linux:ansible_templating_jinja2|In Ansible templates "jinja2" verwenden und debuggen ]] * [[linux:ansible_oracle_ahf_install| Mit Hilfe von ansible das AUTONOMOUS HEALTH FRAMEWORK(AHF) auf allen DB Maschinen verteilen / installieren und konfigurieren ]] * [[linux:ansible_rechnen_datum|In Ansible mit Datum rechnen - at job in x Minuten starten ]] == Oracle Linux Automation Manager == Oracle Erweiterung siehe => https://blogs.oracle.com/linux/post/announcing-oracle-linux-automation-manager Für die Verwendung wird diese Repository benötigt "dnf install oraclelinux-automation-manager-release-el8", das scheint im ersten Schritt auch frei verfügbar. * [[linux:oracle_linux_8_ansible_tower|Oracle Linux Automation Manager (aka “Oracle Ansible Tower”) unter Oracle Linux 8]] ---- ==== Formann ==== * [[linux:oracle_linux_8_forman|Für eine Oracle System Umgebung Formann auf Oracle Linux 8 als Repository Proxy und Konfigurationswerkzeug aufsetzen]] ---- ==== Apache Guacamole ==== Eine immer wichtigere Aufgabe in der Administration von Server Umgebung ist die Trennung des Zugriffs auf die Server vom lokalen Arbeitsplatz des Administrators/DBA's. Apache Guacamole kann hier als Proxy für Terminal Session dienen. Von und zu der Session können Dateien kopiert werden, in SSH Sessions kann über eine eigene Eingabe Leiste auch die Zwischenablage eingefügt werden, in RDP Session funktioniert das auch direkt. * [[linux:oracle_linux_8_guacamole|Für eine Oracle System Umgebung Apache Guacamole auf Oracle Linux 8 als zentralen Admin Proxy aufsetzen]] * [[linux:oracle_linux_8_guacamole_session_recording|Session Recording in Apache Guacamole ]] * [[linux:oracle_linux_8_guacamole_ms_sqlserver|Apache Guacamole unter Linux mit dem MS SQL Server verwenden ]] * [[linux:oracle_linux_8_guacamole_update|Apache Guacamole Update ]] ==Bedienung== Die wichtigsten Keybord Shortcuts für eine Guacamole Terminal Session: Strg+Alt+Shift öffnet und schließt das Fenster für die Zwischenablage, den Datei Browser und die Konfiguration der Zwischenablage. ---- ==== Monitoring==== USV * [[linux:usv_serial_zinto_raspberry | USV Zinto 1500 von Online über RS232 auf einem Raspberry 4 per RS232 überwachen ]] HTOP * http://hisham.hm/htop/ NMON * http://nmon.sourceforge.net/pmwiki.php SYSLOG * https://www.graylog.org/ Linux Load => http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html ---- ====Anti Virus==== Microsoft Defender unter Linux * [[linux:microsoft_defender_linux_red_hat | Microsoft Defender auf RedHat Linux - Installieren und Konfigurieren ]] ---- ==== Server ==== == Installation: == * [[linux:install_oracle_hp_DL380p|Installation Oracle Linux auf einem HP ProLiant DL380p Gen 8-Server für eine Datenbank Installation]] * [[linux:linux_8_system_grundeinstellungen_oracle_datenbank_rac|Ein Oracle Linux 8 Basis System als Grundlagen für eine Oracle Clusterware und Datenbank Installation vorbereiten]] * [[linux:linux_7_system_grundeinstellungen_oracle_datenbank_rac|Ein Oracle Linux 7 Basis System als Grundlagen für eine Oracle Clusterware und Datenbank Installation vorbereiten]] == Für Oracle Linux 7 Open Repostiory EPEL einbinden == wget https://ftp.fau.de/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm yum repolist ==Shortcuts beim booten:== Mit der Tasten Kombination ALT und D dann der Splashscreen einer Oracle oder Red Hat Linux Installation "enfernt" werden um die aktuellen Kommandos zu verfolgen. ==Im Single Mode booten:== Im Grup Menü Zeile den passenden Kernel aussuchen, mit a in den Edit Modus springen und ein **" single"** an das Ende der Zeile schreiben und starten. == Root Platten neu mounten:== Wird beim Start von Linux (z.B. bei einer neu importieren VM) das root file system nur als read only gemounted, in Single User mode starten und neu mounten und in den nächsten Runlevel springen. mount -o remount / init 3 ---- ==== Storage ==== * [[linux:ds3400_sas_failover|Eine IBM DS3400 für ein Oracle Real Application Cluster mit SAS Karten konfigurieren]] * [[linux:check_hpsa_driver_in_use|Welchen Treiber verwendet ein PCI RAID Device unter Linux 6?]] iSCSI * [[vmware:iscsi_target_for_shared_disks|iSCSI Target für das Bereitstellen von Cluster Platten in VMWare unter Linux 7]] * [[vmware:iscsi_target_for_shared_disks_linux6|iSCSI Target für das Bereitstellen von Cluster Platten in VMWare unter Linux 6]] LVM * [[linux:lvm_xfs_handling|LVM Filesystem xfs für die Datenbank anlegen und erweitern]] NFS * [[linux:nfs_share_vot_files_oracle_rac|NFS für einen VOT File eines Oracle Real Applikation Clusters verwenden]] Linux I/O Scheduler: * http://www.thomas-krenn.com/de/wiki/Linux_I/O_Scheduler IO Überlegungen * https://www.slashroot.in/linux-system-io-monitoring ===Disk Aligment Linux testen und bei einer neuen Partition einstellen=== Verfügbare Platten anzeigen mit cat /proc/partitions Partition auf der Lun einrichten mit “fdisk /dev/xxx“ Neue Partition mit: Antworten: **"n", "p", "1", "Return", "Return", "p" ** Aligment prüfen /einstellen mit: Antworten: **"x", "p","b", "1", "64", "w"** Gleiches Problem wie unter Windows siehe auch [[windows:disk_aligment|Disk Aligment unter Windows prüfen]] ===CD Mounten=== Normale CD mounten **-t iso9660**: mount -t iso9660 /dev/scd0 /media/cdrom Iso Image mounten: mkdir /media/iso1 mount -o loop my_image.iso /media/iso1 ===Die 5% reservierten Speicherplatz auf einer ext3/ext4 freigeben=== Per default werden auf einem ext3/ext4 Filesystem 5% für root "reserviert". Für die Fileystem, die für das OS unerlässlich sind, ist das ein guter Schutz gegen zu 100% volle Platten. Daher ist "Used"+"Avail" nicht gleich "Disksize" im Normalfall!: df -h Filesystem Disksize Used Avail Use% /dev/sda1 100G 92G 2.7G 98% Überpürfen mit: sudo tune2fs -l /dev/sda1 | grep 'Reserved block count' Anpassen: sudo tune2fs -m 0 /dev/sda1 ---- ---- ====Networking:==== * [[linux:mail_versandt_telnet|Mit Telnet eine E-Mail versenden]] * [[linux:clonen_linux_ol6_netwerkkarte| Fehlermeldung Device "eth0 does not seem to be present"]] * http://linux-ip.net/ * [[https://www.ibm.com/developerworks/community/blogs/58e72888-6340-46ac-b488-d31aa4058e9c/entry/linux_netstat_command_explained_with_10_examples?lang=en|IBM Block - Linux netstat command explained with 10 examples]] Netzwerk Protokolle Analyse: * https://scapy.net/index * [[linux:ssh_key_connect_oracle_linux8|Oracle Linux 8 - SSH Key Anmeldung verwenden]] IP Adressen Daten abfragen: * https://centralops.net/co/domaindossier.aspx ===Ubiquiti https://www.ubnt.com/ UniFi Netzwerk Komponenten=== * [[raspberry:fedberry_quick_install|Fedberry Linux Betriebsystem mit dem Raspberry PI 2 - Ubiquiti Network Controller]] * [[linux:unifi_vpn_windows_10| Securtiy Gateway - VPN Problem unter Windows 10 lösen]] ===Oracle Real Application Cluster RAC=== * [[linux:zeroconf_netzwerk_konfiguration| Problem mit einer Zero Network Konfiguration und Oracle RAC]] * [[linux:oracle_rac_global_cache_block_lost| Netzwerkprobleme auf einen Oracle RAC Interconnect untersuchen - Global Cache Block Lost Events auf Netwerkprobleme zurückführen]] ===Hostname setzen=== **root** Hostname manuell setzen: hostname oraoms12c01.pipperr.local Permanente Konfiguration: # #Konfiguration hinterlegen vi /etc/sysconfig/network HOSTNAME="oraoms12c01.pipperr.local" # #Namensauflösung hinterlegen vi /etc/hosts 10.10.10.225 oraoms12c01.pipperr.local oraoms12c01 # #Netzwerk neu starten service network restart #testen dnsdomainname hostname -f hostname -a == Linux 7 === #über Kommando werkzeug hostnamectl set-hostname racdb01.pipperr.local # Neue Session starten und püfen nmcli general hostname cat /etc/hostname see => http://www.itzgeek.com/how-tos/linux/centos-how-tos/change-hostname-in-centos-7-rhel-7.html ===Bonding:=== Siehe auch dieser Bonding Beispiel:[[dba:rac_add_second_ip|Ein neues VIP und ein neues Netzwerk einem RAC Cluster ONLINE hinzufügen - siehe Abschnitt über das Bonding von dem neuen Interface]] * http://www.howtoforge.com/network_card_bonding_centos * http://www.cyberciti.biz/tips/linux-bond-or-team-multiple-network-interfaces-nic-into-single-interface.html * https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-networkscripts-interfaces_802.1q-vlan-tagging.html == Welche Interface sind in einem Bond zusammen gefasst == cat /proc/net/bonding/bond0 | grep -E "Slave Interface|Permanent" === Routen anzeigen lassen === ## Default route route -n ## IP route #welche Tables gibt es : cat /etc/iproute2/rt_tables #anzeigen lassen: ip route ip route show table local # etc. * http://linux-ip.net/html/tools-ip-route.html === Open Ports prüfen === Auf neueren Client ist oft kein telnet mehr installiert, wie pürft man jetzt aber ob ein Port offen ist? # alter Weg: telnet # Alternative curl: #Wenn es funktioniert: curl http://gpi-oem01.pipperr.local:5900 -v * About to connect() to gpi-oem01.pipperr.local port 5900 (#0) * Trying 10.51.20.91... connected * Connected to gpi-oem01.pipperr.local (10.51.20.91) port 5900 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.3.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: gpi-oem01.pipperr.local > Accept: */* > * Connection #0 to host gpi-oem01.pipperr.local left intact * Closing connection #0 #Wenn es nicht geht: curl http://gpi-oem01.pipperr.local:5901 -v * About to connect() to gpi-oem01.pipperr.local port 5901 (#0) * Trying 10.51.20.91... Connection refused * couldn't connect to host * Closing connection #0 curl: (7) couldn't connect to host curl siehe http://curl.haxx.se/docs/manpage.html ---- ---- ====DNS==== DNS Server mit Power DNS aufsetzen: * [[linux:power_dns|Power DNS - Eine Alternative zu bind]] * [[raspberry:pidora_power_dns|Raspberry PI als DNS Applicance für PowerDNS]] Öffentliche DNS Server: * http://public-dns.tk/nameserver/de.html - DNS Server im Netz PiHole als lokaler DNS Server und Werbeblocker * [[linux:raspberry_pi_4_pihole_oracle_linux|Raspberry Pi mit Pi-hole unter Oracle Linux für Pi in einer Ubiquity Umgebung]] ---- ====NTP==== * [[linux:linux_rac_ntp|Uhrzeit im Oracle Cluster prüfen]] Alternativ unter Windows => [[windows:windows_ntp_w32tm_zeitdienst|NTP Service MS Windows 2008 / 2012 auf einen eigenen NTP Server konfigurieren]] ---- ==== Firewall ==== * http://opnsense.org/about/features/ ---- === dtrace === * [[linux:dtrace_linux_7|Erste Schritte mit dtrace unter Linux 7]] ---- === Abrtd === * [[linux:abrtd_linux_rac|Abrtd - Kernel Dumps - Linux 6]] ---- === Alternative Repositories === EPRL ## RHEL/CentOS 7 64-Bit ## wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm rpm -ivh epel-release-7-5.noarch.rpm yum repolist yum --enablerepo=epel info nmon yum --enablerepo=epel install nmon Oracle Public => http://public-yum.oracle.com/ #Linux 7 cd /etc/yum.repos.d wget http://public-yum.oracle.com/public-yum-ol7.repo ---- ====Memory:==== * [[linux:huge_pages_linux_oracle|Huge Pages für eine Oracle Datenbank einrichten]] * [[linux:memory_oracle_verbrauch|Speicherbedarf unter Linux erkennen]] * [[linux:memory_system_v_opc_parameter|System V IPC-Parameter]] * [[linux:linux_prozesses_status_d|High Load und niedrige CPU Auslastung auf einem Linux System analysieren]] How to Configure the Linux Out-of-Memory Killer: * http://www.oracle.com/technetwork/articles/servers-storage-dev/oom-killer-1911807.html ---- ====Fun:==== * [[raspberry:pidora_quick_install|Pidora als Linux Betriebsystem für den Raspberry PI]] * [[raspberry:oracle_linux_8_quick_install|Oracle Linux 8 als Linux Betriebsystem für den Raspberry PI]] Emulatoren * http://linux.about.com/od/soft/tp/5-Games-Console-Emulators-For-Linux.htm ---- ====Bash:==== * [[linux:bash_script_snippets|Bash Snippets für Skripting]] * [[linux:rsync_wrapper_script|Beispiel für ein rsync Skript]] * [[linux:linux_screen|Scripte mit screen in den Hintergrund schieben]] * [[linux:linux_tmux|Linux Terminal Sessions mit tmux organisieren - Ab Oracle Linux 8 steht screen nicht mehr zur Verfügung ]] History Verhalten: * http://mywiki.wooledge.org/BashFAQ/088 ---- ==== Securtiy ==== * [[linux:linux_oracle_8_custom_ca|Eine eigene CA unter Linux aufsetzen um Zertifikate zu erstellen]] * [[linux:linux_switch_user_with_super|Super zum Wechseln von Usern verwenden]] * [[linux:linux_setuid_getgid_stickybit|Besondere Berechtigungen auf Dateien und Verzeichnissen unter Linux - File Permissions (setuid, setgid and Sticky Bit) ]] ---- ====Apache:==== * [[http://www.clockwatchers.com/htaccess_intro.html|.htaccess Tutorial]] ---- ==== Solaris ==== [[http://de.wikipedia.org/wiki/OpenSolaris|OpenSolaris]] wurde von Oracle am 13. August 2010 eingesellt. Die Weiterentwicklung erfolgt nun als opensource distribution zum Beispiel unter: * http://openindiana.org/ ---- ==== HP Unix ==== ==Shell== ESC Taste für das expandieren von Dateinamen (wie normalerweise TAB) Anpassen an Bash siehe => http://www.dadbm.com/how-to-make-hp-ux-korn-shell-similar-to-linux-bash/ ===DF=== Der DF Befehlt unter HP UX ist etwas gewöhnungsbedürftig um leicht lesbare Werte zu erhalten. Hier ein praktisches Script um das auszuwerten: http://www.snapdba.com/2012/10/readable-df-h-output-in-hp-ux/ df -Pk | awk ' BEGIN {print "Filesystem Mount Point Total GB Avail GB Used GB Used" print "----------------------------------- ------------------------- ---------- ---------- ---------- -----"} END {print ""} /dev/ || /^[0-9a-zA-Z.]*:\// { printf ("%-35.35s %-25s %10.2f %10.2f %10.2f %4.0f%\n",$1,$6,$2/1024/1024,$4/1024/1024,$3/1024/1024,$5) }' Vielen Dank an [[http://www.snapdba.com/|Garth]]! Gleiches Prinzip auf für einzelne Dateien: ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}' du -sk * ---- ==== OpenStack==== siehe => https://www.openstack.org/ Oracle 12c auf Solaris in einer OpenStack private Cloud Lösung: * https://www.mirantis.com/ Hadoop auf OpenStack * https://www.youtube.com/watch?v=MAaSiMLE05A ---- ==== Docker ==== Video: * https://www.youtube.com/watch?v=mcMeTCUjGa8 ----