2009-06-13 8 views
10

Ich möchte Benutzer sys in sqlplus von Oracle verbinden, aber nachdem ich anschließen, ich schreibe so:Connect SQLplus in oracle

sqlplus sys as sysdba 
password:123456 
Error: 
    ORA-01030:insufficient privilege 

    warning:You are no longer to connect oracle. 

Hat jemand mir helfen, mein Problem zu lösen?

+0

Wenn Sie sicher sind, dass Ihre Berechtigungen ordnungsgemäß eingerichtet sind, können Sie noch Folgendes versuchen: "Erstellen Sie eine Datei mit dem Namen sqlnet.ora in Ihrem Verzeichnis ORA_HOME \ network \ network \ admin und fügen Sie die folgende Zeile hinzu: SQLNET.AUTHENTICATION_SERVICES = (NTS) Dann speichern. " Sehen Sie mehr hier: http://it.toolbox.com/blogs/david/ora01031-insufficient-privileges-upon-instance-startup-13759 – bernie

Antwort

6

Ist Ihr Betriebssystembenutzerkonto, dass Sie als Mitglied der ORA_DBA-Gruppe (Windows) oder der DBA-Gruppe (* nix) angemeldet sind?

Wenn die Antwort ja lautet, müssen Sie als Nächstes prüfen, ob die Datei ORACLE_HOME \ database \ orapwORCL.ora vorhanden ist, die die Kennwörter für alle Benutzer enthält, die als sysdba-Benutzer definiert sind. Wenn es nicht vorhanden ist, müssen Sie die Datenbank zum Herunterfahren und führen Sie das Dienstprogramm orapwd:

  • cd ORACLE_HOME \ database
  • orapwd file = orapwORCL.ora password = 123456 Einträge = 10

Diese definiert das sys-Passwort als 123456. Sie sollten dann in der Lage sein, die Datenbank zu starten und sys/123456 als sysdba zu verbinden.

Die Passwortdatei muss für die password = basierte Authentifizierung auf sysdba-Logins existieren. Der Grund dafür ist, dass sysdba-Verbindungen zugelassen werden müssen, wenn die Datenbank nicht aktiv ist und die Datenbank Sie nicht authentifizieren kann.

18

Ihr Beispiel sieht ein wenig verstümmelt aus; eine Verbindung über die Kommandozeile, mit einem Benutzer sys und Passwort 123456 SQLPlus: Wenn Sie bereits in sqlplus sind

sqlplus sys/123456 as sysdba 

oder

sqlplus "sys/123456 as sysdba" 

vor Oracle 10 (wie ich aus der Tatsache übernehmen dass Ihr Beispiel mit einer SQL>) gestartet wird, verwenden Sie den Befehl connect:

SQL> connect sys/123456 as sysdba 

In allen Fällen, wenn Sie nicht die Umgebungsvariable gesetzt haben ORACLE_SID, müssen Sie, dass nach dem Passwort angeben, wie folgt aus:

sqlplus sys/[email protected]<mydbname> as sysdba 

wo <mydbname> entweder von der Form <hostname>/<sid>, wenn Sie mit Oracle 10 oder höher oder einen gültigen Eintrag aus Ihrer tnsnames.ora Datei (die sich in $ORACLE_HOME/network/admin) für alle Versionen.

Verwandte Themen