Es gibt zwei Möglichkeiten, mit sqlplus als Administrator eine Verbindung zu Oracle herzustellen:
sqlplus sys as sysdba
sqlplus system/manager
Ich nehme an, diese Konten sollten für verschiedene Zwecke verwendet werden.
Für welche Aufgaben sind diese beiden Schemata gedacht? Wann sollte ich den einen oder anderen unter ihnen benutzen?
oracle
oracle-11g-r2
Laser
quelle
quelle
sqlplus / as sysdba
für die tägliche Arbeit zuständig - in 15 Jahren bei der Arbeit mit Dutzenden erfahrener DBAs bin ich nie auf jemanden gestoßen, der sich um dasSYSTEM
Konto kümmert .Aus der 11g Oracle-Dokumentation :
SYS UND SYSTEM Benutzer
Die folgenden administrativen Benutzerkonten werden automatisch erstellt, wenn Sie Oracle Database installieren. Beide werden mit dem Kennwort erstellt, das Sie bei der Installation angegeben haben, und beide erhalten automatisch die DBA-Rolle.
SYS
Dieses Konto kann alle Verwaltungsfunktionen ausführen. Alle Basistabellen und Sichten für das Datenbankdatenwörterbuch werden im SYS-Schema gespeichert. Diese Basistabellen und Sichten sind für den Betrieb von Oracle Database von entscheidender Bedeutung. Um die Integrität des Datenwörterbuchs zu gewährleisten, werden Tabellen im SYS-Schema nur von der Datenbank bearbeitet. Sie sollten niemals von einem Benutzer oder Datenbankadministrator geändert werden. Sie dürfen keine Tabellen im SYS-Schema erstellen.
Dem SYS-Benutzer wird die Berechtigung SYSDBA erteilt, die es einem Benutzer ermöglicht, allgemeine Verwaltungsaufgaben wie das Sichern und Wiederherstellen auszuführen.
SYSTEM
Dieses Konto kann alle Verwaltungsfunktionen mit Ausnahme der folgenden ausführen:
Sicherung und Wiederherstellung
Datenbank-Upgrade
Mit diesem Konto können Sie tägliche Verwaltungsaufgaben ausführen. Oracle empfiehlt jedoch nachdrücklich, ein Konto für benannte Benutzer für die Verwaltung der Oracle-Datenbank zu erstellen, um die Überwachung der Datenbankaktivität zu ermöglichen.
SYSDBA- und SYSOPER-Systemberechtigungen
SYSDBA und SYSOPER sind Administratorrechte, die für Verwaltungsvorgänge auf hoher Ebene erforderlich sind, z. B. zum Erstellen, Starten, Herunterfahren, Sichern oder Wiederherstellen der Datenbank. Das SYSDBA-Systemprivileg richtet sich an vollständig befugte Datenbankadministratoren, und das SYSOPER-Systemprivileg ermöglicht es einem Benutzer, grundlegende betriebliche Aufgaben auszuführen, ohne jedoch auf Benutzerdaten zugreifen zu können.
Die Systemberechtigungen SYSDBA und SYSOPER ermöglichen den Zugriff auf eine Datenbankinstanz, auch wenn die Datenbank nicht geöffnet ist. Die Kontrolle über diese Berechtigungen liegt daher vollständig außerhalb der Datenbank. Mit diesem Steuerelement kann ein Administrator, dem eine dieser Berechtigungen erteilt wurde, eine Verbindung zur Datenbankinstanz herstellen, um die Datenbank zu starten.
Sie können sich die Berechtigungen SYSDBA und SYSOPER auch als Verbindungstypen vorstellen, mit denen Sie bestimmte Datenbankvorgänge ausführen können, für die Berechtigungen auf keine andere Weise erteilt werden können. Wenn Sie beispielsweise über die Berechtigung SYSDBA verfügen, können Sie mit AS SYSDBA eine Verbindung zur Datenbank herstellen.
Der SYS-Benutzer erhält bei der Installation automatisch die Berechtigung SYSDBA. Wenn Sie sich als Benutzer SYS anmelden, müssen Sie als SYSDBA oder SYSOPER eine Verbindung zur Datenbank herstellen. Wenn Sie sich als SYSDBA-Benutzer verbinden, wird das SYSDBA-Privileg aufgerufen. Verbinden als SYSOPER ruft das SYSOPER-Privileg auf. Mit Oracle Enterprise Manager Database Control können Sie sich nicht als Benutzer SYS anmelden, ohne eine Verbindung als SYSDBA oder SYSOPER herzustellen.
Wenn Sie eine Verbindung mit der Berechtigung SYSDBA oder SYSOPER herstellen, stellen Sie eine Verbindung mit einem Standardschema her, nicht mit dem Schema, das im Allgemeinen Ihrem Benutzernamen zugeordnet ist. Für SYSDBA lautet dieses Schema SYS. Für SYSOPER ist das Schema PUBLIC.
quelle
Ein Beispiel für einen Hauptunterschied zwischen SYS (oder einer anderen SYSDBA-Verbindung) und jedem anderen Benutzer: SYS kann keine konsistenten Lesevorgänge ausführen . Dies hat unter anderem zur Folge, dass Sie mit dem alten Dienstprogramm exp keinen CONSISTENT = Y-Export als SYS ausführen können.
Der Oracle-Mitarbeiter und Experte Tom Kyte ist der Meinung, dass Sie selten eines von beiden verwenden sollten . In Bezug auf SYS weist er darauf hin, dass es anders funktioniert, als im obigen Beispiel angegeben, aber allgemeiner betrachtet er sie als "Eigentum" der Oracle Corporation. Wenn Sie in einem der beiden Schemata eine Änderung vornehmen oder etwas hinzufügen und ein Problem auftritt (z. B. ein Datenbank-Upgrade fehlschlägt), lautet die Antwort des Oracle-Supports vermutlich "Das hätten Sie nicht tun sollen."
quelle
Das hört sich so an, als würde das Poster sagen, dass es nur zwei Möglichkeiten gibt, eine Verbindung herzustellen:
"Es gibt zwei Möglichkeiten, mit sqlplus als Administrator eine Verbindung zu Oracle herzustellen:
Ein Administratorkonto ist ein beliebiges Oracle-Benutzerkonto mit der Berechtigung SYSDBA oder der DBA-Rolle. SYS ist ein vordefinierter Benutzer mit SYSDBA und SYSTEM ist ein vordefinierter Benutzer mit DBA. Wenn eine Datenbank n Administratorkonten enthält, gibt es n Benutzer, die (per Definition) eine Verbindung mit Administratorrechten herstellen können - es gibt nicht nur zwei von ihnen.
Ein weiterer Punkt betrifft SQL * Plus. Sie können eine Verbindung als SYS mithilfe der Betriebssystemauthentifizierung an der Eingabeaufforderung des Betriebssystems herstellen: sqlplus / as sysdba. Sie können auch SQL * Plus und dann CONNECT / AS SYSDBA starten. Sie können ein Kennwort an der Eingabeaufforderung des Betriebssystems oder in einer CONNECT-Anweisung angeben oder von SQL * Plus dazu auffordern lassen. Sie können einen Netzdienstnamen verwenden. Sie können (und sollten) das SYSTEM-Passwort ändern. Und so weiter.
Ich denke, das Plakat wollte sagen, dass eine Oracle-Datenbank mindestens zwei Administratorkonten enthält. Wenn SYSTEM das Standardkennwort hat und die Betriebssystemauthentifizierung eingerichtet ist, sind dies zwei (von vielen) Beispielen für wie SYS und SYSTEM sich mit SQL * Plus bei der Datenbank anmelden können.
Die Frage nach dem Unterschied zwischen SYS und SYSTEM ist unterschiedlich und wurde beantwortet.
quelle