Adm01: Tipps und
Skripts aus dem Leben
eines Connections
Admins
Christoph Stöttner, Fritz & Macziol GmbH
Klaus Bild, Belsoft AG
Klaus Bild
Zürcher, Heimweh Bayer,
Vater von 2 Söhnen
§  Consultant
§  Fachgebiete IBM Connections &
IBM Sametime
§  Windows, Linux...
Christoph Stöttner
Bayer, liebt Wandern,
Vater von 2 Töchtern
§  Consultant
§  Fachgebiete IBM Connections &
IBM Domino Infrastrukturen
§  Linux, Linux, Linux,
Windows, System I, AIX
Über uns
§  Einleitung
§  Installation und Konfiguration
§  Autostart
§  Performance Tuning der
DataSources
§  Einrichten der J2EE Sicherheits
Rollen
§  Konfigurieren der JVM Log Dateien
§  Setzen der JVM Heap Size
§  Täglicher Betrieb –
Business as Usal
§  Testen der External ID gegen LDAP
§  Aktivieren und Deaktivieren von
Benutzern
§  Synchronisation der externen Ids
§  Arbeiten mit Policies
§  Verschieben von Communities
§  Reorganisieren der Datenbanken
§  Backup der Datenbanken
§  Restore der Datenbanken
Agenda
Über diesen Vortrag
§  IBM Connect 2014 - BP307 –
Practical Solutions for Connections Administrators - Tips and Scripts
for Your Daily Business
http://www.slideshare.net/ChristophStoettner/ibm-connect-2014-bp307
Einleitung
§  Administration/Konfiguration einer IBM Connections Umgebung
passiert zum Hauptteil über:
§  Integrated Solution Console:
§  Browserbasiert, Mausklick intensiv, träge, Zeitintensiv
§  wsadmin:
§  Verschiedene Befehlssätze für WAS/Connections, komplexe Befehle,
Eingabe Fehler anfällig
-> Nutzung von Skripts um Zeit zu sparen und Fehler zu
vermeiden
Warnung
§  Mit Skripts
§  Shell / BASH / ZSH / KSH / SH, Jython / JACL
§  Powershell / Batch / VB, SQL
§  Kann man...
§  Viel Zeit sparen!
§  Sehr viel in sehr kurzer Zeit ändern/zerstören!
§  Darum sollten Sie:
§  Vorsicht walten lassen, zweimal Überlegen!
§  Backups erstellen
§  Ein Testsystem benutzen
§  Änderungen dokumentieren Die Benutzung aller Skripts auf diesen
Folien und in den angegebenen Download
Repositories erfolgt auf eigene Gefahr und
ohne Garantie!
Jython
§  Gut lesbarer Code
§  Shell und Command Line Interpreter
§  Kann direkt in Shell getestet werden
§  Variablen: Typzuweisung unnötig, Integer mit “ oder ‘
§  Range: Praktisch für Schleifen, startet mit 0!
§  Listen
§  Dictionaries
§  if – elif – else
§  Achtung: Websphere 8 nutzt Python/Jython Version 2.1 (aktuell 3.3.5)
Installation und
Konfiguration
Autostart IBM WebSphere Application Server
§  Verschiedene Möglichkeiten gefunden und diskutiert
§  Einfachster und stabilster Weg:
§  Deployment Manager und Node Agents als Dienst
§  Application Server über Monitoring Policy
§  Starten der Application Server über Dienst, Batch oder Skript?
§  Probleme mit Cluster Failover
§  Abhängigkeiten
§  Dienst mit wasservice.sh|bat registrieren
§  Monitoring Policy auf "Stopped" für Installation und Update!
WebSphere Dienst unter Linux
WebSphere Dienst unter Windows
cd %WAS_HOME%/bin
wasservice.bat -add Dmgr -serverName dmgr -profilePath D:IBMWebSphere
AppServerprofilesDmgr01 -encodeParams -restart true -startType automatic
-stopArgs "-username wasadmin -password password"
wasservice.bat -add Node -serverName nodeagent -profilePath D:IBM
WebSphereAppServerprofilesAppSrv01 -encodeParams -restart true -
startType automatic -stopArgs "-username wasadmin -password password –
stopservers"
Monitoring Policy
§  ISC:
§  jeden Application Server öffnen (1 – 15x)
§  Server – Infrastructure – Java and Process Management – Monitoring Pol.
§  "Node restart state" auf "Running" setzen
§  wsadmin:
§  cfgMonitoringPolicy.py
Autostart HTTP Server
§  Windows Installer legt Dienst für IHS und Admin Service an
§  httpd.exe –k install (-c admin.conf) –n "IBM HTTP Admin"
§  Linux / AIX:
§  Symbolic Links
§  ln –s /opt/IBM/HTTPServer/bin/apachectl /etc/init.d/
§  ln –s /opt/IBM/HTTPServer/bin/adminctl /etc/init.d/
§  Dienst hinzufügen
§  chkconfig –add apachectl
§  chkconfig –add adminctl
Performance Tuning der DataSources
§  Performance Tuning IBM Connections
§  Erhöhen der Werte für min- und maxConnections der DataSources
§  Grundlage für Werte:
§  Performance Tuning Guide IBM Connections 4.0
§  Performance Tuning Guide Addendum for 4.5
§  Diese Einstellungen sollten regelmässig mit dem “Tivoli Performance
Viewer” kontrolliert werden
Konfigurieren der DataSources
§  18 DataSources müssen geändert werden (ca. 100 Mausklicks)
§  Wie wär es ein Skript zu nutzen:
§  wsadmin.sh -lang jython -f cfgDataSource.py
§  Dauert ca. 30 Sekunden
um alle Parameter der
DataSources anzupassen
Konfigurieren der DataSources
Einrichten der J2EE Sicherheits Rollen
§  Initiales setzen der Rollen über
§  cfgJ2EERolesRestricted.py (kein Zugriff für Anonymous)
§  cfgJ2EERolesUnRestricted.py
§  Zeitersparnis ca. 30 Minuten gegen ISC
§  Es können Benutzer und Gruppen gesetzt werden
§  Nach dem Speichern (AdminConfig.save()) starten alle Applikationen
neu!
J2EE Rollen für spezielle Anwendungen
§  Skripts für initiale Rollenkonfiguration für viele Umgebungen nicht
granular genug
§  Deaktivierung und Aktivierung für einzelne Benutzer und/oder Gruppen:
§  Global Moderation – cfgJ2EERoleGlobalModerator.py
§  Metrics Reader – cfgJ2EERoleMetricsReader.py
§  Metrics Report Run – cfgJ2EERoleMetricsReportRun.py
§  Mailintegration (Socialmail) – cfgJ2EERoleSocialMail.py
§  Vorsicht: auch hier starten die geänderten Applikationen neu!
J2EE Rollen – Backup – cfgJ2EERoleBackup
§  bis Version 4.0 wurden oft bei Fixpackinstallationen die J2EE Rollen auf
Default gesetzt
§  Problem:
§  geschlossene Umgebungen plötzlich public
§  wurden die Einstellungen dokumentiert (wer hat welche Rolle)?
§  Skript:
§  Backup der J2EE Rollen aller Anwendungen (nicht nur Connections)
§  Backup als Text-Dateien in einem anzugebenden Ordner
J2EE Rollen – Restore – cfgJ2EERoleRestore
§  Backup kann auch wiederhergestellt werden
§  Vorteile:
§  alle Rollen gesetzt wie zum Zeitpunkt des Backups
§  Dateien können editiert und angepasst werden (ersetzen eines Benutzers)
§  Restore von Rollenbackups eines DEV oder QA Systems
Konfigurieren der JVM Logs - cfgLogFiles
§  Default für JVM Logs (SystemOut & SystemErr):
§  Grösse: 1MB
§  5 historische Logs
§  Zu klein für Troubleshooting!
§  Besser:
§  20 – 40 MB
§  5 – 10 Log Datei Rotation
§  wsadmin.sh -lang jython -f cfgLogFiles.py
Setzen der JVM Heap Size – cfgJVMHeap
§  Performance Tuning Guide gibt Empfehlung für JVM Max und Initial Heap
§  Konfiguration für Deployment Manager, Node Agents und Application Server
§  Monitoring über Verbose Garbage Collection
§  initial Heap = max Heap (bis zu 10% Performance Gewinn)
§  Performance Tuning Guide Addendum für 4.5 empfiehlt das Gleichsetzen der
Parameter
§  wsadmin.sh -lang jython -f cfgJVMHeap.py
§  Zeigt aktuelle Grösse der initial- und maximumHeapSize für alle JVMs an
§  Fragt nach Wert für initialHeapSize und maximumHeapSize für alle JVMs
§  “Return” lässt den Wert unverändert
Konfigurieren der DataSources
Täglicher Betrieb
– Business as Usal
Scriptumgebung einrichten
§  cnxMember* Skripts benutzen JDBC um Datenbanken auszulesen
§  Einfacher Weg:
§  %WAS_HOME%profilesDmgr01binsetupCmdLine.bat editieren
§  JDBC Pfad (z.B. D:IBMSQLIBjava) an WAS_EXT_DIRS anhängen
§  Besser:
§  wsadmin.bat und setupCmdLine.bat kopieren und anpassen
§  cnxMember* Skripts anpassen
§  DB Benutzer
§  Passwort
§  Hostname und DB
Scriptumgebung einrichten (2)
Testen der External ID gegen LDAP
§  Manchmal können sich einzelne Benutzer nicht anmelden
§  oft nur einzelne Connections Apps betroffen
§  UUID und GUID nicht mehr synchron
§  Umbenennungen planen
§  Skript, welches die LDAP GUID und Connections UUID überprüft
§  cnxMemberCheckExIDByEmail
§  Skript liest die PROF_GUID der peopleDB
Aktivieren und Deaktivieren von Benutzern
§  Nach Umbenennung und auch manchmal ohne Grund
§  Benutzerinformation nicht synchron über Applikationen
§  Profiles kann geöffnet werden, aber einzelne Anwendungen nicht
§  Deaktivieren und Aktivieren ist oft die Lösung
§  Manuell aufwändig, da UID und E-Mail nach Deaktivierung gesetzt
werden müssen (wurden beim Deaktivieren gelöscht)
§  Skript cnxMemberDeactandActByEmail
§  speichert E-Mail und UID
§  JDBC notwendig
Arbeiten mit Policies
§  Erstellen und anpassen von Policies ist meist sehr mühsam
§  Library Grösse muss als Long definiert werden
(z.B. 2 GB = 2147483648L)
§  Ein Beispiel:
§  FilesPolicyService.edit("2d93497d-065a-4022ae25-a4b52598d11a", "My Policy",
2147483648L)
§  Um zu editieren muss die UUID der Policy herausgefunden werden, Grösse in
Long berechnet und kopiert werden...
§  wsadmin.sh -lang jython -f CnxFilesPolicies.py
Arbeiten mit Policies
Verschieben von Communities
§  Seit der Connections Version 4.5 CR3 können Communities verschoben
werden (Sub-Community->Community / Community->Sub-Community)
§  Kann über wsadmin Befehl ausgeführt werden, dazu muss man aber
Community ID‘s wissen
§  Einfacher über:
§  wsadmin.sh –lang jython –f cnxCommunitiesReparenting.py
Verschieben von Communities
DB2 – Datenbank Optimierung
§  Performance Tuning Guide:
§  Reorganisation (Ändern der physischen Datenanordnung auf HDD) sollte
immer dann durchgeführt werden, wenn eine grosse Menge an Daten
hinzugefügt wurde
§  Runstat (Sammeln von Statistikdaten) sollte regelmässig durchgeführt
werden, damit DB Abfragen möglichst optimal ausgeführt werden
§  Reorganisation und Runstat können mit Skripts ausgeführt werden,
welche im connections.sql Verzeichnis gefunden werden
§  Es gibt auch die Möglichkeit beides über die Automatische Wartung zu
konfigurieren
DB2 - Reorganisieren der Datenbanken
§  Reorg sollte nur ausgeführt werden, wenn alle Applikationen gestoppt
sind, DBs werden Offline genommen -> während Wartungsfenstern
§  Ausführen von 10 Skripts durch unterschiedliche Aufrufe -> mühsam
§  Einfacher über Skript reorg.sh/reorg.bat
DB2 - Runstats
§  Runstats sollte regelmässig ausgeführt werden, Applikationen dürfen
gestartet sein, DBs werden nicht Offline genommen
-> während Randzeiten
§  Ausführen von 10 Skripts durch unterschiedliche Aufrufe -> mühsam
§  Einfacher über Skript runstats.sh/runstats.bat
DB2 - Runstats
§  Erstellen eines geplanten
Tasks (Windows)
§  Erstellen eines Cron Jobs (Linux)
§  crontab -e
§  0 1 * * * cd /opt/install/Wizards/connections.sql;./reorg.sh
§  -> Ausführen des Skripts jeden Tag um 01:00
Backup der Datenbanken
§  Anpassen der Datenbankkonfiguration
§  db2 update database configuration for BLOGS using
AUTO_DEL_REC_OBJ ON num_db_backups 1 rec_his_retentn 0 logarchmeth1 disk:D:DB2LOGS
§  Skript configureArchiveLogs.sh/configureArchiveLogs.bat
Automatisches
Löschen von
Recovery-Objekten
Anzahl der
Datenbank-
Backups
Aufbewahrungs-
zeitraum für
Recoveryprotokoll
Primäre
Protokollarchivie-
rungsmethode
Backup der Datenbanken
§  Erstellen eines Offline Backup
§  Nach dem Ändern der DB Konfiguration muss zuerst ein Offline
Backup erstellt werden, ansonsten können Sie (oder Websphere) nicht
auf die DBs zugreifen
§  Skript backupDatabasesOffline.sh/backupDatabasesOffline.bat
Backup der Datenbanken
§  Ab nun können Online Backup erstellt werden, sprich Backup während
des Betriebs -> geplanter Task, Cron Job
§  Skript backupDatabasesOnline.sh/backupDatabasesOnline.bat
Restore der Datenbanken
§  Löschen der Datenbank, welche wiederhergestellt werden soll (Bsp. BLOGS)
§  DB2 drop database BLOGS
§  Die Datenbank mit dem DB Wizard neu erstellen
§  Restore der Daten mit dem Backup
§  db2 restore database BLOGS from /opt/db2backup REPLACE EXISTING
§  db2 restore database BLOGS LOGS from /opt/db2backup LOGTARGET /opt/db2logs
§  db2 rollforward database BLOGS to end of logs overflow log path "(/opt/db2logs)"
§  db2 rollforward database BLOGS complete overflow log path "(/opt/db2logs) “
§  Reorganisieren der Datenbank
§  db2 -td@ -vf reorg.sql
Ressourcen
Add On – cnxmenu.py
§  Menu für alle vorhandenen Jython Skripts
Download aller gezeigter Skripts
§  Alle gezeigten Skripts (und weitere) können unter folgendem Link
heruntergeladen werden (Nutzung auf eigene Gefahr und ohne
Garantie):
§  https://github.com/stoeps13/ibmcnxscripting
§  Seit 21. November 2013 ist diese Sammlung auch ein OpenNTF Projekt
– Administration Scripts for WebSphere
§  http://preview.tinyurl.com/otmq6mj
Wir sind froh um Hilfe
§ Helfen Sie uns diese Skripts zu erweitern
§ Diskutieren Sie mit uns neue Ideen
§ Sie können uns auch gerne bei folgenden Punkten unterstützen:
§ Erstellen der Dokumentation
§ Testen von Skripts in ihrer Umgebung
§  Klaus Bild
§  Skype: kbuilder
§  Twitter: kbild
§  Blog: http://kbild.ch
§  http://about.me/kbild
§  Christoph Stoettner
§  Skype: christophstoettner
§  Twitter: stoeps
§  Blog: http://www.stoeps.de
§  http://about.me/stoeps
Unsere Kontaktdaten

