LFD: Unterschied zwischen den Versionen

Aus Admin Kuhn GmbH
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(Die Seite wurde geleert.)
 
(26 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Info|Vor dem Anlegen der neuen Datenbank für SISIS-Sunrise muss sichergestellt werden, dass die aktuellen SISIS-Sunrise V4.1pl2-Pakete installiert wurden!}}


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 ).
{{Info|Diese Dateien dürfen nicht unverändert ausgeführt werden - dies könnte ungewollt Dateien im Dateisystem überschreiben! Es muss aussserdem sichergestekllt werden, dass die physikalischen Dateinamen in der Datei "DiskInit.sql" der Verzeichnisstruktur des lokalen Rechners entsprechen!}}
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.
{{Alert|Das Erstellen der Dateien "Disk.Init.sql<i>-xxx</i>" und "CreatDb.sql<i>-xxx</i>" könnte womöglich verskriptet werden, um in der Vergangenheit immer wieder aufgetretene Fehlkonfigurationen zu vermeiden...}}
{{Alert|Bei Einsatz von Touchpoint muss offenbar zusätzlich eine eigene Datenbank angelegt werden.}}
Konfiguration der Datei zum Anlegen der Plattenbereiche.
Login: <b>sisis</b>
$ <b>cd /home/sisis/sc</b>
$ <b>KUERZEL=Berlin-HUB</b>
$ <b>cp DiskInit.sql.orig DiskInit.sql-15.0.3-${KUERZEL}</b>
$ <b>vi DiskInit.sql-15.0.3-${KUERZEL}</b>
Zum Beispiel kann die angepasste Datei wie folgt aussehen.
<pre>
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
</pre>
Konfiguration der Datei zum Anlegen der Datenbank.
$ <b>cp CreatDb.sql.orig CreatDb.sql-15.0.3-${KUERZEL}</b>
$ <b>vi CreatDb.sql-15.0.3-${KUERZEL}</b>
Zum Beispiel kann die angepasste Datei zum Anlegen der Datenbank "sisis" (passend zu den Plattenbereichen im obenstehenden Beispiel) wie folgt aussehen.
<pre>
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
</pre>
Setzen der Umgebung und Ausführen der beiden Dateien als Benutzer "sisis".
$ <b>. /opt/lib/sisis/etc/syb.rc && export LANG=de_DE.UTF-8</b>
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.
$ <b>${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}</b>
Nun folgt das Anlegen der Datenbank, des Sybase-Benutzers "sisis" und die Zuteilung der Berechtigungen.
$ <b>${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}</b>
  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.
$ <b>SybSQL15.0.3</b>
Give Sybase user [sa]
1> <b>sp_helpdb sisis</b>
2> <b>go</b>
Im Fall der oben verwendeten beiden Beispieldateien sah die Ausgabe wie folgt aus.
<pre>
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)
</pre>
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> <b>sp_dboption sisis, 'trunc log on chkpt', false</b>
2> <b>go</b>
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> <b>use sisis</b>
2> <b>go</b>
1> <b>checkpoint</b>
2> <b>go</b>
1> <b>quit</b>
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!
$ <b>vi /home/sisis/sc/SYBASEbackup.sh</b>
ALLDATABASES="sisis"
EXTENSION="$1"
BACKUPPATH=<b>/OCLC/backup/MIGRATION-TEST</b>
$ <b>SYBASEbackup.sh -leer-15.0.3</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 [-leer-15.0.3]
Enter backup directory [/OCLC/backup/MIGRATION-TEST]

Aktuelle Version vom 29. August 2013, 21:00 Uhr