LFD
Der folgende Vorgang wird die Daten für die Testmigration zu Unicode umwandeln.
Konfiguration[Bearbeiten]
Anlegen der Konfigurationsdatei "GENdb.ini".
login: sisis $ cd /home/sisis/sc $ cp -i GENdb.txt GENdb.ini $ vi GENdb.ini
Die Datei "/home/sisis/sc/GENdb.ini" muss alle benötigten Module enthalten. Am besten werden überhaupt gleich alle angelegt.
misc:sonstige :
#zfl::
cir:CIR-:
cat:CAT-:
acq:ACQ-:
imx:IMX-:
opac:OPAC-:
z39:z39.50-:
z39target:z39target-:
ifk:ifk-:
adm:adm-:
ig:ig-:
idm:idm-:
quart:quart-:
Es wird empfohlen, unter Sybase ASE nur das Standardsegment "default" zu verwenden.
Zur Verwendung zusätzlicher benannter Segmente muss zuerst die Steuerdatei kopiert werden. Dann werden die Segmentnamen in die neue Steuerdatei geschrieben - andernfalls wird die Steuerdatei nicht benötigt!
$ cd /home/sisis/sc $ cp -i TabGenCtrl.syb.txt TabGenCtrl.syb.ini $ vi TabGenCtrl.syb.ini
Zum Verwenden der Segmentnamen "cirdbs" für die Ausleihe und "acqdbs" für die Erwerbung muss der Inhalt der Steuerdatei wie folgt aussehen.
MODULDEF:CIRDBS:cir:opac:ig MODULDEF:CATDBS:cat:imx MODULDEF:MISCDBS:z39:misc:z39target:ifk:zfl:adm:idm MODULDEF:ACQDBS:acq MODUL:CIRDBS:cirdbs:cirdbs::: MODUL:CATDBS::::: MODUL:MISCDBS::::: MODUL:ACQDBS:acqdbs:acqdbs:::
Das Zusatzdokument "Installationshinweise SISIS-SunRise V4.1pl1 - Anhang (Einrichten einer betriebsbereiten leeren Datenbank" zur Freigabemitteilung von "SISIS-SunRise SISISBASE V4.1pl1" beschreibt den Vorgang in allen Einzelheiten.
Laden der Daten und Umwandlung zu Unicode[Bearbeiten]
Beim Umwandeln der Daten zu Unicode muss die Variable "AREA" auf den Wert gesetzt werden, der beim Update der Datenbank auf SISIS-SunRise V4.1pl2 verwendet wurde (siehe den obenstehenden Abschnitt "(Alter Rechner) Entladen des SISIS-SunRise V3.7pl2-Datenbankinhalts und Update auf V4.1pl1 für Testmigration").
$ export AREA=/OCLC/backup/MIGRATION-TEST \ DATABASE=sisis \ DBS=syb $ cd ${AREA}/area_${DATABASE}
Hinstellen der korrekten Datei "charmappings".
$ cp -i /home/sisis/sc/charmappings .
Setzen der Umgebung und Deaktivieren des Sybase ASE-Transaktionsloggings.
$ . /opt/lib/sisis/etc/syb.rc && LANG=de_DE.UTF-8 $ printf "sp_dboption ${DATABASE}, 'trunc log on chkpt', true\ngo\n" | \ $SYBASE/OCS-15_0/bin/isql -Usa -P$(cat ${SISISROOT}/etc/syb/syb.pw | \ grep ^sa: | awk -F: '{ print $2 }' | tr -d '\012') -S${DSQUERY} Datenbankoption 'trunc log on chkpt' ist für Datenbank 'sisis' aktiviert. CHECKPOINT wird für Datenbank 'sisis' ausgeführt, damit Option 'trunc log on chkpt' wirksam wird. DUMP TRANSACTION ist nicht zulässig, wenn 'trunc log on chkpt' ON ist. Verwenden Sie stattdessen DUMP DATABASE. (return status = 0)
Ausführen der Umwandlung des Datenbankinhalts. Die Umwandlung der Daten erfolgt über das Skript "Migrate2Unicode.sh" und beinhaltet folgende Schritte:
- Anlegen der Tabellen
- Laden der Daten (einschliesslich Umwandlung)
- Anlegen der Indizes
- BLOB-Umwandlung
- Schalter "-f" wandelt zusätzlich auch die Katalog-Formulare im Verzeichnis "$CATSERVERSPOOL/forms" um.
Bibliothek | Datenbank | Dauer | Anmerkungen |
---|---|---|---|
Fachhochschule Aachen | sisis | 140 Minuten | |
Stadtbücherei Kaufbeuren | sisis | 60 Minuten | Nach Behebung des untenstehenden Fehlers |
Stadtbücherei Pulheim | sisis | 48 Minuten | |
Fouqué-Bibliothek der Stadt Brandenburg an der Havel | sisis | 140 Minuten | |
Stadtbücherei Lampertheim | sisis | 50 Minuten | |
Bayerischer Landtag | sisis | 22 Minuten | |
Kantonsbibliothek Uri | kkb | 14 Minuten | |
Kantonsbibliothek Uri | sisis | 140 Minuten | |
Kantonsbibliothek Uri | urisik | 2 Minuten | |
Helmholtz-Zentrum Berlin | sisis | 42 Minuten | |
Hochschule Ostwestfalen-Lippe | sisis | 92 Minuten |
$ export OUTFILE=nohup.out-$(date +%Y%m%d-%H%M)-${DATABASE}-migrate2unicode; \ nohup /home/sisis/sc/Migrate2Unicode.sh -f > ${OUTFILE} & $ tail -f ${OUTFILE}
Erstellen des eindeutigen Indexes wegen doppelten Schlüsselbegriffs abgebrochen; Primärschlüssel ist '17, 2001, 0'
- Der folgende Befehl zeigt alle mehrfach vorkommenden Zeilen, diese müssen sämtlich aus der Ladedatei gelöscht werden!
$ cat d612funktion.load | sort | uniq -d
- Im Verzeichnis "/OCLC/backup/MIGRATION-TEST/area_sisis" wurden mehrere Dateien gelöscht:
$ rm nohup.out-20121013-5-sisis-migrate2unicode \ nohup.out-20121013-1347-sisis-migrate2unicode \ migr2Unde.prot.20121013134714 \ genSunrTabs.done
- Im Verzeichnis "/OCLC/backup/MIGRATION-TEST/area_sisis/loadFiles" wurden alle auf ".done" endenden Dateien gelöscht.
$ rm *.done
- Leer-Datenbank wurde zurückgespielt
$ SybSQL15.0.3 Give Sybase user [sa] 1> load database sisis from "/OCLC/backup/MIGRATION-TEST/sisis-empty15.0.3.20121003-1432.cdmp" 2> go ... 1> online database sisis 2> go 1> quit
- Migration wurde nochmals gestartet
Das Skript "Migrate2Unicode.sh" schreibt eine "done"-Datei für alle erfolgreichen Ladevorgänge. Im Fehlerfall kann das Problem also behoben und das Skript neu gestartet werden. Untenstehend die möglichen Optionen des Skripts "Migrate2Unicode.sh":
Option | Beschreibung |
---|---|
-c dateiname | Bestimmt eine Datei für die Zeichenumsetzung. Die Datei muss im Verzeichnis "$AREA/area_$DATABASE" stehen. |
-i | Ignorieren von Fehlern bei der Indexerzeugung. |
-r | Entfernen von "done"-Dateien (für das Neustarten des Skripts). Diese Option darf nur verwendet werden, wenn die Datenbank zurückgesetzt wurde und das Skript "Migrate2Unicode.sh" nochmals ausgeführt werden muss. |
-f | Automatische Umwandlung der Katalog-Formulare im Verzeichnis "$CATSERVERSPOOL/forms". |
Überprüfen der Protokolldatei. Sie sollte keine Fehler enthalten - die letzte Zeile sollte lauten "Migration to Unicode finished".
$ more migr2Unicode.prot.*
Protokoll von Migrate2Unicode.sh
Update der sequences in Sybase[Bearbeiten]
$ . /opt/lib/sisis/etc/syb.rc && export LANG=de_DE.UTF-8 $ $SC_SQL -Usisis -P$(cat ${SISISROOT}/etc/syb/syb.pw | \ grep ^sisis: | awk -F: '{ print $2 }' | tr -d '\012') \ -S${DSQUERY} -D${DATABASE} -i /home/sisis/sc/SybUpdSeq.sql
Sicherung der Datenbank[Bearbeiten]
Sichern der Datenbank "sisis" mit dem umgewandelten Inhalt. Dazu kann das Skript "SYBASEbackup.sh" mit dem Argument "-V4.1pl2-migriert" aufgerufen werden.
$ SYBASEbackup.sh -V4.1pl2-migriert Which Sybase ASE version to use 1 Sybase ASE 12.5.4 2 Sybase ASE 15.0.3 Enter your selection [1-2] 2 Enter database name [sisis] Enter name extension if you want [-V4.1pl2-migriert] Enter backup directory [/OCLC/backup/MIGRATION-TEST]
Bibliothek | Datenbank | Bereich | Komprimiert | Dauer |
---|---|---|---|---|
Hochschule Ostwestfalen-Lippe | sisis | 8.0 GB | 1.0 GB | 6 Minuten |
Normalisierung der Namenssuche in der Ausleihe[Bearbeiten]
Bibliothek | Dauer |
---|---|
Fachhochschule Aachen | 3 Minuten |
Helmholtz-Zentrum Berlin | 1 Minute |
Hochschule Ostwestfalen-Lippe | 1 Minute |
$ export OUTFILE=nohup.out-$(date +%Y%m%d-%H%M)-${DATABASE}-normi; \ nohup /opt/bin/startnormi > ${OUTFILE} & $ tail -f ${OUTFILE}
Neuanlegen der Anzeigetabellen[Bearbeiten]
Migrieren der Datenbanktabellen "*_anzeige" zur neuen Struktur.
Bibliothek | Datenbank | Dauer |
---|---|---|
Stadtbücherei Pulheim | sisis | 4 Minuten |
Kantonsbibliothek Uri | sisis | 4 Minuten |
Helmholtz-Zentrum Berlin | sisis | 1 Minute |
Hochschule Ostwestfalen-Lippe | sisis | 3 Minuten |
$ export OUTFILE=nohup.out-$(date +%Y%m%d-%H%M)-${DATABASE}-reBuildAnz; \ nohup /home/sisis/sc/reBuildAnz.sh > ${OUTFILE} & ... Das Laden der Anzeige-Tabelle für Normdaten koe_anzeige ist beendet ... Das Laden der Anzeige-Tabelle für Normdaten sys_anzeige ist beendet ... Das Laden der Anzeige-Tabelle für Normdaten per_anzeige ist beendet ... Das Laden der Anzeige-Tabelle für Normdaten swd_anzeige ist beendet $ tail -f ${OUTFILE}
Warten, bis der Prozess "reBuildAnz.sh" (alle ANZINDMASS-Prozesse) sich beendet und anschliessendes Überprüfen des Inhalts der Datei "nohup.out" sowie der Protokolldateien "startanzindmass.prot.*".
$ ps -ef | grep reBuildAnz $ more startanzindmass.prot.*
Neuaufbau der Sortiertabelle[Bearbeiten]
Neuaufbau der Tabelle "sort_tab". Für einen schnelleren Neuaufbau können mehrere Prozesse parallel gestartet werden - im Beispiel sind das vier Prozesse ("- split 4").
Bibliothek | Dauer |
---|---|
Fachhochschule Aachen | 12 Minuten |
Stadtbücherei Kaufbeuren | 16 Minuten |
Stadtbücherei Pulheim | 17 Minuten |
Fouqué-Bibliothek der Stadt Brandenburg an der Havel | 55 Minuten |
Stadtbücherei Lampertheim | 7 Minuten |
Kantonsbibliothek Uri | 20 Minuten |
Helmholtz-Zentrum Berlin | 18 Minuten |
Hochschule Ostwestfalen-Lippe | 28 Minuten |
$ export OUTFILE=nohup.out-$(date +%Y%m%d-%H%M)-${DATABASE}-sortindmass; \ nohup /opt/bin/startsortindmass -split 4 > ${OUTFILE} & $ tail -f ${OUTFILE} ... Das Laden der Sortiertabelle ist beendet Bitte beachten Sie die Datei startsortindmass.prot.8514
16.04.2013 01:38:38: Sortier-Auftragstabelle angelegt und leer? 16.04.2013 01:38:38: Abbruch: <Sortier-Auftragstabelle> ist nicht leer, sondern hat 7177 Einträge!
Die Lösung ist in SRP-18537 zu finden:
Bei der "<Sortier-Auftragstabelle>" handelt es sich nicht um die Tabelle "sort_tab", sondern um die Tabelle "sort_auftrag". Beim Neuaufbau muss wie folgt vorgegangen werden.
$ SybSQL15.0.3 Give Sybase user [sa] sisis Give name of database [sisis] 1> truncate table sort_auftrag 2> go 1> truncate table sort_tab 2> go
Danach den obenstehenden Befehl wiederholen.
Neuaufbau der Titeldaten in strukturierter Form[Bearbeiten]
Anzeige der Anzahl Titelsätze in der Tabelle "titel_dupdaten".
$ printf "select count(*) from titel_dupdaten\ngo\n" | \ $SC_SQL -Usisis -P$(cat ${SISISROOT}/etc/syb/syb.pw | \ grep ^sisis: | awk -F: '{ print $2 }' | tr -d '\012') \ -S${DSQUERY} -D${DATABASE}
Löschen des Inhalts der vorhandenen Tabelle "titel_dupdaten".
$ printf "truncate table titel_dupdaten\ngo\n" | \ $SC_SQL -Usisis -P$(cat ${SISISROOT}/etc/syb/syb.pw | \ grep ^sisis: | awk -F: '{ print $2 }' | tr -d '\012') \ -S${DSQUERY} -D${DATABASE}
Starten von DUPINDMASS und überprüfen der Protokolldatei.
Bibliothek | Datensätze | Dauer |
---|---|---|
Fachhochschule Aachen | 160'000 | 75 Minuten |
BTU Cottbus | 480'000 | 120 Minuten |
Stadtbibliothek Chemnitz | 380'000 | 150 Minuten |
Stadtbücherei Kaufbeuren | 88'000 | 45 Minuten |
Stadtbücherei Pulheim | 89'000 | 25 Minuten |
Fouqué-Bibliothek der Stadt Brandenburg an der Havel | 124'000 | 75 Minuten |
Stadtbücherei Lampertheim | 36'000 | 20 Minuten |
Bayerischer Landtag | 40'000 | 7 Minuten |
Kantonsbibliothek Uri | 135'000 | 45 Minuten |
Helmholtz-Zentrum Berlin | 74'000 | 45 Minuten |
Hochschule Ostwestfalen-Lippe | 162'000 | 68 Minuten |
$ export OUTFILE=nohup.out-$(date +%Y%m%d-%H%M)-${DATABASE}-dupindmass; \ nohup /opt/bin/startdupindmass > ${OUTFILE} & $ tail -f ${OUTFILE} $ more startdupindmass.prot.*
Sicherung der Datenbank[Bearbeiten]
Sichern der Datenbank "sisis" mit dem neuaufgebauten Tabellen Inhalt. Dazu kann das Skript "SYBASEbackup.sh" mit dem Argument "-V4.1pl2-neuaufgebaut" aufgerufen werden.
$ SYBASEbackup.sh -V4.1pl2-neuaufgebaut Which Sybase ASE version to use 1 Sybase ASE 12.5.4 2 Sybase ASE 15.0.3 Enter your selection [1-2] 2 Enter database name [sisis] Enter name extension if you want [-V4.1pl2-neuaufgebaut] Enter backup directory [/OCLC/backup/MIGRATION-TEST]