4.2 Installation Sybase und Basis-Komponenten

Installation Sybase

→ Bei Update 12 auf 17, Backup DB und UnitTest REST machen

Die Installation von Sybase erfolgt mit separatem Setup

Setup von ftp.i-ag.ch/sybase/ (FileZilla) auf Installations-Server kopieren (inklusive aktuelle Patches)
Sybase Standard-Installation durchführen mit Administratoren-Rechten
Setup in der gleichen Sprache wie das Betriebssystem
SQL Anywhere installieren
Registrationsschlüssel gemäss Textfile "Sybase Registrationssschlüssel.txt"
User Name: Immer 'User', Organisation: Kundenkürzel (entsprechend des Namens des DB-Files), License units: Anzahl Sybase-Lizenzen (Anzahl Core-Lizenzen im Lizenzfile)
Installation mit Setuptyp "Angepasst"
Bei der Feature-Liste zusätzlich die SQL Anywhere Server 32-Bit Option aktivieren
SQL Anywhere for Windows Mobile wird nicht benötigt
UltraLite wird nicht verwendet
Checkbox “SQL Anywhere 17 erlauben, Informationen zur Produkt-/Funktionsnutzungen an SAP….“ deaktivieren
Updates/Patchen installieren (immer als Administrator)
→ Wichtig: Checkbox "Migrationstool für SQL Anywhere - Monitor" NICHT aktivieren 
SA17010_Windows_6933_EBF.exe

Migration von Sybase 12 auf Sybase 17 (zusätzliche Schritte)

Grundsatz: Setup Sybase 17 gemäss aktuellem Performa-Standard und Vergleich Sybase-Settings Sybase 12 und Sybase 17 (Abweichungen sind zu klären)
Lizenzierung analog Sybase 12 erneut aktivieren
Sybase → Dienste → pro Dienst den Dateinamen im Register "Konfiguration" auf "C:\Program Files\SQL Anywhere 17\Bin64\dbsrv17.exe" anpassen
In den PerformX-Verzeichnissen (PROD/TEST/SCHUL) das DSN anpassen auf "Driver=SQL Anywhere 17"
Falls vorhanden das Sybase.dsn von Schnittstellen (BPE, REST) anpassen
Neuinstallation ODBC auf notwendigen Client-Systemen, Neueinrichtung und Test (Koordination mit Kunde und Partner z.B. für Digital Signage, PowerBI, Telefonie etc.)
Start → Programme → "SQL Anywhere 12" deinstallieren (Meldungen mit OK bestätigen) 

Lizenzierung Sybase

Falls die Lizenzierung pro Benutzer erworben wurde, ist keine Änderung notwendig
Bei einer Lizenzierung pro Core:
X:\Programme\SQL Anywhere 12\Bin 32\dblic -l processor –u 4 "dbsrv17.lic" (die Zahl "4" steht hier für die Anzahl lizenzierten Cores)
X:\Programme\SQL Anywhere 12\Bin 64\dblic -l processor –u 4 "dbsrv17.lic" (die Zahl "4" steht hier für die Anzahl lizenzierten Cores)
Sybase-Dienst neu starten und Lizenzierung überprüfen

Konfiguration Sybase

Einrichten der Services

Sybase Central starten
Bei SQL Anywhere X den Tab "Services" wählen und über Rechtsklick → New → Service den Service-Dialog aufrufen und die drei benötigten Services für PROD, TEST und SCHUL eröffnen
Name ergänzen PerformX_[InstanzName]_[Port]
Network Database Server
Start-parameter:
-n PerformX_[InstanzName]_[Port]
"d:\PerformX\PXProduktiv\Datenbank\xxxx.db" (Pfad zur Datenbank)
-c [Cache Grösse]M → Gemäss Dokumentation Sybase_Konfig
-ch [Cache Grösse]M → (Aktuell nicht in Verwendung)
-dt d:\performxswap (Swap-File auf Laufwerk D: ausgelagert, wenn PerformX nicht auf der Systempartition C: installiert ist, identisch für alle Dienste)
-x tcpip(Port=[Port])
Port Produktiv: 52151
Port Test: 52152
Port Schulung: 52153
Local System Account
Automatic oder Manual (je nach Anwendung) 

 

Datenbankbenutzer wechseln (nur bei Neuinstallationen)

