Sybase Adaptive Server Enterprise

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Der Datenbankserver Sybase Adaptive Server Enterprise / Sybase ASE (früher: Sybase SQL Server) wird von der Firma Sybase entwickelt.

Sybase ASE verwaltet

  • Mehrere Benutzer mit mehreren Aufgaben
  • Mehrere Datenbanken und ihre Position auf mehreren Festplatten. Jede Datenbank besitzt ihre eigenen Optionen, Objektinformationen und Transaktionslogs.
  • Mapping logischer Objekte zu Daten auf physischen Geräten
  • Daten- und Prozedurcaches im Arbeitsspeicher

Installation

  1. Erstelle einer eines Sybase-Kontos und Konfiguration des Betriebssystems
  2. Laden der Sybase-Dateien ("sybsetup")
  3. Installation von Sybase Adaptive Server Enterprise (srvbuild)
  4. Initialisieren der devices, Anlegen der Datenbanken, Anlegen der Benutzerkonten

Software-Struktur

Die wichtigsten Verzeichnisse und Dateien sind:

$SYBASE
$SYBASE/interfaces Definition der Netzwerkports
$SYBASE/ASE_12-5 Server-Konfigurationsdatei
$SYBASE/ASE_12-5/bin Programmdateien (u. a. backupserver, dataserver, srvbuild)
$SYBASE/ASE_12-5/include Header-Dateien
$SYBASE/ASE_12-5/install Installationsprogramme, RUN_SERVER-Dateien
$SYBASE/ASE_12-5/lib Bibliotheken
$SYBASE/ASE_12-5/script SQL-Skripte
$SYBASE/OCS_12-5
$SYBASE/OCS_12-5/bin Programmdateien (u. a. bcp, dscp, isql)
$SYBASE/OCS_12-5/include Header-Dateien
$SYBASE/OCS_12-5/lib Bibliotheken

Stored procedures

"Stored procedures" sind SQL-Befehle, die in Sybase ASE abgespeichert wurden. Einige werden bereits mit dem Produkt ausgeliefert und heissen dann "Systemprozedur" (sytem procedure). Systemprozeduren greifen typischerweise auf Systemtabellen zu:

Anzeige von Informationen
sp_helpdb Tabelle "sysdatabases"
sp_who Tabelle "sysprocesses"
Änderung von Tabellen
sp_addumpdevice Tabelle "sysdevices"
sp_addlogin Tabelle "syslogins"

Devices

Zum Anlegen von Devices wird disk init verwendet. Dabei wird ein neuer Datensatz in die Tabelle "sysdevices" der Datenbank "master" geschrieben. Diese Tabelle listet Datenbanken und Dump devices.

$ $SYBASE/ASE-12_5/install/isql -U*** -P*** -S***
1> select * from sysdevices
2> go
low         high        status cntrltype name          phyname                                      mirrorname 
----------- ----------- ------ --------- ------------- -------------------------------------------- ----------
  117440512   117964799  16386         0 DBsisisdev    /SunRiseDatabase/sybaseDatabase/data1Dev     NULL
   83886080    84148223  16386         0 logdev        /SunRiseDatabaseLog/sybaseDatabase/logDev    NULL
          0      102399      3         0 master        /SunRiseDatabase/sybaseDatabase/masterDev    NULL
   16777216    16879615  16386         0 sysprocsdev   /SunRiseDatabase/sybaseDatabase/sysprocsDev  NULL
   33554432    33559551  16386         0 systemdbdev   /SunRiseDatabase/sybaseDatabase/sybsysdbDev  NULL
          0       20000     16         2 tapedump1     /dev/nst0                                    NULL
          0       20000     16         3 tapedump2     /dev/nst1                                    NULL
   50331648    50855935      2         0 tempdev       /SunRiseDatabase/sybaseDatabase/tempDev      NULL

Die Systemprozedur sp_helpdevice fragt die Tabelle "sysdevice" ab, ermittelt bestimmte Werte und zeigt nützliche Informationen über die Devices an:

$ $SYBASE/ASE-12_5/install/isql -U*** -P*** -S***
1> sp_helpdevice
2> go
device_name physical_name                                 description status cntrltype
         device_number low          high
