Ago 16

Nach der Installation der Datenbank finden sich alle pre-definierten Benutzer der Datenbank blockiert, ausgenommen die “sys” und “system” Benutzer, die, da sie zu vielen Privilegien haben, nicht für unsere Tests benutzen möchten. Deswegen werden wir unseres eigene Konto anlegen.

Beispiel:

Um das Konto anzulegen, müssen wir folgenden Schritten folgen:

  1. Einloggen auf der Datenbank unter dem “system” Benutzer

  2. fran@seat:~$ sqlplus system/XXXXXX

  3. Anlagen des neuen Benutzers

  4. SQL> create user fran identified by XXXXXX ;

  5. Die gewünschten Privielegen den Benutzer erteilen

  6. SQL> grant dba to fran ;

Ergebnis:

Ein Bild ist Wertvoller als ein Tausend Worte – Sagt man auf Spanisch:

create_user

Ago 05

Manchmal müssen die Tests von Prozesse mit produktiven Daten stattfinden. Obwohl wir die Benutzer und ihre Kennwörter auf der Testumgebung besitzen, auf Sicherheitsgründe sind diese Zugriffsdaten der Produktivumgebung fürs uns unbekannten. Zum Glück haben wir einen Benutzer auf der Produktivumgebung, der die “select any tables” Rechte hat. Das reicht für uns, da wir die Tabellen auf unserem Schema anlegen können und danach mit Hilfe der Oracle Befehlen exp bzw. imp können wir diese Tabellen exportieren und importieren. Schließlich geben wir die “select” Rechte zu dem endgültigen Benutzer, da er die Daten zugreifen kann, um sie kopieren zu können.

Wir haben auch angenommen, dass die DB-LINKS zwischen der Testdatenbank und der Prod – Datenbank verboten sind.

Beispiel:

Technische Daten:

Datenbankversion: 10g
Produtivdatenbank: prod_db
Testdatenbank : test_db
Prodschema : sct
Benutzerschema : fran
Betriebssystem : AIX seat 3 5 00C783704C00

Ablauf:

  • Tabelle auf unserem produktiven schema anlegen:

fran@prod_db> create table fran.karten as
select *
from sct.karten

/

  • Tabelle exportieren:

exp fran@prod_db tables=karten file=karten.dmp

  • Tabelle auf unserem Testschema importieren:

exp fran@prod_db tables=karten file=karten.dmp

  • Grant vergeben:

fran@test_db> grant select on fran.karten to sct ;

Wichtige Himweise:

Muss berücksichtigt werden, dass genug Platz in dem betroffenen Tablespace bzw. Filesystem vorhanden ist.


Hilfbefehle:


  • „ls –lrt karten.dmp“: Um die Größe unserer Exportdatei zu kontrollieren:

-rw-r–r– 1 fran entw 263135232 Aug 05 16:28 karten.dmp

  • „df –k | grep lhome“: Um den Platz auf dem Filesystem zu überprüfen.

/dev/home 5242880 780164 86% 88358 7% /lhome

  • Mit der folgenden Abfrage können wir uns anschauen, wie viel Platz noch Übrig in unserem „users“ Tablespace haben:

select  a.tablespace_name,

b.file_name,

b.bytes sizeb,

sum(a.bytes) free

from (select file_id, tablespace_name, bytes, rownum from dba_free_space) a,

(select file_id, file_name, bytes, rownum from dba_data_files) b

where a.file_id = b.file_id

and a.tablespace_name = ‘USERS’

group by a.tablespace_name, b.file_name, b.bytes

;