Bei der Neu-Installation muss das Passwort des Datenbankadministrators (dba) geändert werden. Dieses Passwort wird durch den Systembetreuer des Kunden definiert
Weiter wird der Benutzer "perfadmin" mit administrativen Rechten für die Performa AG erstellt. Das Passwort entspricht dem Performa-Standard für diesen Benutzer
Zuweisung Rollen "Atlas-User" (Execute)
Zuweisen Rolle "PUBLIC" (Execute)
Zuweisen Rolle "SYS_AUTH_DBA_ROLE" (Execute und Administrator)

Temporärer Speicherplatz definieren

In Sybase Central auf die Datenbank verbinden
Datenbank - Optionen
Konfiguration Option "max_temp_Space" → Wert auf "5120m" setzen

Performance-Optimierungen 

Damit die Belastung eines einzelnen PerformX-Tasks auf einen Core eingeschränkt werden kann, sind folgende Konfigurationsschritte vorzunehmen:

In Sybase Central auf die Datenbank verbinden
Datenbank - Optionen
Konfiguration Option "max_query_tasks" → Wert auf "1" setzen
Neustart aller Sybase-Dienste

Erläuterung

Mit dem Wert ‘1’ ist die Anzahl verwendeter Core pro aus PerformX ausgeführtem Task konfiguriert
„0“ = Standard-Einstellung, keine Eingrenzung und somit Beanspruchung aller Cores beim Ausführen eines einzelnen Tasks
„1“ = Pro Task wird ein Core in Anspruch genommen

Die Auslastung kann überprüft werden, in dem PerformX zweimal geöffnet und in jeder Applikation eine grösser Abfrage ausgeführt wird. Mit der Option "1" sollen alle Cores benutzt werden

Diverses

Deaktivierung Sicherheitswarung beim Öffnen des PerformX

Auf der PerformX.exe via rechter Maustaste - Register "Allgemein" - die Meldung "Sicherheit: Die Datei stammt von einem anderen Computer. Der Zugriff wurde aus Sicherheitsgründen eventuell blockiert." mit der Checkbox "Zulassen" aktivieren

Backup Sybase

Das Backup der Sybase-Datenbanken wird je nach Variante automatisiert erstellt. Es werden nur für jene Instanzen Backups erstellt, wofür im Backup-Verzeichnis ein Unterverzeichnis erstellt wurde.

Variante 1
Pro Tag ein Image der DB und LOG
Image wird jeden Tag überschrieben
LOG wird nicht zurückgesetzt (manuell)
Variante 2 (Standard)
Pro Tag ein Image der DB und LOG
Image wird pro Wochentag gespeichert
Image wird jede Woche überschrieben
LOG wird jeden Samstag zurückgesetzt
Variante 3
Pro Tag zwei Images der DB und LOG (Mittag und Abend)
Images werden pro Wochentag (Mittag und Abend) gespeichert
Image werden jede Woche überschrieben
LOG wird jeden Samstag zurückgesetzt
Variante 4 (Nur für TEST)
Pro Tag ein Image der DB und LOG
Image wird jeden Tag überschrieben
LOG wird jeden Samstag zurückgesetzt

Vorgehen

In Sybase Central auf die Datenbank verbinden
In den ISQL-Mode wechseln und das entsprechende Backup-Skript ausführen
Unter "Event" überprüfen, ob das Skript integriert wurde
Den Pfad "C:\temp" auf den effektiven Backup-Pfad anpassen
Mittels "Run now" prüfen, ob das Backup erstellt wird

 

Wichtig

Bei diesen Sicherungen werden jeweils nur die Datenbank und das Log gesichert. Es wird davon ausgegangen, dass alle weiteren Daten (Dokumente, etc.) täglich auf ein externes Medium gesichert werden. Die Datensicherung liegt in der Verantwortung des Kunden

 

Backup-Vorgaben

 

Backup Variante 1
CREATE EVENT "DailyBackupV1" SCHEDULE "DailyBackupV1" START TIME '20:00' EVERY 24 HOURS DISABLE HANDLER BEGIN //Event: DailyBackupV1 //Funktion: // . DB wird pro Tag ein Mal gesichert // . Gesicherte Daten werden täglich überschrieben //Anpassungen: // . Pfad zur Ablage der Sicherungen anpassen // . Start-Zeit anpassen // . Event einschalten     DECLARE day_of_week VARCHAR(9);     DECLARE hour_of_day VARCHAR(9);     DECLARE backup_stmt LONG VARCHAR;     SET day_of_week = substr(dayname(today()),1,3);     SET hour_of_day = substr(now(),12,2);     SET backup_stmt = 'BACKUP DATABASE DIRECTORY ' || '''C:\temp\' || engine_name || ''' '; // Pfad anpassen!     EXECUTE IMMEDIATE backup_stmt;   END;

 

