LFD
Zum Anlegen einer leeren Sybase ASE 15.0.3-Datenbank "sisis" werden standardmässig die folgenden SQL-Dateien benötigt:
- "DiskInit.sql" legt die Datenbankbereiche für Sybase ASE an.
- "CreatDb.sql" legt die Datenbank an, übergibt die Datenbankbereiche an die Datenbank, fügt Segmente hinzu und setzt einige Parameter.
Diese Dateien müssen an die lokale Umgebung und die lokale Datenbankstruktur angepasst werden - die Werte für device_fragments sind dabei in "pages" anzugeben ( Wert = 1024 * device_fragments [MB] / 2 ).
Im Fall der Stadtbücherei Kaufbeuren musste nur eine Datenbank namens "sisis" angelegt werden. Ihr Inhalt unter Sybase ASE 12.5.4 war 1.6 GB - diese Grösse multipliziert mit 2 ergab für Sybase ASE 15.0.3 also 3.2 GB und einschliesslich Reserven für Datenwachstum eine anzulegende Grösse von 4 GB für den Gebrauch mit SISIS-Sunrise V4.1pl2.
Konfiguration der Datei zum Anlegen der Plattenbereiche.
Login: sisis $ cd /home/sisis/sc $ KUERZEL=Berlin-HUB $ cp DiskInit.sql.orig DiskInit.sql-15.0.3-${KUERZEL} $ vi DiskInit.sql-15.0.3-${KUERZEL}
Zum Beispiel kann die angepasste Datei wie folgt aussehen.
disk init name="sisis_log1", physname="/SybaseLog/15.0.3/sisis_log1.log", size="1G", dsync=false go disk init name="sisis_data1", physname="/SybaseDatabase/15.0.3/sisis_data1.dat", size="4G", dsync=false go
Konfiguration der Datei zum Anlegen der Datenbank.
$ cp CreatDb.sql.orig CreatDb.sql-15.0.3-${KUERZEL} $ vi CreatDb.sql-15.0.3-${KUERZEL}
Zum Beispiel kann die angepasste Datei zum Anlegen der Datenbank "sisis" (passend zu den Plattenbereichen im obenstehenden Beispiel) wie folgt aussehen.
sp_configure "lock scheme", 0, datarows go create database sisis on sisis_data1=4096 log on sisis_log1=1024 go sp_dboption sisis,"select into/bulkcopy","true" go sp_dboption sisis,"auto identity","true" go sp_dboption sisis,"trunc. log on chkpt.", true go use sisis go checkpoint go sp_adduser "sisis" go grant ALL to sisis go
Setzen der Umgebung und Ausführen der beiden Dateien als Benutzer "sisis".
$ . /opt/lib/sisis/etc/syb.rc && export LANG=de_DE.UTF-8
Das Anlegen der Plattenbereiche dauert je nach Grösse einige oder viele Minuten, während denen keine Ausgabe auf den Bildschirm geschrieben wird. Falls die verwendete Verbindung unzuverlässig ist, sollte der Befehl "nohup" verwendet werden.
$ ${SC_SQL} -Usa -P$(cat ${SISISROOT}/etc/syb/syb.pw | \ grep ^sa: | awk -F: '{ print $2 }' | tr -d '\012') -S${DSQUERY} \ -i /home/sisis/sc/DiskInit.sql-15.0.3-${KUERZEL}
Nun folgt das Anlegen der Datenbank, des Sybase-Benutzers "sisis" und die Zuteilung der Berechtigungen.
$ ${SC_SQL} -Usa -P$(cat ${SISISROOT}/etc/syb/syb.pw | \ grep ^sa: | awk -F: '{ print $2 }' | tr -d '\012') -S${DSQUERY} \ -i /home/sisis/sc/CreatDb.sql-15.0.3-${KUERZEL} Parameter Name Default Memory Used Config Value Run Value Unit Type ------------------------------ -------------------- ----------- -------------------- -------------------- -------------------- ---------- lock scheme allpages 0 datarows datarows name dynamic (1 row affected) Konfigurationsoption geändert. ASE muss nicht neu gestartet werden, da diese Option dynamisch ist. Wenn der Wert von 'lock scheme' auf 'datarows' geändert wird, erhöht sich der von ASE verwendete Speicher um 6 KByte. (return status = 0) CREATE DATABASE: Es werden 1048576 logische Seiten (4096.0 MByte) auf Plattenspeicher 'sisis_data1' zugewiesen. CREATE DATABASE: Es werden 262144 logische Seiten (1024.0 MByte) auf Plattenspeicher 'sisis_log1' zugewiesen. 512 Zuordnungseinheit(en) von 5120 Einheiten wurden verarbeitet (Zuordnungsseite 1113088). 10% beendet. ... 5120 Zuordnungseinheit(en) von 5120 Einheiten wurden verarbeitet (Zuordnungsseite 1048320). 100% beendet. Datenbank 'sisis' ist jetzt online. Datenbankoption 'select into/bulkcopy/pllsort' ist für Datenbank 'sisis' aktiviert. CHECKPOINT wird für Datenbank 'sisis' ausgeführt, damit Option 'select into/bulkcopy/pllsort' wirksam wird. (return status = 0) Datenbankoption 'auto identity' ist für Datenbank 'sisis' aktiviert. CHECKPOINT wird für Datenbank 'sisis' ausgeführt, damit Option 'auto identity' wirksam wird. (return status = 0) 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) Neuer Benutzer hinzugefügt. (return status = 0)
Überprüfen der Plattenallokation von Sybase ASE 15.0.3.
$ SybSQL15.0.3 Give Sybase user [sa] 1> sp_helpdb sisis 2> go
Im Fall der oben verwendeten beiden Beispieldateien sah die Ausgabe wie folgt aus.
name db_size owner dbid created status -------------------- ---------------------------------------------------- sisis 5120.0 MB sa 4 Apr 15, 2013 select into/bulkcopy/pllsort, Log an Checkpoint abschneiden, Auto-Identity (1 row affected) device_fragments size usage created free kbytes ------------------------------ ------------- -------------------- sisis_data1 4096.0 MB Nur Daten Apr 15 2013 3:24PM 4174640 sisis_log1 1024.0 MB Nur Log Apr 15 2013 3:24PM nicht zutreffend ----------------------------------------------------------------------------------------------------------------- Nur Log free kbytes = 1044476 (return status = 0)
Nach dem Anlegen der neuen Datenbank wird das Sybase-Log standardmässig bei einem checkpoint abgeschnitten. Dieses Verhalten muss als Sybase-Benutzer "sisis" abgeschaltet werden, um das Transaktionslogging zu aktivieren.
1> sp_dboption sisis, 'trunc log on chkpt', false 2> go Datenbankoption 'trunc log on chkpt' ist für Datenbank 'sisis' deaktiviert. CHECKPOINT wird für Datenbank 'sisis' ausgeführt, damit Option 'trunc log on chkpt' wirksam wird. (return status = 0) 1> use sisis 2> go 1> checkpoint 2> go 1> quit
Nun wird die neue (aber immer noch leere) Datenbank "sisis" gesichert. Zum Herstellen eines Dumps kann das Skript "SYBASEbackup.sh" verwendet werden, das allerdings zuvor konfiguriert werden muss!
$ vi /home/sisis/sc/SYBASEbackup.sh ALLDATABASES="sisis" EXTENSION="$1" BACKUPPATH=/OCLC/backup/MIGRATION-TEST $ SYBASEbackup.sh -leer-15.0.3 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 [-leer-15.0.3] Enter backup directory [/OCLC/backup/MIGRATION-TEST]