----------- --------------------------------------------- --------------------------------------------------------
DBsisisdev  /SunRiseDatabase/sybaseDatabase/data1Dev      besonders, dsync on, Physischer Plattenspeicher, 1024.00 MB
         16386 0 7     117440512    117964799
            /SunRiseDatabaseLog/sybaseDatabase/logDev     besonders, dsync on, Physischer Plattenspeicher, 512.00 MB
         16386 0 5      83886080     84148223
master      /SunRiseDatabase/sybaseDatabase/masterDev     besonders, dsync on, Standard-Plattenspeicher, Physischer Plattenspeicher, 200.00 MB
             3 0 0             0       102399
sysprocsdev /SunRiseDatabase/sybaseDatabase/sysprocsDev   besonders, dsync on, Physischer Plattenspeicher, 200.00 MB
         16386 0 1      16777216     16879615
systemdbdev /SunRiseDatabase/sybaseDatabase/sybsysdbDev   besonders, dsync on, Physischer Plattenspeicher, 10.00 MB
         16386 0 2      33554432     33559551
tapedump1   /dev/nst0                                     Platte, Sicherungsdevice
            16 2 0             0        20000
tapedump2   /dev/nst1                                     Band, 625 MB, Sicherungsdevice
            16 3 0             0        20000
tempdev     /SunRiseDatabase/sybaseDatabase/tempDev       besonders, dsync off, Physischer Plattenspeicher, 1024.00 MB
             2 0 3      50331648     50855935

Anlegen eines zusätzlichen Devices

Anlegen eines zusätzlichen Devices.

1> disk init
2> name="DATAsisisDev2",
3> physname="/SybaseDatabase/15.0.2/DATAsisisDev2",
4> size="4G",
5> dsync=false
6> go

Erweiterung der Datenbank "sisis":

1> alter database sisis
2> on DATAsisisDev2=4096
3> go

Falls der temporäre Bereich erweitert wird, muss nach Anlegen eines entsprechenden Devices die Datenbank "tempdb" erweitert werden.

1> alter database tempdb
2> on tempDev2=2048
3> go

Entfernen von Devices

Wann ist es notwendig, ein Device zu entfernen?

  • Um Hardware auszuwechseln, zu reparieren oder hinzuzufügen
  • Um die Grösse eines Devices zu ändern muss es gelöscht und erneut hinzugefügt werden:
    • sp_dropdevice <Device-Name>
    • Danach muss der Adaptive Server neu gestartet werden, damit die Device-Nummer wiederverwendet werden kann ("vdevno")
  • Bei Festplattendateien muss die Datei nach dem Löschen des Devices gelöscht werden, um den Festplattenplatz freizugeben.
  • Ein Device kann nicht gelöscht werden, solange sich noch Datenbanken darauf befinden.

Befehle

  • backupserver - the executable form of the Backup Server program.
  • bcp - copies a database table to or from an operating system file in a user- specified format.
bcp [[database_name.]owner.][view_name | table_name
[:partition_id]] {in | out} datafile [-c] [-E] [-n] [-N] [-X] [-a display_charset]
[-A packet_size] [-b batchsize] [-e errfile] [-f formatfile] [-g id_start_value]
[-I interfaces_file] [-J client_charset] [-m maxerrors] [-P password] [-q
datafile_charset] [-R remote_server_principal] [-S server] [-t field_terminator]
[-T text_or_image_size] [-U username] [-z language] or bcp -v

Beispiel:

$SYBASE/bin/bcp sisis..d02ben out /tmp/d02ben.tab -c -Usisis -Psisis123 -t\|
  • buildmaster - builds the master device and creates the master, model, and tempdb databases on the device.
buildmaster [-d disk] [-c cno] [-s size] [-m] [-r] [-q] [-x] or buildmaster -v
  • dataserver - The executable form of the Adaptive Server program.
dataserver -ddevicename [-cconfigurationfile] [-eerrorlogfile] [-m] [-rmastermirror]
[-Msharedmem_directory] [-iinterfaces_file_directory] [-sservername] [-psso_login_name] or dataserver -v
  • defncopy - Copies definitions for specified views, rules, defaults, triggers, or procedures from a database to an operating system file or from an operating system file to a database. The defncopy utility cannot copy table definitions or reports created with Report Workbench.