Backup Variante 2
CREATE EVENT "DailyBackupV2" SCHEDULE "DailyBackupV2" START TIME '21:00' EVERY 24 HOURS DISABLE HANDLER BEGIN //Event: DailyBackupV2 //Funktion: // . DB wird pro Tag ein Mal gesichert // . Gesicherte Daten werden wöchentlich überschrieben // . Jeden Samstag wird zusätzlich das LOG-File zurückgesetzt //Anpassungen: // . Pfad zur Ablage der Sicherungen anpassen // . Start-Zeit anpassen // . Event einschalten DECLARE engine_name LONG VARCHAR; DECLARE day_of_week VARCHAR(9); DECLARE hour_of_day VARCHAR(9); DECLARE backup_stmt LONG VARCHAR; SELECT property('NAME') into engine_name; // Name des Servers (Engine) SET day_of_week = substr(dayname(today()),1,3); SET hour_of_day = substr(now(),12,2); PRINT engine_name; SET backup_stmt = 'BACKUP DATABASE DIRECTORY ' || '''C:\temp\' || engine_name || '\' || day_of_week || ''' '; // Pfad anpassen! IF ( day_of_week = 'Sat' ) OR ( day_of_week = 'Sam' ) THEN // Jeden Samstag wird zusätzlich das LOG-File zurückgesetzt // Je nach Sybase-Installation in DE oder EN wird auch der // Wochentag in DE oder EN abgefragt SET backup_stmt = backup_stmt || 'TRANSACTION LOG TRUNCATE '; END IF; EXECUTE IMMEDIATE backup_stmt; END;

 

Backup Variante 3
BEGIN //Event: DailyBackupV3 //Funktion: // . DB wird pro Tag zwei Mal gesichert // . Gesicherte Daten werden wöchentlich überschrieben // . Jeden Samstag wird zusätzlich das LOG-File zurückgesetzt //Anpassungen: // . Pfad zur Ablage der Sicherungen anpassen // . Start-Zeiten anpassen // . Event einschalten DECLARE engine_name LONG VARCHAR; DECLARE day_of_week VARCHAR(9); DECLARE hour_of_day VARCHAR(9); DECLARE backup_stmt LONG VARCHAR; SELECT property('NAME') into engine_name; // Name des Servers (Engine) SET day_of_week = substr(dayname(today()),1,3); SET hour_of_day = substr(now(),12,2); SET backup_stmt = 'BACKUP DATABASE DIRECTORY ' || '''C:\temp\' || engine_name || '\' || day_of_week || hour_of_day ||''' '; // Pfad anpassen! IF ( day_of_week = 'Sat' ) OR ( day_of_week = 'Sam' ) THEN // Jeden Samstag wird zusätzlich das LOG-File zurückgesetzt // Je nach Sybase-Installation in DE oder EN wird auch der // Wochentag in DE oder EN abgefragt SET backup_stmt = backup_stmt || 'TRANSACTION LOG TRUNCATE '; END IF; EXECUTE IMMEDIATE backup_stmt; END;

 

Backup Variante 4
BEGIN //Event: DailyBackupV1 //Funktion: // . DB wird pro Tag ein Mal gesichert // . Gesicherte Daten werden täglich überschrieben //Anpassungen: // . Pfad zur Ablage der Sicherungen anpassen // . Start-Zeit anpassen // . Event einschalten DECLARE engine_name LONG VARCHAR; DECLARE day_of_week VARCHAR(9); DECLARE hour_of_day VARCHAR(9); DECLARE backup_stmt LONG VARCHAR; SELECT property('NAME') into engine_name; // Name des Servers (Engine) PRINT engine_name; SET backup_stmt = 'BACKUP DATABASE DIRECTORY ' || '''H:\PerformXBackup\' || engine_name || ''' '; // Pfad anpassen! EXECUTE IMMEDIATE backup_stmt; END

SQL Proxy Server installieren

Pro Instanz muss ein Proxy-Server installiert werden

Das Setup für den SQL Proxy Server Setup.exe ausführen (pro Instanz)
 Bezeichnung/Port
