2009-05-27 7 views

Antwort

22

SYS besitzt das Oracle Data Dictionary. Jedes Objekt in der Datenbank (Tabellen, Ansichten, Pakete, Prozeduren usw.) hat alle einen einzigen Besitzer. Für das Datenbankwörterbuch und eine ganze Reihe von speziellen Tabellen (Leistungsansichten und dergleichen) gehören alle dem SYS-Benutzer.

Der Benutzer SYSTEM sollte der Master-DBA-Benutzer mit Zugriff auf alle diese Objekte sein. Dies spiegelt eine frühe und lange Zeit Oracle Security Design Philosophie wider. Sie erstellen die Anwendung mit einem Benutzer und erstellen dann eine zweite mit Zugriff (Auswählen, Aktualisieren, Löschen), aber keine Zugriffsrechte. Dies gibt Ihnen einen "Super-User" -Zugriff auf Ihr Schema, ohne es versehentlich zerstören zu können. Im Laufe der Jahre wurde die Sache dem SYSTEM-Konto hinzugefügt, das möglicherweise im SYS-Konto enthalten sein musste. Aber nur sehr wenige Menschen möchten Zugriff auf ihren SYS-Account gewähren, wenn sie dies nicht müssen.

12

SYS kann connect AS SYSDBA, SYSTEM kann nicht.

SYSDBA Privileg ist erforderlich, um bestimmte administrative Aufgaben ausführen, wie CREATE DATABASE und DROP DATABASE, und Abfrage alle Tabellen trotz GRANT ‚auf sich ed Berechtigungen.

In der Tat, wenn Sie als SYSDBA verbinden, werden Sie ein SYS.

+0

Ich habe gerade mit dem Standard XE unter SYSTEM "as sysdba" verbunden. Was mich verwirrt, ist, dass ich pw nicht auf den SYSTEM-Account gesetzt habe und ich kann es mit dem pw verwenden, den ich für SYS eingerichtet habe. (Ich weiß sehr wenig über Oracle.) –