Tipps und Skripts aus dem Leben eines Connections Admins

  • 1.
    Adm01: Tipps und Skriptsaus dem Leben eines Connections Admins Christoph Stöttner, Fritz & Macziol GmbH Klaus Bild, Belsoft AG
  • 2.
    Klaus Bild Zürcher, HeimwehBayer, Vater von 2 Söhnen §  Consultant §  Fachgebiete IBM Connections & IBM Sametime §  Windows, Linux... Christoph Stöttner Bayer, liebt Wandern, Vater von 2 Töchtern §  Consultant §  Fachgebiete IBM Connections & IBM Domino Infrastrukturen §  Linux, Linux, Linux, Windows, System I, AIX Über uns
  • 3.
    §  Einleitung §  Installationund Konfiguration §  Autostart §  Performance Tuning der DataSources §  Einrichten der J2EE Sicherheits Rollen §  Konfigurieren der JVM Log Dateien §  Setzen der JVM Heap Size §  Täglicher Betrieb – Business as Usal §  Testen der External ID gegen LDAP §  Aktivieren und Deaktivieren von Benutzern §  Synchronisation der externen Ids §  Arbeiten mit Policies §  Verschieben von Communities §  Reorganisieren der Datenbanken §  Backup der Datenbanken §  Restore der Datenbanken Agenda
  • 4.
    Über diesen Vortrag § IBM Connect 2014 - BP307 – Practical Solutions for Connections Administrators - Tips and Scripts for Your Daily Business http://www.slideshare.net/ChristophStoettner/ibm-connect-2014-bp307
  • 5.
    Einleitung §  Administration/Konfiguration einerIBM Connections Umgebung passiert zum Hauptteil über: §  Integrated Solution Console: §  Browserbasiert, Mausklick intensiv, träge, Zeitintensiv §  wsadmin: §  Verschiedene Befehlssätze für WAS/Connections, komplexe Befehle, Eingabe Fehler anfällig -> Nutzung von Skripts um Zeit zu sparen und Fehler zu vermeiden
  • 6.
    Warnung §  Mit Skripts § Shell / BASH / ZSH / KSH / SH, Jython / JACL §  Powershell / Batch / VB, SQL §  Kann man... §  Viel Zeit sparen! §  Sehr viel in sehr kurzer Zeit ändern/zerstören! §  Darum sollten Sie: §  Vorsicht walten lassen, zweimal Überlegen! §  Backups erstellen §  Ein Testsystem benutzen §  Änderungen dokumentieren Die Benutzung aller Skripts auf diesen Folien und in den angegebenen Download Repositories erfolgt auf eigene Gefahr und ohne Garantie!
  • 7.
    Jython §  Gut lesbarerCode §  Shell und Command Line Interpreter §  Kann direkt in Shell getestet werden §  Variablen: Typzuweisung unnötig, Integer mit “ oder ‘ §  Range: Praktisch für Schleifen, startet mit 0! §  Listen §  Dictionaries §  if – elif – else §  Achtung: Websphere 8 nutzt Python/Jython Version 2.1 (aktuell 3.3.5)
  • 8.
  • 9.
    Autostart IBM WebSphereApplication Server §  Verschiedene Möglichkeiten gefunden und diskutiert §  Einfachster und stabilster Weg: §  Deployment Manager und Node Agents als Dienst §  Application Server über Monitoring Policy §  Starten der Application Server über Dienst, Batch oder Skript? §  Probleme mit Cluster Failover §  Abhängigkeiten §  Dienst mit wasservice.sh|bat registrieren §  Monitoring Policy auf "Stopped" für Installation und Update!
  • 10.
  • 11.
    WebSphere Dienst unterWindows cd %WAS_HOME%/bin wasservice.bat -add Dmgr -serverName dmgr -profilePath D:IBMWebSphere AppServerprofilesDmgr01 -encodeParams -restart true -startType automatic -stopArgs "-username wasadmin -password password" wasservice.bat -add Node -serverName nodeagent -profilePath D:IBM WebSphereAppServerprofilesAppSrv01 -encodeParams -restart true - startType automatic -stopArgs "-username wasadmin -password password – stopservers"
  • 12.
    Monitoring Policy §  ISC: § jeden Application Server öffnen (1 – 15x) §  Server – Infrastructure – Java and Process Management – Monitoring Pol. §  "Node restart state" auf "Running" setzen §  wsadmin: §  cfgMonitoringPolicy.py
  • 13.
    Autostart HTTP Server § Windows Installer legt Dienst für IHS und Admin Service an §  httpd.exe –k install (-c admin.conf) –n "IBM HTTP Admin" §  Linux / AIX: §  Symbolic Links §  ln –s /opt/IBM/HTTPServer/bin/apachectl /etc/init.d/ §  ln –s /opt/IBM/HTTPServer/bin/adminctl /etc/init.d/ §  Dienst hinzufügen §  chkconfig –add apachectl §  chkconfig –add adminctl
  • 14.
    Performance Tuning derDataSources §  Performance Tuning IBM Connections §  Erhöhen der Werte für min- und maxConnections der DataSources §  Grundlage für Werte: §  Performance Tuning Guide IBM Connections 4.0 §  Performance Tuning Guide Addendum for 4.5 §  Diese Einstellungen sollten regelmässig mit dem “Tivoli Performance Viewer” kontrolliert werden
  • 15.
    Konfigurieren der DataSources § 18 DataSources müssen geändert werden (ca. 100 Mausklicks) §  Wie wär es ein Skript zu nutzen: §  wsadmin.sh -lang jython -f cfgDataSource.py §  Dauert ca. 30 Sekunden um alle Parameter der DataSources anzupassen
  • 16.
  • 17.
    Einrichten der J2EESicherheits Rollen §  Initiales setzen der Rollen über §  cfgJ2EERolesRestricted.py (kein Zugriff für Anonymous) §  cfgJ2EERolesUnRestricted.py §  Zeitersparnis ca. 30 Minuten gegen ISC §  Es können Benutzer und Gruppen gesetzt werden §  Nach dem Speichern (AdminConfig.save()) starten alle Applikationen neu!
  • 18.
    J2EE Rollen fürspezielle Anwendungen §  Skripts für initiale Rollenkonfiguration für viele Umgebungen nicht granular genug §  Deaktivierung und Aktivierung für einzelne Benutzer und/oder Gruppen: §  Global Moderation – cfgJ2EERoleGlobalModerator.py §  Metrics Reader – cfgJ2EERoleMetricsReader.py §  Metrics Report Run – cfgJ2EERoleMetricsReportRun.py §  Mailintegration (Socialmail) – cfgJ2EERoleSocialMail.py §  Vorsicht: auch hier starten die geänderten Applikationen neu!
  • 19.
    J2EE Rollen –Backup – cfgJ2EERoleBackup §  bis Version 4.0 wurden oft bei Fixpackinstallationen die J2EE Rollen auf Default gesetzt §  Problem: §  geschlossene Umgebungen plötzlich public §  wurden die Einstellungen dokumentiert (wer hat welche Rolle)? §  Skript: §  Backup der J2EE Rollen aller Anwendungen (nicht nur Connections) §  Backup als Text-Dateien in einem anzugebenden Ordner
  • 20.
    J2EE Rollen –Restore – cfgJ2EERoleRestore §  Backup kann auch wiederhergestellt werden §  Vorteile: §  alle Rollen gesetzt wie zum Zeitpunkt des Backups §  Dateien können editiert und angepasst werden (ersetzen eines Benutzers) §  Restore von Rollenbackups eines DEV oder QA Systems
  • 21.
    Konfigurieren der JVMLogs - cfgLogFiles §  Default für JVM Logs (SystemOut & SystemErr): §  Grösse: 1MB §  5 historische Logs §  Zu klein für Troubleshooting! §  Besser: §  20 – 40 MB §  5 – 10 Log Datei Rotation §  wsadmin.sh -lang jython -f cfgLogFiles.py
  • 22.
    Setzen der JVMHeap Size – cfgJVMHeap §  Performance Tuning Guide gibt Empfehlung für JVM Max und Initial Heap §  Konfiguration für Deployment Manager, Node Agents und Application Server §  Monitoring über Verbose Garbage Collection §  initial Heap = max Heap (bis zu 10% Performance Gewinn) §  Performance Tuning Guide Addendum für 4.5 empfiehlt das Gleichsetzen der Parameter §  wsadmin.sh -lang jython -f cfgJVMHeap.py §  Zeigt aktuelle Grösse der initial- und maximumHeapSize für alle JVMs an §  Fragt nach Wert für initialHeapSize und maximumHeapSize für alle JVMs §  “Return” lässt den Wert unverändert
  • 23.
  • 24.
  • 25.
    Scriptumgebung einrichten §  cnxMember*Skripts benutzen JDBC um Datenbanken auszulesen §  Einfacher Weg: §  %WAS_HOME%profilesDmgr01binsetupCmdLine.bat editieren §  JDBC Pfad (z.B. D:IBMSQLIBjava) an WAS_EXT_DIRS anhängen §  Besser: §  wsadmin.bat und setupCmdLine.bat kopieren und anpassen §  cnxMember* Skripts anpassen §  DB Benutzer §  Passwort §  Hostname und DB
  • 26.
  • 27.
    Testen der ExternalID gegen LDAP §  Manchmal können sich einzelne Benutzer nicht anmelden §  oft nur einzelne Connections Apps betroffen §  UUID und GUID nicht mehr synchron §  Umbenennungen planen §  Skript, welches die LDAP GUID und Connections UUID überprüft §  cnxMemberCheckExIDByEmail §  Skript liest die PROF_GUID der peopleDB
  • 28.
    Aktivieren und Deaktivierenvon Benutzern §  Nach Umbenennung und auch manchmal ohne Grund §  Benutzerinformation nicht synchron über Applikationen §  Profiles kann geöffnet werden, aber einzelne Anwendungen nicht §  Deaktivieren und Aktivieren ist oft die Lösung §  Manuell aufwändig, da UID und E-Mail nach Deaktivierung gesetzt werden müssen (wurden beim Deaktivieren gelöscht) §  Skript cnxMemberDeactandActByEmail §  speichert E-Mail und UID §  JDBC notwendig
  • 29.
    Arbeiten mit Policies § Erstellen und anpassen von Policies ist meist sehr mühsam §  Library Grösse muss als Long definiert werden (z.B. 2 GB = 2147483648L) §  Ein Beispiel: §  FilesPolicyService.edit("2d93497d-065a-4022ae25-a4b52598d11a", "My Policy", 2147483648L) §  Um zu editieren muss die UUID der Policy herausgefunden werden, Grösse in Long berechnet und kopiert werden... §  wsadmin.sh -lang jython -f CnxFilesPolicies.py
  • 30.
  • 31.
    Verschieben von Communities § Seit der Connections Version 4.5 CR3 können Communities verschoben werden (Sub-Community->Community / Community->Sub-Community) §  Kann über wsadmin Befehl ausgeführt werden, dazu muss man aber Community ID‘s wissen §  Einfacher über: §  wsadmin.sh –lang jython –f cnxCommunitiesReparenting.py
  • 32.
  • 33.
    DB2 – DatenbankOptimierung §  Performance Tuning Guide: §  Reorganisation (Ändern der physischen Datenanordnung auf HDD) sollte immer dann durchgeführt werden, wenn eine grosse Menge an Daten hinzugefügt wurde §  Runstat (Sammeln von Statistikdaten) sollte regelmässig durchgeführt werden, damit DB Abfragen möglichst optimal ausgeführt werden §  Reorganisation und Runstat können mit Skripts ausgeführt werden, welche im connections.sql Verzeichnis gefunden werden §  Es gibt auch die Möglichkeit beides über die Automatische Wartung zu konfigurieren
  • 34.
    DB2 - Reorganisierender Datenbanken §  Reorg sollte nur ausgeführt werden, wenn alle Applikationen gestoppt sind, DBs werden Offline genommen -> während Wartungsfenstern §  Ausführen von 10 Skripts durch unterschiedliche Aufrufe -> mühsam §  Einfacher über Skript reorg.sh/reorg.bat
  • 35.
    DB2 - Runstats § Runstats sollte regelmässig ausgeführt werden, Applikationen dürfen gestartet sein, DBs werden nicht Offline genommen -> während Randzeiten §  Ausführen von 10 Skripts durch unterschiedliche Aufrufe -> mühsam §  Einfacher über Skript runstats.sh/runstats.bat
  • 36.
    DB2 - Runstats § Erstellen eines geplanten Tasks (Windows) §  Erstellen eines Cron Jobs (Linux) §  crontab -e §  0 1 * * * cd /opt/install/Wizards/connections.sql;./reorg.sh §  -> Ausführen des Skripts jeden Tag um 01:00
  • 37.
    Backup der Datenbanken § Anpassen der Datenbankkonfiguration §  db2 update database configuration for BLOGS using AUTO_DEL_REC_OBJ ON num_db_backups 1 rec_his_retentn 0 logarchmeth1 disk:D:DB2LOGS §  Skript configureArchiveLogs.sh/configureArchiveLogs.bat Automatisches Löschen von Recovery-Objekten Anzahl der Datenbank- Backups Aufbewahrungs- zeitraum für Recoveryprotokoll Primäre Protokollarchivie- rungsmethode
  • 38.
    Backup der Datenbanken § Erstellen eines Offline Backup §  Nach dem Ändern der DB Konfiguration muss zuerst ein Offline Backup erstellt werden, ansonsten können Sie (oder Websphere) nicht auf die DBs zugreifen §  Skript backupDatabasesOffline.sh/backupDatabasesOffline.bat
  • 39.
    Backup der Datenbanken § Ab nun können Online Backup erstellt werden, sprich Backup während des Betriebs -> geplanter Task, Cron Job §  Skript backupDatabasesOnline.sh/backupDatabasesOnline.bat
  • 40.
    Restore der Datenbanken § Löschen der Datenbank, welche wiederhergestellt werden soll (Bsp. BLOGS) §  DB2 drop database BLOGS §  Die Datenbank mit dem DB Wizard neu erstellen §  Restore der Daten mit dem Backup §  db2 restore database BLOGS from /opt/db2backup REPLACE EXISTING §  db2 restore database BLOGS LOGS from /opt/db2backup LOGTARGET /opt/db2logs §  db2 rollforward database BLOGS to end of logs overflow log path "(/opt/db2logs)" §  db2 rollforward database BLOGS complete overflow log path "(/opt/db2logs) “ §  Reorganisieren der Datenbank §  db2 -td@ -vf reorg.sql
  • 41.
  • 42.
    Add On –cnxmenu.py §  Menu für alle vorhandenen Jython Skripts
  • 43.
    Download aller gezeigterSkripts §  Alle gezeigten Skripts (und weitere) können unter folgendem Link heruntergeladen werden (Nutzung auf eigene Gefahr und ohne Garantie): §  https://github.com/stoeps13/ibmcnxscripting §  Seit 21. November 2013 ist diese Sammlung auch ein OpenNTF Projekt – Administration Scripts for WebSphere §  http://preview.tinyurl.com/otmq6mj
  • 44.
    Wir sind frohum Hilfe § Helfen Sie uns diese Skripts zu erweitern § Diskutieren Sie mit uns neue Ideen § Sie können uns auch gerne bei folgenden Punkten unterstützen: § Erstellen der Dokumentation § Testen von Skripts in ihrer Umgebung
  • 45.
    §  Klaus Bild § Skype: kbuilder §  Twitter: kbild §  Blog: http://kbild.ch §  http://about.me/kbild §  Christoph Stoettner §  Skype: christophstoettner §  Twitter: stoeps §  Blog: http://www.stoeps.de §  http://about.me/stoeps Unsere Kontaktdaten