defncopy [-X] [-a display_charset] [-I interfaces_file] [-J [client_charset]] [-P password] [-R remote_server_principal]
[-S [server]] [-U username] [-z language] {in filename dbname | out filename dbname [owner.]objectname 
[[owner.]objectname...] } or defncopy -v


  • dscp - Allows you to view and edit server entries in the interfaces file from the command line.
dscp [-p] or dscp -v To exit from dscp: quit or exit
  • dsedit - Allows you to view and edit server entries in the interfaces file using a graphical user interface based on X11/Motif.
dsedit or dsedit -v
  • isql - Interactive SQL parser to Adaptive Server.
  • langinstall - Installs a new language in an Adaptive Server.
langinstall [-S server] [-I interfaces_file] [-P password] [-R release_number] language character_set or langinstall -v
  • optdiag - Displays optimizer statistics or loads updated statistics into system tables.
optdiag [ binary ] [simulate ] statistics { -i input_file
| database[.owner[.[table[.column]]]] [-o output_file] } [-U username]
[-P password] [-I interfaces_file] [-S server] [-v] [-h] [-Tflag_value]
[-z language] [-J client_charset] [-a display_charset]
  • showserver - Anzeige der aktuell auf dem lokalen Rechner laufenden Adaptive-Server und Backup-Server.
  • sqlloc - Installs and modifies languages, character sets, and sort order defaults for Adaptive Server using a graphical user interface based on X11/Motif.
sqlloc [-S server] [-U user] [-P password] [-s sybase_dir] [-I interfaces_file] [-r resource_file] or sqlloc -v
  • sqllocres - Installs and modifies languages, character sets, and sort order defaults for Adaptive Server, using a resource file.
sqllocres [-S server] [-U user] [-P password] [-s sybase_dir] [-I interfaces_file] [-r resource_file] or sqllocres -v
  • sqlupgrade - Upgrades your currently installed release of Adaptive Server to the newest release using a graphical user interface based on X11/Motif.
sqlupgrade [-s sybase_dir] [-r resource_file] or sqlupgrade -v
  • sqlupgraderes - Upgrades your currently installed release of Adaptive Server to the newest release using resource files.
sqlupgraderes [-s sybase_dir] [-r resource_file] or sqlupgraderes -v
  • srvbuild - Creates a new Adaptive Server, Backup Server, Monitor Server, or XP Server with default or user-specified values for key configuration attributes using a graphical user interface based on X11/Motif.
srvbuild [-s sybase_dir] [-I interfaces_file] [-r resource_file] or srvbuild -v
  • srvbuildres - Creates, using resource files, a new Adaptive Server, Backup Server, Monitor Server, or XP Server with default or user-specified values for key configuration attributes.
srvbuildres [-s sybase_dir] [-I interfaces_file] [-r resource_file] or srvbuildres -v
  • startserver - Starts an Adaptive Server and/or a Backup Server.
startserver [[-f runserverfile] [-m]] ...
  • sybload - Uploads Sybase products from the distribution media and builds the Sybase installation directory.
sybload [-D]
  • sybsetup - Installs and configures Adaptive Server from a single location using a graphical user interface based on X11/Motif.
sybsetup [-c devicename] [-t devicename] [-l local_source] [-r remote_source]

FAQ

Ansehen einer Bandsicherung

Die Gerätedatei "/dev/nst0" muss die Rechte 666 besitzen.

$ ls -al /dev/nst0
crw-rw-rw-  1 root disk 9, 128 2004-06-30 21:04 /dev/nst0

Danach kann die Bandsicherung wie folgt angesehen werden.

1> load database model from "/dev/nrmt0" with listonly
2> go
Backup Server-Sitzungs-ID:  12. Verwenden Sie diesen Wert bei der Ausführung der
gespeicherten Prozedur 'sp_volchanged' nach einem vom Backup Server
angeforderten Datenträgerwechsel.
Backup Server: 4.34.1.1: Device '/dev/nrmt0':
Datenträger:'      '

Backup Server: 4.36.1.1: Device '/dev/nrmt0':	
Dateiname:	'sisis0925212750 
'
Erstellungsdatum und -zeit:	Mittwoch, 9 Sep, 2009, 21:00:00
Ablaufdatum und -zeit:	Mittwoch, 9 Sep, 2009, 00:00:00
Datenbankname:	'sisis                         '