SQL Proxy Server Produktiv 52100 → Port 52100
SQL Proxy Server Test 52101 → Port 52101
SQL Proxy Server Schulung 52102 → Port 52102
Ziel-Ordner
.\SQL Proxy Server Produktiv 52100
.\SQL Proxy Server Test 52101
.\SQL Proxy Server Schulung 52102

World Of Documents (WOD)

Die Installation von WOD erfolgt mit separatem Setup

Standard-Installation (Vorschlagewerte verwenden) erfolgt gemäss Setup "setup-WOD-docgen-edition-x64-17.6.2.exe" auf FTP I-AG
Kopieren "docgen-performx.jar" von https://jeremias.dynvpn.de/owncloud/index.php/s/q7b1mFq6MBJBSxh ins Verzeichnis "C:\Program Files\World Of Documents\deploy\config"
Registration WOD mittels C:\program files\World Of Documents\bin\wod install (CMD-Fenster mit Administrator starten - cd C:\program files\World Of Documents\bin\ eingeben und wod install  ausführen)
Konfiguration WOD via WOD Manager "C:\Programme\World Of Documents\bin\wod manage" (im gleichen CMD-Fenster fortfahren)
Startup type auf "Automatic" setzen
Im Register "Java" die Java Virtual Machine setzen mit "C:\Programme\World Of Documents\jre\bin\server\jvm.dll"
Unter den "Java Options" die Speicherkonfiguration optimieren
Einstellung –Xmx 192M auf –Xmx256M anpassen
Einstellung –XX:MaxPermSize=256M ergänzen
Dienst neu starten
Auf allen PerformX-Instanzen muss in den Systemeinstellungen - Firma - Konfiguration - "Adresse für WOD-Server" folgender Pfad hinterlegt werden: http://[Servername]:40080/wod/jobs/produceDocument

 

Hinweis

  • Es wird nur ein Dokumenten-Server installiert, der für alle Instanzen genutzt wird

  • Mit dem Setup des WOD-Servers wird eine JAVA-Version mitgeliefert und standardmässig verwendet (wird durch die Installation ins Verzeichnis C:\Programme\World Of Documents\jre installiert) und allenfalls weitere installierte JAVA-Version haben keinen Einfluss auf WOD

  • WOD System Console: http://[Servername]:40080/system/console/ Standardanmeldung: Username: admin, Password: admin

  • WOD Administrations-Application: http://[Servername]:40080/wod-admin/

  • WOD Funktionsaufruf http://[Servername]:40080/wod/ oder auf dem Server http://localhost:40080/wod-admin/

  • Fehler «http/1.1 500 Server Error» beim Generieren der WML-Datei

    • Muss durch den Kunden ein Benutzer für den Dienst WOD erstellt werden, welche auf den Ordner «PXProduktiv» Vollzugriff hat. Der Benutzer muss auf dem Dienst «World Of Documents» hinterlegt werden:

    • Die Ausgabedateien müssen wie folgt hinterlegt werden, z.B.: ".\Auswertungen\WOD\Ereignisdokumente\" oder ".\Auswertungen\WOD\Adressdokumente\"

       

 

Abhängigkeit der Dienste einrichten

Definition Abhängigkeit der Dienste, je nach installierter Komponenten

Ausführen der notwendigen Dienstabhängigkeiten nach der Installation im PowerShell (als Administrator ausführen)
Zynex Synchronisation/SFTP: Keine Abhängigkeiten, jedoch Delayed Start
Hybrid Connection Manager: Keine Abhängigkeiten, jedoch Delayed Start 
World of Documents (WoD): Keine Abhängigkeiten, jedoch Automatic

 

Proxy (Abhängigkeit Sybase)
sc.exe config SQLProxyServerProduktiv52100 depend="SQLAnys_PerformX_Produktiv_52100" sc.exe config SQLProxyServerTest52101 depend="SQLAnys_PerformX_Test_52101" sc.exe config SQLProxyServerSchulung52102 depend="SQLAnys_PerformX_Schulung_52102"

 

REST (Abhängigkeit Sybase)
sc.exe config PerformX-REST-PROD-8087 depend="SQLAnys_PerformX_Produktiv_52100" sc.exe config PerformX-REST-TEST-8084 depend="SQLAnys_PerformX_Test_52101

 

BPE (Abhängigkeit Sybase)
sc.exe config PerformXBPETest depend="SQLANYs_PerformX_Test_52101" sc.exe config PerformXBPEProd depend="SQLANYs_PerformX_Produktiv_52100"