Melden Sie sich bei der Oracle-Datenbank ohne Benutzername und Kennwort an

8922
sam

Ich möchte mich bei einer Datenbank anmelden, indem ich eine SQL-Datei von einem Unix-Skript aus ausführe, ohne Benutzernamen und Kennwort (als root) anzugeben. Ist das möglich?

Die Datenbank ist Oracle.

4

4 Antworten auf die Frage

2
DCookie

Sie können Ihre Datenbankbenutzer als vom Betriebssystem authentifiziert definieren. Die Oracle_Base- Site von Tim Hall bietet eine gute Einführung in die Vorgehensweise . Sie müssen nicht zulassen, dass sich Benutzer mit SYSDBA-Berechtigungen anmelden. Dies ist ein Notfallrezept.

+1 thx für die Einführung von "OS Authentication". Wußte nichts davon. Wird viel Gelegenheit haben, es zu benutzen. Alain Pannetier vor 13 Jahren 0
Oracle kann sich auch bei LDAP-Servern authentifizieren, z. B. Active Directory für die Domänenauthentifizierung. Sie benötigen ein separates Stück für diese Funktion - zusätzliche Kostenoption: - / DCookie vor 13 Jahren 0
Ich habe in der Vergangenheit schon OID implementiert. Hab's einfach vergessen ... :-( Ich werde diese Domain morgen abstauben. Alain Pannetier vor 13 Jahren 0
1
Alain Pannetier

Wenn sich Ihr Benutzer in der Oracle-Gruppe befindet, kann er sich als SYSDBA verbinden.

Beispiel für eine Unix-Umgebung:

$ export ORACLE_SID=MYDB $ sqlplus /nolog  SQL*Plus: Release...  SP2-0640: Not connected sql> connect / as sysdba Connected  SQL> select * from scott.employees ; 

Das könnte für einen Stapel ein Overkill sein (abgesehen davon, dass Sie alle Privilegien haben, um Ihre Datenbank zu vermasseln).

Aber AFAIK, das ist die einzige Option.

UPDATE Angesichts der Antwort von DCookie ist dies nicht der einzige Weg. Und wie ich bereits erwähnt und von DCookie unterstrichen habe, ist dies ein sehr riskanter Weg.

Es ist nicht die einzige Option und auch eine ziemlich gefährliche. Ein SYSDBA-Benutzer kann ALLES für die Datenbank tun. Außerdem müssen Sie den angemeldeten Benutzer einrichten, um sich trotzdem mit diesen Berechtigungen anmelden zu können. DCookie vor 13 Jahren 0
@Alain Pannetier Hallo, ich habe Oracle vm auf meinem Gentoo Linux verwendet. Ich habe das gleiche Problem, mein Oracle-Benutzer ist in Oracle-Gruppe, aber ich kann keine Verbindung als Sysdba herstellen. DB ist 12c + Oracle Linux. Irgendein Kommentar vielleicht? Meine ORACLE_SID ist auf orcl gesetzt. pregmatch vor 10 Jahren 0
1
user3206566

Wenn Sie SQL * Plus starten, benötigen Sie einen Benutzernamen und ein Kennwort, um sich bei einem Oracle Database-Schema anzumelden. Ihr Benutzername und Ihr Kennwort identifizieren Sie als berechtigten Benutzer des Oracle Database-Schemas.

Der Datenbankadministrator (DBA) ist dafür verantwortlich, Ihr Datenbankkonto mit den erforderlichen Berechtigungen zu erstellen und Ihnen den Benutzernamen und das Kennwort zu geben, mit denen Sie auf Ihr Konto zugreifen können.

0
Randolf Richardson

Wenn Sie PostgreSQL verwenden, können Sie in der Datei "pg_hba.conf" die Methode "vertrauen" für Ihr localhost-Netzwerk angeben. Für MySQL mag es etwas Ähnliches geben, ich bin mir nicht sicher (hoffentlich hilft hier jemand, der mit der von Ihnen verwendeten Datenbank vertraut ist, wenn dies nicht PostgreSQL ist).

Datenbank ist Orakel sam vor 13 Jahren 0