Einführung / Konfiguration des FirstSpirit-Servers / Datenbankanbindung / Rechte für Datenbank-Benutzerkonten
Notwendige Rechte für Datenbank-Benutzerkonten
Abhängig von der verwendeten Datenbank sind bestimmte Rechte notwendig, die in den folgenden Abschnitten beschrieben werden.
Oracle-Datenbanken
Für DBA-Layer:
CREATE USER <dbuser> IDENTIFIED BY "<password>";
GRANT DBA TO <dbuser>;
Für Standard-Layer:
CREATE USER <dbuser> IDENTIFIED BY "<password>";
GRANT CONNECT TO <dbuser>;
GRANT RESOURCE TO <dbuser>;
MySQL-Datenbanken
Für DBA-Layer:
# mysqladmin --default-character-set=utf8 create <dbname>
# mysql
mysql> CREATE USER <dbuser> IDENTIFIED BY "<password>";
mysql> GRANT ALL PRIVILEGES ON *.* TO <dbuser>;
mysql> GRANT GRANT OPTION ON *.* TO <dbuser>;
Für Standard-Layer:
# mysqladmin --default-character-set=utf8 create <dbname>
# mysql
mysql> CREATE USER <dbuser> IDENTIFIED BY "<password>";
mysql> GRANT ALL PRIVILEGES ON <dbname>.* TO <dbuser>;
Die Angabe der Zeichenkodierung UTF-8 ist erst ab MySQL Version 5 sinnvoll.
Die InnoDB Storage-Engine muss auf dem MySQL-Server aktiviert sein!
Empfehlenswerte MySQL-Server-Parameter für Produktionssysteme:
[mysqld]
set-variable=max_allowed_packet=4M
key_buffer_size=20M
sort_buffer_size=1M
query_cache_size=14M
innodb_buffer_pool_size=128M
PostgreSQL
Für DBA-Layer:
createdb -E UTF8 myDBname "my DB description text"
createuser -D -A -P -E myDBuser
psql -d myDBname -c "grant create on database myDBname to myDBuser;"
Für Standard-Layer:
createdb -E UTF8 myDBname "my DB description text"
createuser –D –A -P -E myDBuser
Alle Abfragen bei createuser können mit "Nein" beantwortet werden, da weder bei DBA-Layer noch Standard-Layer erweiterte Benutzerrechte, außer denen über grant create für DBA-Layer zugewiesenen, notwendig sind.
In der Datei /etc/postgres/pg_hba.conf muss anschließend noch die Passwort-Authentifizierung (Typ MD5) für den angegebenen Benutzer auf die verwendete Datenbank eingetragen werden. Um diese Änderung dem Datenbank-Server bekannt zu machen, ist folgender Aufruf notwendig:
pg_ctl reload
IBM DB2
Erstellen der Datenbank (DBA-Layer und Standard-Layer):
db2 create database myDB using codeset utf-8 territory us pagesize 32 k
db2 update db cfg for myDB using applheapsz 1024
db2 connect to myDB
db2 create schema myUser
Die letzte Zeile ist nur notwendig, wenn das Standard-Schema „myUser“ der Datenbank „myDB“ noch nicht vorhanden ist.
„myUser“ ist der JDBC-Benutzername, der bei DB2 dem Instanznamen entspricht, also beispielsweise "db2inst1". Bei Bedarf kann aber auch ein anderer Schema-Name verwendet werden.
Folgende Berechtigungen sind notwendig für das DB2-Benutzerkonto:
- Für DBA-Layer: DBADM
- Für Standard-Layer: CONNECT, CREATETAB, BINDADD, IMPLICITSCHEMA
MS-SQL-Server
Wurde in der Layerdefinition kein SCHEMA definiert, benötigt der DB-Benutzer in der unter „jdbc.URL“ gesetzten Datenbank nicht nur die „public“ und „db_owner“ Rechte, sondern zusätzlich noch die Serverrolle „System Administrators“ (im „SQL Server Enterprise Manager“ unter „Sicherheit/Benutzernamen“ im Register „Serverrollen“). Mit diesen Rechten kann der DB-Benutzer neue Tabellenbesitzer (gleich SCHEMA) anlegen (z. B. beim Import von Projekten).
(siehe Konfigurationsbeispiel; spezifische Parameter).