P8000/WEGA/contrib/ingres/dbs/sys/man/creatdb

237 lines
9.8 KiB
Plaintext

CREATDB(MUTOS) DABA16 CREATDB(MUTOS)
NAME
creatdb - Erstellen einer Datenbank
UEBERSICHT
creatdb [ -uname ] [ -e ] [ -m ] [ -/+c ]
[ -/+q ] [ -1 | -2 | -4 | -8 ] dbname
BESCHREIBUNG
Creatdb erstellt eine neue DABA-Datenbank oder modifiziert
den Status einer existierenden.
Der dieses Kommando fuer das Erstellen einer neuen Datenbank
ausfuehrende Nutzer wird zum Datenbankadministrator (DBA)
fuer diese Datenbank. Das Modifizieren einer existierenden
Datenbank ist nur dem DBA erlaubt. Der DBA hat spezielle
Befugnisse, die dem gewoehnlichen Nutzer nicht erlaubt sind.
Dbname ist der Name der zu erstellenden Datenbank. Dieser
Name muss ueber die Datenbanknamen aller DABA-Nutzer eindeu-
tig sein.
Das Flag -u mit dem unmittelbar folgenden Login-Namen
name gestattet es, sich als Nutzer mit dem Login-Namen name
auszugeben.
Die Flags -/+c und -/+q spezifizieren Optionen (Auswahlmo-
eglichkeiten) fuer die Datenbank. Das Flag der Form +x
schaltet eine Option "ein" und -x die Option "aus".
Es gibt die Moeglichkeit, die Seitengroesse der Datenbank an
das Betriebssystem anzupassen. Unterstuetzt werden Sei-
tengroessen von 512, 1024, 2048 und 4096 Bytes (2048 und
4096 Byte nur bei 32-Bit-Rechnern). Durch die Angabe des
Flags -1 wird eine Datenbank mit einer Seitengoesse von 512,
durch das Flags -2 mit 1024, durch -4 mit 2048 und durch -8
mit 4096 Byte erstellt.
Standard an einem 16-Bit-Rechner ist 1024.
Die Formen koennen parallel in einem System angelegt wer-
den. DABA verwaltet diesen Unterschied intern. Datenbanken
bestimmter Seitengroesse koennen nicht in solche mit einer
anderen Seitengroesse konvertiert werden, dazu muessen sie
logisch auskopiert und wieder einkopiert werden
(copydb(mutos)).
Das -c Flag schaltet die sogenannte "Gleichzeitigkeitssteue-
rung" aus (Standard : "ein").
Das +q Flag schaltet die sogenannte "Anfragenmodifikation"
ein (Standard : "ein").
Die Gleichzeitigkeitssteuerung sollte niemals ausgeschaltet
werden, es sei denn fuer Datenbanken, die nie von mehr als
einem Anwender genutzt werden. Wenn mehrere Nutzer die
Nutzer-Relationen niemals geteilt (shared) anwenden, so darf
die Gleichzeitigkeitskontrolle dennoch niemals ausgeschaltet
werden, da die System-Relationen immer noch geteilt genutzt
werden. Wenn die Gleichzeitigkeitssteuerung nicht instal-
liert wurde, wird die Gleichzeitigkeitssteuerung genauso
reagieren, als waere sie ausgeschaltet.
Die Anfragenmodifikation muss eingeschaltet sein, wenn die
Schutz-, die Integritaets- und Sichten-Subsysteme genutzt
werden sollen.
Das Schutz-Subsystem ueberwacht, dass die Befugnisse nicht
uebertreten werden, das Integritaets-Subsystem die Einhal-
tung der Integritaetsbedingungen und das Sichten-Subsystem
gestattet das Definieren und Handhaben der Sichten.
Es ist zu bemerken, dass mit eingeschalteter Anfragenmodifi-
kation DABA in einigen Faellen leicht verlangsamt arbeitet.
Es ist moeglich, fuer eine existierende Datenbank die Anfra-
genmodifikation einzuschalten, wenn sie ausgeschaltet war.
Sie kann aber nicht ausgeschaltet werden, wenn sie "ein"
war.
In Datenbanken, fuer die die Anfragenmodifikation ausge-
schaltet wurde, werden neue Relationen mit allen Befugnissen
fuer alle Nutzer erstellt. Fuer Datenbanken mit anwendbarer
Anfragenmodifikation werden neue Relationen standardmaessig
ohne Zugriffsbefugnis, ausser fuer den Eigentuemer, er-
stellt.
Datenbank-Optionen fuer eine existierend Datenbank koennen
durch die Spezifikation des -e Flag modifiziert werden. Die
Datenbank wird entsprechend den spezifizierten Flags an-
gepasst.
Beispielsweise schaltet :
creatdb -e +q meine_db
die Anfragenmodifikation fuer die Datenbank "meine_db" ein
(Die Gleichzeitigkeitssteuerung bleibt entsprechend der vor-
herigen Spezifikation erhalten). Nur der Datenbankadmini-
strator (DBA) darf das -e Flag nutzen.
Wenn die Anfragenmodifikation eingeschaltet wurde, werden
danach neue Relationen ohne Zugriffsbefugnis erstellt. Die
vorher erstellten Relationen besitzen jedoch noch die Befug-
nis fuer jedermann.
Die destroy Anweisung kann benutzt werden, um die globalen
Befugnisse zu entfernen, nachdem selektive Befugnisse mit
der permit Anweisung spezifiziert wurden.
Der DABA-Systemverantwortliche kann das -u Flag verwenden,
um einen anderen DBA und nicht sich selbst, anzugeben. Das
Flag muss unmittelbar vom Login-Namen des zukuenftigen DBA
gefolgt werden.
Das -m Flag zeigt an, dass das MUTOS-Directory, in dem die
Datenbank residieren soll, bereits existiert. Das wird nur
benoetigt, wenn das Directory ein montiertes (mounted)
File-System darstellt, was fuer sehr grosse Datenbanken der
Fall sein kann. Das Directory muss existieren (als
.../data/base/dbname ), muss den File-Modus 777 besitzen,
und alle Files muessen leer sein (siehe BEISPIELE).
Der DABA-Systemverantwortliche kann im Directory
.../data/base ein File erstellen, das eine einzelne Zeile
als vollstaendigen Pfadnamen der Lokalisation der Datenbank
enthaelt. Das wird fuer ausgelagerte Datenbanken genutzt.
Das File muss daba als Eigentuemer und einen File-Modus 600
besitzen. Wenn die Datenbank erstellt wird, wird sie nicht
im Directory
.../data/base sondern entsprechend dem Pfadnamen erzeugt.
Wenn beispielsweise das File
.../data/base/peterdb die Zeile
/mnt/peter/database
enthaelt, wird die Datenbank "peterdb" im Directory
/mnt/peter/database und nicht in
.../data/base/peterdb erstellt.
BEISPIEL[E]
creatdb demo
creatdb -upeter +q peters_db
creatdb -e +q +c -upeter peters_db
creatdb -upeter -c peters_db
creatdb -e +c peters_db
Montiertes Filesystem im DABA-DB-Pfad .../data/base
Soll eine Datenbank z.B. db_in_mount auf einem separaten
Filesystem, das im DABA-Datenbankpfad .../data/base mit
mount montiert wird, erstellt werden, ist das Folgendes zu
tun.
Der DABA-Systemverantwortliche daba (login: daba) richtet
das Datenbank-Directory ein und setzt den richtigen File-
Modus:
mkdir .../data/base/db_in_mount
chmod 777 .../data/base/db_in_mount
Der MUTOS-Systemverantwortliche root (login: root) montiert
im Directory
.../data/base/db_in_mount das Filesystem,
auf dem die Datenbank residieren soll.
Der DBA der Datenbank fuehrt folgendes Kommando aus:
creatdb -m db_in_mount
Vor jeder Benutzung der Datenbank db_in_mount ist dafuer zu
sorgen, dass das Filesystem montiert worden ist.
Das Anlegen von ausgelagerten Datenbanken
Als ausgelagerte Datenbanken werden solche bezeichnet, die
nicht, wie ueblich, im Datenbankpfad .../data/base angelegt
werden. Das kann sinnvoll sein, wenn z.B. mehrere Datenban-
ken als ein Komplex auf einem separaten Datentraegern an-
gelegt werden muessen.
Ausgelagerte Datenbanken koennen ausschliesslich vom DABA-
Systemverantwortlichen daba im Auftrage eines anderen Nut-
zers angelegt werden!
Wenn die Datenbank db_aus_mount im Directory
/mount/peters_dbs existieren, der Nutzer peter der DBA die-
ser Datenbank sein wird, die mit Anfragenmodifikation und
Gleichzeitigkeitssteuerung arbeiten soll, ist das Folgende
zu tun:
Der DABA-Systemverantwortliche daba (Login: daba) gibt die
folgenden Kommandos:
login: daba
passwd:
cd data/base
creatdb -upeter +c +q db_aus_mount
In "/mount/peters_dbs"
koennte ein Datentaeger
montiert werden.
mkdir /mount/peters_dbs/dbs_a
chmod 700 /mount/peters_dbs/dbs_a
Der File-Name "dbs_a"
ist ein beliebiger.
In "/mount/peters_dbs/dbs_a"
koennte ein Datentraeger montiert werden.
mkdir /mount/peters_dbs/dbs_a/db_a
chmod 777 /mount/peters_dbs/dbs_a/db_a
Der Name "db_a" ist ein beliebiger.
Hier eine Datentraeger zu montieren
ist nicht sinnvoll.
mv db_aus_mount/* /mount/peters_dbs/dbs_a/db_a
rmdir db_aus_mount
echo /mount/peters_dbs/dbs_a/db_a >db_aus_mount
chmod 600 db_aus_mount
FILES
.../sys/etc/dbtmplt6.3
.../data/base/*
SIEHE AUCH
destroydb(mutos), permit(ql), users(files)