2016 Control-M DS Utilities Was man vielleicht nicht immer kennt! Holger Schidlowski hschidlowski@atics.de 1
2016 POSTGRESQL 2
Psql SQL-Client für PostgreSQL 2016 Pfad des PostgreSQL-Clients: Windows <Installation-Pfad>\<Product>\Default\pgsql\bin Unix/Linux $HOME/<Product>/pgsql/bin Die notwendigen Umgebungsvariablen sind bei Unix/Linux abgelegt unter: $HOME/<Product>/.PGenv.csh (für CSH) $HOME/<Product>/.PGenv.sh (alle anderen Shells) Aufruf des Clients: psql -U <UserID> [-d <DB-NAME>] [-f <SQL-File] Das DB-Passwort kann vorab über die Umgebungsvariabel PGPASSWORD übergeben werden! 3
Weitere Optionen des PostgreSQL-Clients 2016 -F -H -o -t Legt das Separator für Ausgaben fest Gibt die Ausgabe im HTML-Tabellen-Format aus Ausgabedateinamen Unterdrückt Spaltenüberschriften und den Row Counter 4
Praktische Meta-Commands in psql 2016 Meta-Commands beginnen in psql immer mit einem \ (Backslash), und zwar unmaskiert. Ein Suchbegriff [ pattern ] kann oft mit übergeben werden. RegEx werden dabei unterstützt (*,?,[ ],etc.). \! [ Befehl ] Ausführung eines OS-Befehls, ohne psql zu verlassen \cd [ directory ] Wechselt auf OS-Ebene das aktuelle Verzeichnis Ohne [ directory ] auf das Login-Verzeichnis des Benutzers \dt [ pattern ] Zeigt die existierenden Tabellen an \pset Option [ Wert ] Setzt Optionen für die Ausführung (teilweise s.v.) footer off => Unterdrückt den Row Counter null NICHTS => Gibt den Wert NICHTS bei NULL-Werten aus 5
PostgreSQL-Log 2016 Unter folgendem (Unix/Linux) Pfad findet man die Datenbanklog für jeden Tag: $HOME/pgsql/data/pg_log /postgresql-yyyy-mm- DD_000000.log Wenn statt 000000 eine andere Zahl im Dateinamen steht, dann ist dies die Uhrzeit, als PostgreSQL wieder gestartet wurde! Bis FIXPACK 100 war diese Datei normalerweise leer. Seit dem erscheint darin ca. alle 4 ½ Stunden eine Meldung, falls der Archive Mode nicht aktiv ist! 6
2016 Utilities CONTROL-M SERVER 7
User Environment Variablen 2016 Um Usern Control-M Server Utilities zur Verfügung stellen zu können, müssen folgende Variablen im User Environment definiert werden: CONTROLM_SERVER => <controlmdirectory/ctm_server> CONTROLM_USER => <DBO> CONTROLM_DATABASE => <Tablespacename> CTM_DATABASE_TYPE => <Datenbanbtyp> 8
User Environment - Zugriffsrechte 2016 Lese Rechte auf (nur bei Linux/Unix): <controlm-directory>/.controlm <controlm-directory>/pgsql/etc/pg_service.conf (nur wenn PostgreSQL-DB benutzt wird) Schreib/Lese Rechte auf: <controlm-directory>/ctm_server/prflag/ <controlm-directory>/ctm_server/proclog/ <controlm-directory>/ctm_server/tmp/ 9
ctmudchk Prüfen eines User Daily Jobs 2016 Mit ctmudchk können User Daily Jobs überprüft werden (LIST), ob sie alle Jobs korrekt eingeplant haben. Zusätzlich können fehlende Jobs nachgeplant werden (ORDER). 10
ctmlog LISTMSG nnnn 2016 Im Messages Guide sind (fast) alle Meldungen beschrieben, die man über die Option LISTMSG selektieren kann. Hier ein paar praktische Beispiele: Jobs, die nicht angelaufen sind aber beim Tageswechsel gelöscht werden Keep active for (Max Wait Exceeded - 5047): ctmlog listmsg 5047 YYYYMMDD <Startzeit Tageswechsel HHMM> YYYYMMDD <HHMM (Startzeit Tageswechsel +10 min)> /tmp/ctmlog_5047.txt 132 Jobs, die abgebrochen sind (auch die, die wieder aufgesetzt/ auf OK gesetzt wurde! - 5134): ctmlog listmsg 5134 <Vortag YYYYMMDD> <Startzeit Tageswechsel HHMM> <YYYYMMDD> <HHMM (Startzeit Tageswechsel +10 min)> /tmp/ctmlog_5134.txt 132 11
ctmlog LISTMSG nnnn 2016 Jobs, die automatisch auf OK gesetzt wurden (Action OK - 5132): ctmlog listmsg 5132 <Vortag YYYYMMDD> <Startzeit Tageswechsel HHMM> <YYYYMMDD> <HHMM (Startzeit Tageswechsel +10 min)> /tmp/ctmlog_5132.txt 132 12
Undokumentierte Utilities Control-M Server 2016 p_36 Rechnet die CONTROL-M Orderid in einen numerischen Wert um: schedt Erstellt eine Liste der Folder und ihrem USER DAILY aus dem CONTROL-M Server shcalendar (nur Unix/Linux) Listet die definierten Kalender in einem CONTROL-M Server auf 13
2016 Utilities CONTROL-M AGENT 14
io_benchmark.sh (nur bei Unix/Linux) 2016 Führt Schreibtests auf ein Verzeichnis aus, um die durchschnittliche Geschwindigkeit dafür zu ermitteln. Sehr praktisch, u.u. Performance Engpässe wegen Platten-/Filesystemproblemen auf die Spur zu kommen! io_benchmark.sh 15
2016 Utilities CONTROL-M EM 16
Language Variablen unter UNIX/Linux 2016 Speziell beim exportieren per Utility von Jobs/Foldern, deren Daten die deutschen Sonderzeichen ä,ö,ü,ß enthalten, kann es abhängig von der Default-Sprachumgebung im UNIX/Linux zu Problemen kommen. Oft sind deren Werte LEER nach dem Export! Um dieses Problem zu umgehen, muss immer daran gedacht werden, gegebenenfalls temporär die entsprechenden Variablen um zu definieren. Hier ein Beispiel für SLES 11, das die deutschen Sonderzeichen beim Export korrekt unterstützt: LC_ALL= LC_COLLATE=C LC_MESSAGES=C LC_CTYPE= de_de.iso8859-1 oder de_de@euro LANG=de_DE.ISO8859-1 oder de_de@euro 17
Administration ohne CCM GUI - ccmcli Sollte einmal an einem Arbeitsplatz keine Configuration Manager Gui (CCM) installiert sein, kann man via ccmcli die EM-Komponenten über eine Shell verwalten. 2016 18
ccmcli Stoppen eines Gateways 2016 Leider ist die Ausführung etwas irreführend! 19
Übersicht der eingeloggten GUI-User 2016 Mit Hilfe dieses Commands kann man sich die aktiven WLA Client Sessions anzeigen lassen: [em] ccmcli -U <emuser> -P <empassword> -pf <Password-File> - -t GUI_Server -n < GUI_Server Name> -h < GUI_Server Host> -ctlcmd PGUI In der Spalte 2 steht der EM Login User, in der Spalte 3 der PC, auf dem diese GUI läuft. 20
Überwachung des Control-M EM Servers 2016 Mit folgenden Befehlen lassen sich die EM- Komponenten prüfen, ob diese aktiv sind. Alle Befehle liefern bei Rückmeldung Aktiv einen RC = 0, andernfalls RC = 1 (wenn nicht anders vermerkt). Sollten unter Unix/Linux mit dem EM Admin Benutzer ausgeführt werden! [em] bedeutet, dass die Kommandozeile bei Unix/Linux mit em beginnen muss! Prüfe ob DB online (bei PostgreSQL) pg_ctl status Ergebnismeldung positiv: pg_ctl: server is running (PID: nnnn) <Installdir EM-Server>/ctm_em/pgsql/bin/postgres Returncode wenn nicht erfolgreich: 3 21
Überwachung des Control-M EM Servers 2016 Prüfe Gateway(s) online Zeile sollte je Gateway ausgeführt werden! [em] ctl <dbo/pass> -mcs -C Gateway dc <Gateway-Name aus CCM> -cmd life_check Ergebnismeldung positiv: Gateway <Gateway-Name aus CCM>" on <hostname> is alive! Message returned: "Connected Returncode wenn nicht erfolgreich: 61 22
Stoppen CONTROL-M/EM über Shell 2016 [em] bedeutet, dass die Kommandozeile bei Unix/Linux mit em beginnen muss! CCMCLI= [em] ccmcli -U <emuser> -P <password> -pf <Password-File> -s <CMS-Server> ${CCMCLI} -t GCS -n <GCS Name> -h <GCS Host> -cmd stop ${CCMCLI} -t GUI_Server -n < GUI_Server Name> -h < GUI_Server Host> -cmd stop (Folgende Zeile entsprechend für jedes Gateway wiederholen:) ${CCMCLI} -t Gateway -n <Gateway Name> -h <Gateway Host> -cmd stop [em] ctl mcs -C Config_Agent M <EM-Host> cmd shutdown [em] ctl mcs -C CMS M <EM-Host> cmd stop stop_web_server/stop_web_server.bat stop_ns_daemon/stop_ns.bat stop_server (nur wenn DB-Server von BMC benutzt wird (Unix/Linux)!) 23
Starten CONTROL-M/EM über Shell 2016 [em] bedeutet, dass die Kommandozeile bei Unix/Linux mit em beginnen muss! start_server (nur wenn DB-Server von BMC benutzt wird (Unix/Linux)!) start_cms/start_cms.bat start_config_agent/net start Control-M EM Configuration Agent Service-Name start_ns_dameon/start_ns.bat CCMCLI= [em] ccmcli -U <user> -P <password> -pf <Password-File> -s <CMS Server> ${CCMCLI} -t GCS -n <GCS Name> -h <GCS Host> -cmd start (Folgende Zeile entsprechend für jedes Gateway wiederholen:) ${CCMCLI} -t Gateway -n <Gateway Name> -h <Gateway Host> -cmd start ${CCMCLI} -t GUI_Server -n < GUI_Server Name> -h < GUI_Server Host> -cmd start start_web_server/start_web_server.bat 24
Lokales löschen von Foldern im Control-M EM 2016 Es gibt im WLA Client keine Möglichkeit (mehr), lokal einen Folder zu löschen, um ihn per Download vom Control-M Server nochmals zu holen! Wichtig, wenn man z.b. den Synchronization Mode auf No Synchronization gesetzt hat! Das geht nun nur noch per Control-M EM CLI: [em] bedeutet, dass die Kommandozeile bei Unix/Linux mit em beginnen muss! [em] cli [-U <user_name> [-P <password>] -pf <password file>] -H <GUI Server Name> -FOLDER_DELETE <CTM_name> <table_name> [<library> *] Local 25
Lokales löschen von Foldern im Control-M EM 2016 Vorher Im Control-M Server ist der Folder immer noch vorhanden! vsls129% schedt dailyname schedtab -----------+--------------------- SYSTEM Systemarbeiten_OS Test SYSTEM Systemarbeiten_CTM ATEC0500_Beispiele PLAN0700 Test_SUBSTR ATEC0200_BESTPRACTICE SYSTEM Systemarbeiten_EM (7 rows) Nachher 26
Lokales löschen von Foldern im Control-M EM 2016 Diese Meldung erscheint dann, wenn man den gelöschten Folder wieder öffnen möchte! Dann muss man natürlich den guten alten Download durchführen. Entweder in der GUI oder per Utility: [em] cli [-U <user_name> [-P <password>] -PF <password file>] -H <Server Name> [-DDMM] [-BY_FORCE] [-ACTION_REASON <Auditfeld Reason>] [-ACTION_NOTE <Auditfeld Description>] -FOLDER_DOWNLOAD <CTM_name> <folder_name> [<library>*] 27
2016 Ein paar weitere nützliche Dinge VARIABLEN SYSTEMPARAMETER 28
2016 VARIABLEN 29
Umgebungsvariablen in Control-M Jobs nutzen 2016 Braucht man Umgebungsvariablen in seinem Job, können diese ausgelesen werden über %%GETENV 30
Neue Variablen (ab V9 Fixpack 100) %%$GROUP_ORD - will contain 36 base parent order number %%$TABLE_ID - will contain 36 base parent order number %%FOLDER_ID - will contain decimal parent order number %%$FOLDER_ID - will contain 36 base parent order number, %%SMART_ORDERID - will contain the SMART (outer most parent) order number in decimal %%$SMART_ORDERID - will contain the SMART (outer most parent) order number in base 36 2016 31
2016 SYSTEMPARAMETER 32
Wichtige Systemparameter für Control-M EM 2016 Archivierte Jobnetze (History) erhöhen: MaxOldDay MaxOldTotal 14 28 (2) (4) Audit History länger speichern: AuditHistoryDays 31 (1) 33
Wichtige Systemparameter für Control-M EM 2016 Per Default ALLE neu angelegten Folder automatisch mit dem User Daily SYSTEM (Automatic Order) versehen AutomaticOrderMethodByDefault 0 (1) Wenn man das nicht haben will, dann muss man diesen Parameter auf 0 setzen und die Control-M EM Server Prozesse GUI_Server, Gateway(s) durchstarten! Per Default werden leere Smart Folder automatisch ausgeblendet, auch wenn sie noch aktiv (im Status Executing oder Held) sind! ViewpointPolicy SELECT_JOBS_AND_SG (SELECT_JOBS) Wenn man das nicht haben will, was absolut zu empfehlen ist, dann muss man diesen Parameter auf SELECT_JOBS_AND_SG setzen und sich aus dem Control-M EM WLA Client ab- und anmelden! 34
Wichtige Systemparameter für Control-M Server 2016 NOT_ORDERED_JOB_ALERT 0 Liefert per Default folgende Meldung im Alert Fenster: ONE OR MORE JOBS IN DAILY <daily_name> WERE NOT ORDERED Wenn man das nicht haben will auf 2 setzen (Empfehlung)! STATISTICS_CLEANUP_IN_NEWDAY Y - Wenn auf N gesetzt wird die Statistik nicht mehr beim Tageswechsel reorganisiert (New Day läuft schneller!). Dann sollte man aber ctmruninf purge einmal am Tag laufen lassen! 35
Wichtige Systemparameter für Control-M Server 2016 Sysout Größe für Output-Abfrage für WLA-Client begrenzen (in KB): OUTPUT_LIMIT_SIZE nnnn Output Fenster auf 132 Zeichen Breite umstellen: OUTPUT_WINDOW_SIZE 132 (80) Mail Subject ohne Shout by orderno Prefix: MAIL_ADD_SUBJECT_PREFIX N Mail Prefix Text Mail message from Control-M unterdrücken: MAIL_ADD_BODY_PREFIX N 36
Wichtige Systemparameter für Control-M Server 2016 CCM Fehlermeldung bei Agent-Nichtverfügbarkeit erst nach 3 Prüfungen: CTM_CONFIG_AGENT_AGENT_UNAVAIL_THRESHOLD 3 Control-M Agents nicht automatisch suchen (lassen), wenn im Job definiert aber nicht existiert (Meldung Discovery im CCM) HOST_AUTODISCOVER N (Y) Alert erzeugen, wenn AutoEdit Variablen nicht aufgelöst werden: CTM_AUTOEDIT_SHOUT_ON_ERROR_URGENCY <urgency> N Nicht senden R Gelbe Meldung (Default) U Orange Meldung V Rote Meldung 37
Wichtige Systemparameter für Control-M Agent 2016 Änderungen der Zugriffsrechte vom Job-Sysout auf einem Unix/Linux-Agenten im User-Mode (zulässige Oktale: 660 664 666): OUTPUT_MODE_AS_USER 644 Änderungen der Zugriffsrechte vom Job-Sysout auf einem Unix/Linux-Agenten im Root-Modus (zulässige Oktale: 600 640 644 660 664 666): OUTPUT_MODE 644 (600) Alarmiert über CCM (Xalerts), wenn der Plattenplatz des Agenten HOME-Directory diesen Wert unterschreitet (Default 100MB): MIN_FREE_SPACE_WARN nnn 38
Wichtige Systemparameter für Control-M Agent 2016 Legt die max. Größe (in KB) vom Anfang eines Job-Sysouts fest, der in der EM GUI abgerufen werden kann: OUTPUT_LIMIT_SIZE_START nnn Legt die max. Größe (in KB) vom Ende eines JobSysouts fest, der in der EM GUI abgerufen werden kann: OUTPUT_LIMIT_SIZE_END nnn Startet mehrere p_ctmat (Tracker) Prozesse, um sehr viele Jobs (> 300) parallel zu überwachen MULTITRACK_ENABLED Y 39
Vielen Dank für Ihre Aufmerksamkeit! 2016 40
2016 Vielen Dank für Ihre Aufmerksamkeit 41