Grundlagen der Benutzer und Schemas in Oracle 12c

Benutzer, die nicht nur Zugriff auf Daten in Oracle-Datenbanken 12c, aber sie besitzen die Objekte, die die Daten enthalten. Die Menge der Objekte im Besitz eines Benutzers ist seine Schema. Nicht alle Benutzer besitzen Objekte, so Schemata können leer sein.

Andere Benutzer können Objekte innerhalb eines Benutzers Schema zugreifen oder ausgeführt werden, nachdem der Schemabesitzer Privilegien gewährt. Es ist gängige Praxis, ein Benutzer alle Objekte die von einer Anwendung besitzen zu haben (Tabellen, Indizes, Ansichten, und so weiter) und dann in der Datenbank den Zugriff auf diese Objekte zu allen Anwendungs ​​Benutzer. Dies geschieht über Datenbank gewährt, Rollen getan und Synonyme.

Zum Beispiel übernehmen Sie die ACME Anwendung haben. Sie würden einen Benutzer namens ACME_OWN erstellen und alle Objekte als ACME_OWN erstellen. Dann würden Sie eine Datenbankrolle namens ACME_USER erstellen und erteilen SELECT, UPDATE, EXECUTE für die Objekte in ACME_OWN Schema zu dieser Rolle.

Anwendungs ​​Benutzer würde die ACME_USER Rolle gewährt werden, damit sie die ACME_OWN die Objekte zugreifen können. Auf diese Weise besitzt ein Benutzer die Objekte, aber die eigentliche Datenbank oder Applikation Benutzer auf die Daten zugreifen. Diese Trennung verbessert sowohl die Sicherheit und Verwaltbarkeit.

Nutzer fallen in eine von zwei Kategorien:

  • Anwendungseigentümer, deren Schemata enthalten mehrere Objekte

  • Anwendungs ​​Benutzer mit wenigen oder keinen Objekte

Die Syntax für jeden Benutzer Schöpfung ist die gleiche, aber Zuschüsse und Privilegien für jeden sind, was die beiden Kategorien zu trennen.

Hier ist die Syntax für einen Benutzer zu erstellen:

CREATE USER IDENTIFIZIERT VON # 147-# 148-Temporary Tablespace Standardtabellen -

Für Benutzername, nutzen, um etwas beschreibend (wie DATABASE TITEL_OWN) Für den Eigentümer der Objekte für die Anwendung. Wenn eine Verbindung gepoolt Web-Benutzer auf die Anwendung zugreifen wird, ein Name mit _Web beigefügten angemessen ist. Normale Anwendung Benutzer sollten beschreibend, wie Vorname sein, zuletzt initialisiert ein Beispiel ist VICKYB.

Das Passwort für den Benutzer sollte folgende Merkmale aufweisen:

  • Seien Sie mehr als acht Zeichen

  • Fügen Sie Zahlen und Sonderzeichen

  • Nicht basierend auf Wörter aus dem Wörterbuch werden

  • Verwenden Sie Groß- und Kleinbuchstaben

