LFD: Unterschied zwischen den Versionen

Aus Admin Kuhn GmbH
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(Die Seite wurde geleert.)
Zeile 1: Zeile 1:
Der folgende Vorgang wird die Daten für die Testmigration zu Unicode umwandeln.


=== Konfiguration ===
Anlegen der Konfigurationsdatei "GENdb.ini".
login: <b>sisis</b>
$ <b>cd /home/sisis/sc</b>
$ <b>cp -i GENdb.txt GENdb.ini</b>
$ <b>vi GENdb.ini</b>
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.
{{Info|Falls zusätzlich benannte Segmente angelegt werden sollen, so müssen diese wie folgt konfiguriert werden. Andernfalls kann der Rest dieses Abschnitts übersprungen werden. In jedem Fall aber muss eine allfällig bereits vorhandene Datei "/home/sisis/TabGenCtrl.syb.ini" gelöscht werden!}}
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!
$ <b>cd /home/sisis/sc</b>
$ <b>cp -i TabGenCtrl.syb.txt TabGenCtrl.syb.ini</b>
$ <b>vi TabGenCtrl.syb.ini</b>
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 ==
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").
$ <b>export AREA=/OCLC/backup/MIGRATION-TEST \
          DATABASE=sisis                  \
          DBS=syb</b>
$ <b>cd ${AREA}/area_${DATABASE}</b>
Hinstellen der korrekten Datei "charmappings".
$ <b>cp -i /home/sisis/sc/charmappings .</b>
Setzen der Umgebung und Deaktivieren des Sybase ASE-Transaktionsloggings.
$ <b>. /opt/lib/sisis/etc/syb.rc && LANG=de_DE.UTF-8</b>
$ <b>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}</b>
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.
{| class=wiki
! 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
|}
$ <b>export OUTFILE=nohup.out-$(date +%Y%m%d-%H%M)-${DATABASE}-migrate2unicode; \
    nohup /home/sisis/sc/Migrate2Unicode.sh -f > ${OUTFILE} &</b>
