corner image
home ·SAPDB Howto


letzte Änderung:
TCP-States
Netzwerk
Links
Australien
Wertpapiere

SAPDB Howto

by Claus Ebert

initial Version (0.2)

Howto für die SAP Datenbank.
Ich verwende SAPDB bis jetzt unter Windows NT und Linux/Debian.
Da die Installation, Wartung usw.. nicht immer leicht sind, habe ich hier meine Erfahrungen hier zusammengestellt.

1.Installation

2.Datenbankobjekte anlegen


1. Installation

Die Installation funktioniert eigendlich ziemlich reibungslos, wenn man der Dokumentation (passend zur Datenbank Version) folgt.
Ausnahmen bestätigen aber die Regel.

1.1 Installation unter Debian Linux

Wenn SapDB auf Debian/Woody installiert werden soll, muß die alte Version des C++ libraries installiert sein. Falls noch nicht vorhanden können die libraries mit
apt-get install libstdc++2.9-glibc2.1 nachinstalliert werde.

top

1.2 Entfernen von SAPDB unter Windows

  • lösche alle vorhandenen Datenbanken:
    1. dbmcli -d TST -u DBM,DBM db_offline
    2. dbmcli -d TST -u DBM,DBM db_drop
    3. falls SAPDB über services gestartet wird, müssen diese entfernt werden:
      • service.exe -r <dbname>
      • service.exe -r -s <dbname> for SAPDB: DBNAME (slow)
      • service.exe -r -q <dbname> for SAPDB: DBNAME (quick)
  • Entfernen der Registrierung der Datenbank
    1. dbmcli -d TST -u DBM,DBM inst_unreg
    2. x_server stop
    3. x_server remove
  • Entfernen der Verzeichnisse die während der Installation angelegt wurden
  • Enternen von DBM Gui und des SQLStudios: Start=>Settings=>Control Panel=>Add/Remove Programs
  • Entfernen der Registry Keys HKEY_LOCAL_MACHINE\SOFTWARE\SAP\SAP DBT

top

2. Datenbankobjekte anlegen

2.1 User

Als Adminuser (dba, dbm) können wir uns nicht über ODBC, JDBC ... zur Datenbank verbinden. (Sollten wir auch nicht).
Dazu muss ein 'normaler' Datenbank-User angelegt werden.

um normale User anlegen zu können müssen wir als SYSDBA angemeldet sein (dba und dbm haben nicht die erforderlichen rechte)
z.B. in dbmcli:
sql_connect SYSDBA,dba
... SYSDBA entspricht dem dba user (hat auch das gleiche passwort)
erst wenn man als SYDBA angemeldet ist, kann man neue User anlegen:

CREATE USER USER PASSWORD PWD RESSOURCE NOT EXCLUSIVE

Username und Passwort sind case-sensitive, also auf groß- kleinschrift achten
Damit wird ein User angelegt, der :
[RESOURCE] berechtigt ist, private Objekte anzulegen, und der Rechte an diesen Objekten anderen Usern zuweisen kann.
NOT EXCLUSIVE der user kann mehr als eine Datenbankverbindung auf einmal öffnen.

top

2.2 Index

CREATE  INDEX ADR_I_1 ON cedb.KRN_ADRESSE(ADR_PSN_ID) 

top

2.3 Sequence

CREATE SEQUENCE CEDB.SEQ_ABO INCREMENT BY 1 START WITH 96 
    NOMAXVALUE NOMINVALUE NOCYCLE NOCACHE NOORDER

top

2.4 Eindeutige Spalten (Unique Key)

ALTER TABLE BCH_KONTEN ADD   CONSTRAINT UNIQUE  (BKO_MND_ID, BKO_KONTO_NR) 

top

2.5 Trigger erzeugen

CREATE TRIGGER
INSTR_ABO
FOR CEDB.KRN_ABO
AFTER INSERT EXECUTE
(
  TRY
  IF ABO_ID is null or ABO_ID = 0 THEN
    UPDATE CEDB.KRN_ABO
      SET ABO_ID = CEDB.SEQ_BLP.NEXTVAL
        WHERE ABO_ID =:NEW.ABO_ID;
  CATCH
    IF $rc <> 100
      THEN STOP ($rc, 'Unexpected Error in Trigger INSTR_ABO');
)

top

2.6 Trigger entfernen

DROP TRIGGER INSTR_ABO of "CEDB"."KRN_ABO"

top
  ©2016· Claus Ebert · Emailemail senden