josephusflavius
Goto Top

Ansible-Playbook - Oracle Update gleich miterledigen

Hallo,

wir benutzen da das folgende Playbook für die Updates unserer RHEL-Hosts.
Ich würde gern dieses Playbook etwas "aufbohren" um mit den manuellen Updateaufwand zu ersparen ..

Unten habe ich meine konkreten Fragen aufgelistet. Falls jemand mir helfen kann den Prozess zu automatisieren, freue ich mich über eure Rückmeldungen.

Ich würde es jetzt gern mit den folgenden Schritten ergänzen:

Auf Oracle server anmelden und Oracle Dienste und Prozesse prüfen.(Kann es sein dass Oracle-TFA als Prozess nicht gibt): (FRAGE 1)
#ps aux | grep tns                                      #Prüfen ob TNS Listener läuft
#systemctl status oracle.service                #prüfen ob Oracle Diesnt läuft
#systemctl status oracle-tfa.service          #prüfen ob Oracle Trace File Analyzer läuft

Alle Oracle Dienste und Prozesse sollen nach Updates auch wieder laufen.
    
#zypper ref                                                #Repos aktualisieren
#zypper update                                         #suchen auf Updates

Dann mit "y" oder "yes" die Installation von Updates genehmigen. (FRAGE 2)
Nach Updates Installation prüfen ob Reboot nötig ist und ggf die Maschine neu starten,
    
#reboot                                                     #oder 
#shudown -r now

Nachprüfen ob alle Oracle Dienste und Prozesse wieder laufen. (Es kann sein, dass es Oracle-TFA als Prozess nicht gibt) (FRAGE 3)

    
#ps aux | grep tns , Prüfen ob TNS Listener läuft (FRAGE 4)

Den Pfad notiere ich in diesem Fall, da dieser benötigt wird, um die Datenbank später zu starten (FRAGE 5)

         
#systemctl status oracle-tfa.service              #prüfen ob Oracle Trace File Analyzer läuft
(Die Datenbanken starten auf den Produktiven Servern leider nicht automatisch beim Hochfahren des Server. Daher bitte folgendes durchführen:)
#su oracle
#cd /u01/app/oracle/product/12.0.2/dbhome_33/bin 
#./dbstart                                                       #(Startet normalerweise alle Datenbanken auf dem Host)

Sollten einzelne Datenbanken nicht durch "./dbstart" gestartet werden, bitte folgendes auf dem entsprechenden Oracle Host tun: (FRAGE 6)

    
#su oracle
#. oraenv
#<DBID>
#sqlplus / as sysdba
SQL>startup
SQL>exit


FRAGE 1 - Wie kann ich prüfen, ob der Prozess Oracle-TFA läuft?
FRAGE 2 - Wie gebe ich hier ein Y ein?
FRAGE 3 - Wie kann ich da prüfen, ob die Prozesse laufen?
FRAGE 4 - Wie kann ich da prüfen, ob die Prozesse laufen?
FRAGE 5 - Kann ich hier den Pfad in einem Variable speichern, um die Info später verwenden zu können?
FRAGE 6 - Wie kann ich hier mit Ansible prüfen, ob die DB gestartet werden können?

LG

JoFla

Content-ID: 2870407738

Url: https://administrator.de/contentid/2870407738

Ausgedruckt am: 24.11.2024 um 23:11 Uhr

Phill93
Lösung Phill93 23.05.2022 um 10:37:33 Uhr
Goto Top
Hallo,

ich versuch dir mal hier zu helfen.

Zu 1.: Ansible kann das selber, einfach das pid modul (https://docs.ansible.com/ansible/latest/collections/community/general/pi ..) nehmen

Zu 2.: Das ist meines wissens nicht möglich, aber zypper kannst du mit
-y
ausführen dann fragt er nicht. https://www.mankier.com/8/zypper

Zu 3 & 4.: Siehe Zu 1.

Zu 5.: Ansible register (https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.h ..)

Zu 6.: Schau dir mal das Ansible Modul hier an (https://github.com/oravirt/ansible-oracle-modules)

Gruß

Phill93
JosephusFlavius
JosephusFlavius 23.05.2022 um 11:13:52 Uhr
Goto Top
Hi Phill93,

herzlichen Dank für deine Rückmeldung.
Ich werden mir die Infos anschauen.

LG

JoFla
Phill93
Phill93 24.05.2022 um 13:17:33 Uhr
Goto Top
Hallo,

sollte dein Problem gelöst sein, bitte an Wie kann ich einen Beitrag als gelöst markieren? denken
JosephusFlavius
JosephusFlavius 24.05.2022 um 20:59:39 Uhr
Goto Top
Hi Phill93,

wir haben intern die Sache besprochen und haben gesehen, dass Ansible für diesen Zweck Oracle - nach Neustart - sauber und in der richtigen Reihenfolge zu starten, doch nicht die optimale Lösung ist. Wir werden also die Probleme die wir da haben mit Linux Bordmitteln, mit allgemeinen Scripten lösen.

LG

JoFla