Platzieren Sie das Kennwort in doppelte Anführungszeichen (# 147- # 148-) können Sonderzeichen, ohne dass die Structured Query Language (SQL) Syntax zu stören.

Zwei Tablespaces müssen identifiziert werden, wenn ein Benutzer zu erstellen: temporäre und Standard:

  • Die temporären Tabellen ist, wo temporäre Segmente erstellt werden. TEMP ist der Standard.

  • Der Standardtabellen ist, wo Tabellen Objekte (wie Tabellen oder Indizes) erstellt werden, wenn Sie die TABLESpeicher Klausel während des Objekts erstellen Anweisung weglassen. Idealerweise listet jede Tabelle oder Indexanweisung einen Tabellen. Wenn ein Tabellenbereich fehlt, gehen diese Objekte auf den Tabellen als DEFAULT definiert. Im Allgemeinen wird der NUTZER Tabellen als DEFAULT definiert.

Ein Benutzer muss Systemprivilegien der Lage sein, auf die Datenbank zu verbinden und Objekte erstellen. Die Gewährung der SESSION Privileg CREATE oder Rolle CONNECT ermöglicht es einem Benutzer in die Datenbank einloggen. Geben einen Benutzer der Rolle RESOURCE ermöglicht es dem Benutzer Datenbankobjekte zu erstellen.

In den folgenden Schritten können Sie einen Benutzer mit SQL * Plus erstellen und die erforderlichen Rollen und Berechtigungen in der Datenbank zu verbinden gewähren:

  1. In SQL * Plus, geben Sie Folgendes einen Benutzer zu erstellen:

    SYS @ dev12c> Benutzer acme_own2 identifiziert durch erstellen "acme_own2013!" 3 temporären Tabellen TEMP4 Standardtabellen Benutzer-Benutzer erstellt.

    In diesem Beispiel ist das Benutzerschema Besitzer ACME_OWN. Der Standardtabellen wird als Nutzer definiert, obwohl der Tabellenbereich Speicher Klausel angeben ACME_DATA erwartet wird, wenn Objekte erstellt werden.

  2. Erteilen Sie dem Benutzer CONNECT und RESOURCE Rollen, so dass der Benutzer in die Datenbank einloggen und Objekte erstellen:

    SYS @ dev12c> connect erteilen succeeded.SYS@dev12c zu acme_own-Grant> Ressource gewähren acme_own-Grant gelungen.
  3. Erstellen Sie eine neue Rolle:

    SYS @ dev12c> Rolle acme_user-Rollen created.SYS@dev12c erstellen> Sitzung gewähren erstellen, um acme_user-Grant gelungen.

    In diesem Beispiel wird ACME_USER erstellt. Dieser Benutzer Objekt Zuschüsse aus dem ACME_OWN Konto erhalten als Objekte erstellt werden.

  4. Erteilen Sie die entsprechenden INSERT, UPDATE, DELETE und Zugriffsrechte EXECUTE für jedes Objekt auf die zweite Rolle.

    Auf diese Weise können Sie die Rolle gewähren, die die Zuschüsse für jede Anwendung Benutzer hat. Jede Anwendung Benutzer hat dann Zugriff auf die ACME_OWN Objekte. Dies erspart Ihnen, jeden Benutzer den Zugriff auf jedes Objekt einzeln gewähren.

  5. Grants SESSION auf die erste Rolle CREATE.

    Wenn Benutzer die Rolle erhalten, können sie in die Datenbank einloggen.

Sie können mithilfe von SQL * Plus einzelnen Anwendungsbenutzer erstellen. Verwenden Sie Enterprise Manager Database Express-Benutzer zu erstellen:

  1. Wählen Sie Security-Benutzer zum Erstellen von Benutzer Bildschirm zu bekommen.

    bild0.jpg
  2. Geben Sie den Benutzernamen, das Profil und das Kennwort ein.

    VICKYB hat voreingestelltes Profil und Passwort-Authentifizierung. Das Passwort eingeben erscheint als asterisks- Sie haben es zweimal eingeben, um Sie es nicht sicherzustellen, dass Sie falsch eingeben.

  3. Klicken Sie auf den Pfeil nach rechts auf den Tabellen Bildschirm zu gehen.

    Wählen Sie den neuen My_Data Tabellen als VICKYB der Standardtabellen.

    Akzeptieren Sie die temporären Tabellen - TEMP Tabellen Standard.

    image1.jpg
  4. Klicken Sie auf den Pfeil nach rechts, um zum nächsten Bildschirm zu gehen.

    Die Privilege-Bildschirm erscheint. Auf der linken Seite sind Systemprivilegien oder Rollen. Die Rollen werden durch ein Häkchen gekennzeichnet. Sie können auch den neuen Benutzer mit der CONNECT-Rolle zu sehen.

    image2.jpg
  5. Wenn Sie Rollen und Berechtigungen beenden wählen, klicken Sie auf OK.

    Der Benutzer erstellt.

Wenn Sie mehr Benutzer der Anwendung benötigen, gehen Sie folgendermaßen vor:

  1. Vom Haupt Bildschirm Sicherheit, wählen Sie den Benutzer, den Sie als Vorlage verwenden möchten.

  2. Klicken Sie auf die Schaltfläche CREATE.

    Dadurch werden Sie wieder in den User-Assistenten zum Erstellen nehmen mit den Optionen bereits ausgewählt, um den Benutzer zu reflektieren Sie kopieren.

  3. Erstellen Sie einen neuen Benutzer mit den gleichen Rollen und Privilegien, sondern mit einem anderen Benutzernamen und ein Passwort.

    An diesem Punkt haben Sie eine Anwendung Schemabesitzer Konto und eine Datenbank rollen- Erteilung Objektberechtigungen auf diese Rolle, wie Sie Objekte erstellen. Sie haben auch eine Anwendung Benutzer eine Rolle. Nachdem die Anwendungsobjekte gebaut werden und der Zugriff auf diese Rolle gewährt worden ist, kann die Anwendung Benutzer auf die Objekte zugreifen.

Menü