Richtige Weg, um Benutzern den Zugriff auf zusätzliche schemas in Oracle
Habe ich zwei Benutzern Bob und Alice in Oracle, die sowohl erstellt, durch ausführen der folgenden Befehle als sysdba von sqlplus:
create user $blah gekennzeichnet durch $Passwort; grant resource, connect, create view, $bla;
Möchte ich Bob zu haben vollständigen Zugriff zu Alices schema (alle Tabellen), aber ich bin mir nicht sicher, was grant zu laufen, und geben Sie an, ob es als sysdba oder als Alice.
Glücklich zu hören, dass alle gute Hinweise zu Referenzmaterial sowie-nicht zu sein scheinen in der Lage, eine gute Antwort auf diese entweder aus dem Internet oder "Oracle Database 10g The Complete Reference", die ist auf meinem Schreibtisch.
InformationsquelleAutor der Frage Jacob | 2008-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
AFAIK müssen Sie die Zuschüsse-Objekt, ein zu einer Zeit.
In der Regel würden Sie ein Skript verwenden, um dies zu tun, etwas entlang der Linien von:
Und ähnlich für die anderen db-Objekte.
Sie könnten ein Paket in jedes schema, das Sie ausgeben müssen, die Erteilung von denen gehen durch alle rufen jedes GRANT-Anweisung über eine EXECUTE IMMEDIATE.
z.B.
InformationsquelleAutor der Antwort cagcowboy
Gibt es viele Dinge zu beachten. Wenn Sie sagen, Zugang, wollen Sie das Präfix der Tabellen mit dem anderen Benutzer-Namen? Sie können die Nutzung öffentlicher Synonyme so dass Sie verstecken können, der ursprüngliche Besitzer, wenn das ein Problem ist. Und dann grant privs auf das synonym.
Möchten Sie auch im Voraus planen, so gut Sie können. Später werden Sie wollen-Frank-Zugriff auf Alices schema? Sie wollen nicht zu haben, um regrant Privilegien auf N Anzahl der Tabellen. Mit Hilfe einer Datenbank-Rolle wäre die bessere Lösung. Grant select auf Rolle "ALICE_TABLES" zum Beispiel, und, wenn ein anderer Benutzer muss den Zugriff nur gewähren Sie Berechtigungen für die Rolle. Dies hilft zu organisieren, die Zuschüsse, die Sie machen innerhalb der DB.
InformationsquelleAutor der Antwort Brett McCann
Andere Lösung, wenn Sie verschiedene Besitzer:
InformationsquelleAutor der Antwort arnep