$ <b>tail -f ${OUTFILE}</b>
{{Alert|Im Falle eines Abbruchs wegen nicht erzeugbarer Indizes hilft möglicherweise die Fehlermeldung <b>[https://issues.oclcpica.org/browse/SRP-17902 SRP-17902]</b>}}
{{Alert|Bei der [[Stadtbücherei Kaufbeuren]] war in der Tabelle "d612funktion" ein doppelter Schlüsselbegriff vorhanden:
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!
$ <b>cat d612funktion.load <nowiki>|</nowiki> sort <nowiki>|</nowiki> uniq -d</b>
* Im Verzeichnis "/OCLC/backup/MIGRATION-TEST/area_sisis" wurden mehrere Dateien gelöscht:
$ <b>rm nohup.out-20121013-5-sisis-migrate2unicode \
    nohup.out-20121013-1347-sisis-migrate2unicode \
    migr2Unde.prot.20121013134714 \
    genSunrTabs.done</b>
* Im Verzeichnis "/OCLC/backup/MIGRATION-TEST/area_sisis/loadFiles" wurden alle auf ".done" endenden Dateien gelöscht.
$ <b>rm *.done</b>
* Leer-Datenbank wurde zurückgespielt
$ <b>SybSQL15.0.3</b>
Give Sybase user [sa]
1> <b>load database sisis from "/OCLC/backup/MIGRATION-TEST/sisis-empty15.0.3.20121003-1432.cdmp"</b>
2> <b>go</b>
...
1> <b>online database sisis</b>
2> <b>go</b>
1> <b>quit</b>
* 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":
{| class=wiki
! Option !! Beschreibung
|-
| <tt>-c <i>dateiname</i></tt> || Bestimmt eine Datei für die Zeichenumsetzung. Die Datei muss im Verzeichnis "$AREA/area_$DATABASE" stehen.
|-
| <tt>-i</tt> || Ignorieren von Fehlern bei der Indexerzeugung.
|-
| <tt>-r</tt> || 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.
|-
| <tt>-f</tt> || 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".
$ <b>more migr2Unicode.prot.*</b>
[[/Protokoll von Migrate2Unicode.sh|Protokoll von Migrate2Unicode.sh]]
{{Info|Die Protokolldatei enthält falsche Informationen bezüglich der Erwerbungstabellen "acq_layout", "acq_ehistory" und "acq_binterface", welche fälschlicherweise aussagen, die Tabelle könne nicht geladen werden, da sie schon geladen sei. <b>Diese Meldungen können ignoriert werden!</b>}}
== Update der sequences in Sybase ==
$ <b>. /opt/lib/sisis/etc/syb.rc && export LANG=de_DE.UTF-8</b>
$ <b>$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</b>
== Sicherung der Datenbank ==
Sichern der Datenbank "sisis" mit dem umgewandelten Inhalt. Dazu kann das Skript "SYBASEbackup.sh" mit dem Argument "-V4.1pl2-migriert" aufgerufen werden.
$ <b>SYBASEbackup.sh -V4.1pl2-migriert</b>
Which Sybase ASE version to use
  1  Sybase ASE 12.5.4
  2  Sybase ASE 15.0.3
Enter your selection [1-2] <b>2</b>
Enter database name [sisis]
Enter name extension if you want [-V4.1pl2-migriert]
Enter backup directory [/OCLC/backup/MIGRATION-TEST]
{| class=wiki
! Bibliothek !! Datenbank !! Bereich !! Komprimiert !! Dauer
|-
| [[Hochschule Ostwestfalen-Lippe]] || sisis || 8.0 GB || 1.0 GB || 6 Minuten
|}
== Normalisierung der Namenssuche in der Ausleihe ==
{| class=wiki
! Bibliothek !! Dauer
|-
| [[Fachhochschule Aachen]] || 3 Minuten
|-
| [[Helmholtz-Zentrum Berlin]] || 1 Minute
|-
| [[Hochschule Ostwestfalen-Lippe]] || 1 Minute
|}
$ <b>export OUTFILE=nohup.out-$(date +%Y%m%d-%H%M)-${DATABASE}-normi; \
    nohup /opt/bin/startnormi > ${OUTFILE} &</b>
$ <b>tail -f ${OUTFILE}</b>
== Neuanlegen der Anzeigetabellen ==
Migrieren der Datenbanktabellen "*_anzeige" zur neuen Struktur.
{| class=wiki
! 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
|}
$ <b>export OUTFILE=nohup.out-$(date +%Y%m%d-%H%M)-${DATABASE}-reBuildAnz; \
    nohup /home/sisis/sc/reBuildAnz.sh > ${OUTFILE} &</b>
...
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
$ <b>tail -f ${OUTFILE}</b>
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.*".
$ <b>ps -ef | grep reBuildAnz</b>
$ <b>more startanzindmass.prot.*</b>
== Neuaufbau der Sortiertabelle ==
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").
{| class=wiki
! 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
|}
$ <b>export OUTFILE=nohup.out-$(date +%Y%m%d-%H%M)-${DATABASE}-sortindmass; \
    nohup /opt/bin/startsortindmass -split 4 > ${OUTFILE} &</b>
$ <b>tail -f ${OUTFILE}</b>
...
          Das Laden der Sortiertabelle ist beendet
  Bitte beachten Sie die Datei startsortindmass.prot.8514
{{Alert|Beim [[Helmholtz-Zentrum Berlin]] tauchte erstmals folgender Fehler auf:
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 [https://issues.oclcpica.org/browse/SRP-18537 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.
$ <b>SybSQL15.0.3</b>
Give Sybase user [sa] <b>sisis</b>
Give name of database [sisis]
1> <b>truncate table sort_auftrag</b>
2> <b>go</b>
1> <b>truncate table sort_tab</b>
2> <b>go</b>
Danach den obenstehenden Befehl wiederholen.
}}
== Neuaufbau der Titeldaten in strukturierter Form ==
{{Info|Falls die Tabelle "titel_dupdaten" nicht verwendet wird, kann dieser Abschnitt übersprungen werden.}}
Anzeige der Anzahl Titelsätze in der Tabelle "titel_dupdaten".
$ <b>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}</b>
Löschen des Inhalts der vorhandenen Tabelle "titel_dupdaten".
$ <b>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}</b>
Starten von DUPINDMASS und überprüfen der Protokolldatei.
{| class=wiki
! 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
|}
$ <b>export OUTFILE=nohup.out-$(date +%Y%m%d-%H%M)-${DATABASE}-dupindmass; \
    nohup /opt/bin/startdupindmass > ${OUTFILE} &</b>
$ <b>tail -f ${OUTFILE}</b>
$ <b>more startdupindmass.prot.*</b>
== Sicherung der Datenbank ==
Sichern der Datenbank "sisis" mit dem neuaufgebauten Tabellen Inhalt. Dazu kann das Skript "SYBASEbackup.sh" mit dem Argument "-V4.1pl2-neuaufgebaut" aufgerufen werden.
$ <b>SYBASEbackup.sh -V4.1pl2-neuaufgebaut</b>
Which Sybase ASE version to use
  1  Sybase ASE 12.5.4
  2  Sybase ASE 15.0.3
Enter your selection [1-2] <b>2</b>
Enter database name [sisis]
Enter name extension if you want [-V4.1pl2-neuaufgebaut]
Enter backup directory [/OCLC/backup/MIGRATION-TEST]

Version vom 28. August 2013, 21:20 Uhr