Backup Server: 6.30.1.2: Device /dev/nrmt0: Das Katalogisieren des Datenträgers
wurde beendet.
Backup Server: 6.45.1.1: Achten Sie darauf, Band/Diskette aus Laufwerk
/dev/nrmt0 zu nehmen (Server: , Sitzungs-ID: 12).

Zurücksichern einer Datenbanksicherung ab Band

Die Gerätedatei "/dev/nst0" muss die Rechte 666 aufweisen.

$ ls -al /dev/nst0
crw-rw-rw-  1 root disk 9, 128 2004-06-30 21:04 /dev/nst0

Danach kann die Bandsicherung der Datenbank "sisis" wie folgt zurückgesichert und die Datenbank online gebracht werden.

1> load database sisis from "/dev/nrmt0"
2> go
Backup Server-Sitzungs-ID:  18. Verwenden Sie diesen Wert bei der Ausführung der
gespeicherten Prozedur 'sp_volchanged' nach einem vom Backup Server
angeforderten Datenträgerwechsel.
Backup Server: 6.28.1.1: Sicherungsdateiname 'sisis0925212750  ', Sektion-Nummer
1, gemountet auf Bandlaufwerk '/dev/nrmt0'
Backup Server: 4.58.1.1: Datenbank sisis: 74516 KByte LOAD.
Backup Server: 4.58.1.1: Datenbank sisis: 128606 KByte LOAD.
...
Backup Server: 4.58.1.1: Datenbank sisis: 6291892 KByte LOAD.
Backup Server: 4.58.1.1: Datenbank sisis: 6291904 KByte LOAD.
Backup Server: 6.45.1.1: Achten Sie darauf, Band/Diskette aus Laufwerk
/dev/nrmt0 zu nehmen (Server: , Sitzungs-ID: 18).
Backup Server: 3.42.1.1: LOAD ist beendet (Datenbank sisis).
Started estimating recovery log boundaries for database 'sisis'.
Database 'sisis', checkpoint=(1440431, 22), first=(1440431, 22), last=(1440433,
1).
Completed estimating recovery log boundaries for database 'sisis'.
Started ANALYSIS pass for database 'sisis'.
Completed ANALYSIS pass for database 'sisis'.
Started REDO pass for database 'sisis'. The total number of log records to
process is 29.
Redo pass of recovery has processed 5 committed and 0 aborted transactions.
Completed REDO pass for database 'sisis'.
Verwenden Sie den Befehl ONLINE DATABASE, um diese Datenbank online zu bringen.
Der SQL Server bringt sie nicht automatisch online.
1> online database sisis
2> go
Started estimating recovery log boundaries for database 'sisis'.
Database 'sisis', checkpoint=(1440431, 22), first=(1440431, 22), last=(1440433,
1).
Completed estimating recovery log boundaries for database 'sisis'.
Started ANALYSIS pass for database 'sisis'.
Completed ANALYSIS pass for database 'sisis'.
Recovery of database 'sisis' will undo incomplete nested top actions.
Datenbank 'sisis' scheint eine ältere Version als die aktuelle Installation zu
sein; der SQL Server wird auf sie zugreifen und sie - falls nötig -
aktualisieren.
Datenbank 'sisis': Upgrade-Schritt [ID  1416] wird begonnen: Ausführung der
SQL-Anweisung (update sysroles set id=11 from sysu)
(0 rows affected)
(0 rows affected)
(0 rows affected)
Datenbank 'sisis': Upgrade-Schritt [ID  1418] wird begonnen: Ausführung der
SQL-Anweisung (if not exists (select 1 from syscol)
Datenbank 'sisis' ist jetzt online.

Datei "droptabs.sql"

set line 150
set pages 1000
set heading off
set feedback off
set recsep off

select 'spool trunctabs.sql.spool' from dual;

select '/* ' || chr(10) || 'loesche Tabelle ' || TABLE_NAME || ' */' || chr(10) || 'truncate table ' || TABLE_NAME || ';' from user_tables;

select 'spool off' from dual;

spool off

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Sybase Inc. eng The Sybase FAQs (Adaptive Server Enterprise)wbm
Rob Verschoor eng Sypronwbm
Michael Peppler eng ASE on Linux FAQwbm