Einige Tabellen der SVA -Datenbank werden durch ein Entladescript entladen. Das Entladescripte für die SVA-Tabellen liegt im Verzeichnis $SUPERX_DIR/db/module/sva/rohdaten und lautet:
sva_unload.x |
Entladescript für SVA Version 7 oder höher unter Informix - Unix. Die Umgebung wird gesteuert in SVA_ENV. |
Zum Entladen gibt es verschiedene Möglichkeiten, z.B. auf dem SuperX-Rechner direkt aus der SVA-Datenbank (ggf. remote) zu entladen, oder auf dem SVA-Rechner die Entladescripte einzurichten, auszuführen und die Rohdaten dann auf den SuperX-Rechner zu kopieren. Details zu Entladearchitekturen finden Sie im Administratorhandbuch Kernmodul. Im folgenden beschreiben wir den wahrscheinlich häufigsten Weg, nämlich auf UNIX-Basis aus dem SVA-Rechner (UNIX) zu entladen und ggf. die Dateien nach SuperX zu kopieren.
Die Entladeroutine befindet sich auf dem SuperX-Rechner nach Entpacken des SVA-Moduls im Pfad $SVA_PFAD/rohdaten . Für das "Push"-Verfahren kopieren Sie den gesamten Verzeichnisinhalt ab / rohdaten auf den SVA-Rechner, z.B. nach /home/sva/superx , und geben Sie dem Script sva_unload.x Ausführungsrechte.
Vor dem Start müssen einige Parameter in der Datei SVA_ENV gesetzt werden, ein Muster liegt in SVA_ENV.sam ; neben den Datenbankparametern müssen das Ausgabeverzeichnis SVA_PFAD , die Version von SVA und der Datenbankname angegeben werden.
|
Nur für Informix gelten: |
INFORMIXDIR |
Home-Verzeichnis von Informix |
INFORMIXSERVER |
Name des Informixservers |
ONCONFIG |
Name der onconfig, wenn auf dem SVA-Rechner mehrere Informix-Instanzen laufen |
CLIENT_LOCALE |
Sprachumgebung (wichtig fürs Entladen von Datumsformaten) |
SERVER_LOCALE |
dito |
|
Nur für Postgres gelten: |
PGDATESTYLE |
Datumsformat "German" |
PGPORT |
Port vom Postgres-Server, standardmäßig 5432 |
PGHOST |
Hostname oder IP-Adresse vom Postgres-Server |
PGUSER |
Benutzerkennung für Postgres-Server (nur Datenbank, nicht Betriebssystem) |
PGPATH |
Installationsverzeichnis von Postgres, z.B. /usr/local/pgsql |
DB_PROPERTIES |
Pfad zur db-sva.properties -Datei mit den Zugangsparametern für SVA unter Postgres. Wenn Sie mit SVA-GX 12 oder höher arbeiten, wird als Datenbankname nicht mehr "sva4" angegeben, sondern "hisrm". Eine Musterdatei db-hisrm_pg.properties.sam liegt im Archiv. |
LOGGING_PROPERTIES |
Pfad zur Steuerungsdatei mit den Parametern für das Logging beim Entladen, voreingestellt auf ./logging.properties . Normalerweise brauchen Sie hier nichts ändern, wenn beim Entladen Probleme auftauchen, kann man den Level von SEVERE auf INFO oder FINEST ändern, dann werden die konkreten SQLs geloggt. Aber Achtung: wenn keine Fehler mehr auftreten, müssen Sie den Level wieder auf SEVERE ändern, sonst kommen Schlüsselworte in die Logdatei sva_unload.err , die dann bei der Übernahme nach SuperX fälschlicherweise zu Fehlermeldungen führen. |
JDBC_PARAM |
Wenn Sie unter Postgres aus SVA-GX 12 entladen, muss beim Unload ein spezielles JDBC-Kommando abgesetzt werden, das dem Client
sozusagen den Weg zum SVA-Schema zeigt. Dieses Kommando wird wie folgt aktiviert: export JDBC_PARAM |
JDBC_CLASSPATH |
Wenn Sie den obigen
JDBC_PARAM
nutzen, aber noch nicht mit dem Kernmodul 4.0 arbeiten, müssen Sie eine spezielle Bibliothek laden mit dem Befehl
export JDBC_CLASSPATH |
Unter Postgres muss für das "Pull"-Verfahren beim Entladen die Datenbankverbindung in der Datei db-sva.properties eingetragen werden (Muster für Postgres liegt bei in db-sva_pg.properties.sam oder db-hisrm_pg.properties.sam ). Dazu laden Sie einmal die Datei SVA_ENV mit den obigen Parametern, starten den SuperX-Propadmin (siehe Administrationshandbuch Kernmodul) und richten die Verbindung zum SVA-Server ein. Das Kennwort wird verschlüsselt gespeichert. Danach sind die Entladescripte für Postgres ausführbar.
Hinweis: Anders als Informix hat Postgres hat eine eigene, vom Basissystem unabhängige Benutzerverwaltung. Daher brauchen Sie den User, den Sie zum Entladen aus Postgres nutzen, nicht auf dem SuperX- oder SVA-Rechner auf Betriebssystem-Ebene einrichten. Sie können also z.B. auf dem SuperX-Rechner zum Entladen aus SVA die Kennung sva des Postgres- Rechners verwenden. Oder Sie richten in der SVA -Datenbank den Benutzer SuperX ein und geben ihm Leserecht auf die Tabellen sowie das Recht, Tabellen und Stored Procedures anzulegen.
Die weiteren Umgebungsvariablen in SVA_ENV sind folgende:
SVA_ENV |
##Pfad für Entladedaten: |
SX_CLIENT, |
# SX_CLIENT ist die Client-Anwendung zum Zugriff auf die DB
# Mögliche Werte: dbaccess (Informix), psql (Postgres), jdbc (Alle anderen) #Dies wird in allen Programmen des jdbc-Clients genutzt. #DB_PROPERTIES=./db-sva_pg.properties #export DB_PROPERTIES #auch die Logging-Ausgabe kann variiert werden: (./logging.properties.sam umbenennen) #LOGGER_PROPERTIES=./logging.properties.sam #export LOGGER_PROPERTIES #Für jdbc auch JAVA_OPTS: viel RAM #JAVA_OPTS="-Xmx500M" #export JAVA_OPTS #Database: POSTGRES, INFORMIX oder ACCESS DATABASE=INFORMIX export DATABASE |
Zusätzliche |
#Sollen nur aktuelle und zukünftige Beschäftigungen und Stellen entladen werden? |
Quellsystem SVA oder SVA (Datengrundlage für KENN) |
#Quellsystem: SVA-GX #Setzen Sie #SOURCESYSTEM=sva_fuer_kenn #um nur die in KENN benötigten Daten zu entladen SOURCESYSTEM=sva export SOURCESYSTEM |
Personnamen |
#Wenn ANONYM = "true",dann wird in SVA_PER der Name /Vorname auf "leer" gesetzt, und die Personalnummer wird pseudonymisiert. |
Wenn Sie über die Pseudonymisierung hinaus weitere Persondaten ausblenden wollen, können Sie im Folgenden ein paar Schalter setzen. Die Namen der Schalter entsprechen den Feldnamen in HIS-SVA (Tabelle pgd ).
Datenschutz-relevante Felder ausblenden: |
#Achtung: Wenn die standardmäßig auf 1 gesetzten Felder auf 0 gesetzt werden,dann sind die entsprechenden Berichtsmerkmale
nicht auswertbar. |
Der Pseudonymisierungs-Schalter und die einzelnen pdg -Felder sind unabhängig voneinander spezifizierbar. Beim Entladen können z.B. auch bei abgeschalteter Pseudonymisierung die Personnamen ausgeblendet werden, indem Sie die drei Felder PGD_NAME, PGD_SUCHNAME und PGD_VORNAMEN auf 0 setzen (für Hochschulen, die in SuperX zwar die Personalnamen ausblenden wollen, die aber die echten Personalnummern sehen wollen).
Neben der Tabelle pgd kann auch das Entladen der Tabelle pbz und pbz_to_pbv ein- oder ausgeschaltet werden. Wenn die Variable PBZ_PGD_JOIN_ID auf 1 gesetzt wird, werden diese Personalnummer (ggf. pseudonymisiert) und weitere mit "1" spezifizierten Felder entladen. Mindestens die Felder pbv_nr , pgd_join_id und pbz_serial müssen in diesem Fall auf 1 gesetzt werden, weil dies Pflichtfelder sind.
Wenn die Variable PBZ_PGD_JOIN_ID auf 0 gesetzt ist, wird überhaupt kein Datensatz zur pbz oder pbz_to_pbv entladen. Dies ist aus Gründen der "Datensparsamkeit" auch die Standardeinstellung.
Nur für Informix: |
#Transaktionen abschalten? TRANSACTION_OFF="" #Wenn Sie tagsüber entladen, Transaktionen eingeschaltet sind und die SVA-Tabellen groß sind, dann sollte dieses ent-kommentiert sein. #TRANSACTION_OFF="SET ISOLATION TO DIRTY READ;" #export TRANSACTION_OFF |
|
Wenn die Rohdaten nach dem Entladen vom SVA-Rechner auf den SuperX-Rechner kopiert werden sollen, dann werden für das Script sva_copy.x folgende Umgebungsvariablen benötigt: |
COPY_METHOD |
Programm, das die Dateien kopiert; rsync und scp sind wählbar. |
REMOTE_DIR |
Verzeichnis, in das die Rohdaten auf dem SuperX-Rechner kopiert warden sollen, in der Regel ist dies "/home/superx/db/module/sva/rohdaten" |
REMOTE_USER |
Der Unix-Username auf dem SuperX-Rechner, in der Regel "superx". |
REMOTE_HOST |
Der Rechnername bzw. die IP-Nr. des SuperX-Rechners. |
Der Entladestichtag in SVA_AKTIV ermöglicht es, nur die aktuellen SVA-Daten zu entladen, z.B. wenn Sie aus Gründen der Archivierung und für stichtagsbezogene Auswertungen in SuperX die älteren SVA-Daten nicht mehr "anrühren" wollen. Default ist der 01.01.1900 , d.h. alle Daten werden entladen. Sie können es aber auch wie oben beispielhaft gezeigt auf "Heute" setzen, dann werden jeweils immer nur die zum Zeitpunkt des Entladens aktiven Beschäftigungs- und Stellendaten entladen.
Der Schalter " ANONYM " bestimmt, ob die Personalnummern und Personnamen aus der Tabelle Personalgrunddaten übernommen werden sollen oder nicht. Wenn er auf "true" steht, werden bei den Namen NULLs entladen und die Personalnummern pseudonymisiert, bei "false" werden die Namen entladen.
Wenn Sie zur Datenkontrolle in Testinstallationen zunächst mit Personalnummern und Namen entladen haben, und dann für den
Echtbetrieb zur Pseudonymisierung wechseln wollen, müssen Sie vorher alle Daten- und Hilfstabellen des SVA-Moduls leeren.
Dazu wird mit
sva_purge_<<DBMS>>.x
ein
Script
zur Verfügung gestellt. Außerdem müssen Sie in SVA-GX in der Datenbank die Tabelle
pgd_join_id_ldsg
leeren bzw. folgenden SQL ausführen: |
Nach der Einrichtung der Umgebung starten Sie das Installationsscript
superx_sva_install.x
Dieses Script erzeugt in SVA eine Tabelle pgd_join_id_ldsg zur Pseudonymisierung von Personalnummern. Der SVA-Superuser sollte generell zum Eigentümer der Tabelle pgd_join_id_ldsg gemacht werden, sonst brechen HISSVA-interne Plausibilitätsprüfungen ab. Die entladende Kennung muss dann den Schreibzugriff für diese Tabelle erhalten.