Häufig gestellte Frage (FAQ)
Ja, es ist möglich, der Oracle-Rolle "public" die Ausführungsberechtigung für folgende Pakete zu entziehen, nachdem eine Geodatabase in Oracle erstellt oder aktualisiert wurde:
Wenn die Berechtigung widerrufen wird, muss der Oracle-Administrator dem SDE- und CTXSYS-Benutzer (Eigentümer der Oracle Text-Komponente) sowie allen Benutzern, die sich über ArcGIS mit der Oracle-Instanz verbinden, ausdrücklich Ausführungsberechtigungen für alle Pakete gewähren.
Wenn Sie der Rolle "public" die Berechtigungen für die Pakete entziehen möchten, führen Sie als Oracle SYS-Benutzer folgende SQL-Anweisungen in SQL*Plus aus:
SQL> REVOKE EXECUTE ON dbms_lock FROM public; Revoke succeeded. SQL> REVOKE EXECUTE ON dbms_pipe FROM public; Revoke succeeded. SQL> REVOKE EXECUTE ON dbms_lob FROM public; Revoke succeeded. SQL> REVOKE EXECUTE ON dbms_sql FROM public; Revoke succeeded. SQL> REVOKE EXECUTE ON dbms_utility FROM public; Revoke succeeded. SQL> REVOKE EXECUTE ON utl_raw FROM public; Revoke succeeded.
Wenn der Rolle "public" die Berechtigungen entzogen wurden, muss der SYS-Benutzer dem SDE- und CTXSYS-Benutzer Ausführungsberechtigungen für die Pakete gewähren.
SQL> GRANT EXECUTE ON dbms_lock TO sde; Grant succeeded. SQL> GRANT EXECUTE ON dbms_pipe TO sde; Grant succeeded. SQL> GRANT EXECUTE ON dbms_lob TO sde; Grant succeeded. SQL> GRANT EXECUTE ON dbms_sql TO sde; Grant succeeded. SQL> GRANT EXECUTE ON dbms_utility TO sde; Grant succeeded. SQL> GRANT EXECUTE ON utl_raw TO sde; Grant succeeded. SQL> GRANT EXECUTE ON dbms_lock TO ctxsys; Grant succeeded. SQL> GRANT EXECUTE ON dbms_pipe TO ctxsys; Grant succeeded. SQL> GRANT EXECUTE ON dbms_lob TO ctxsys; Grant succeeded. SQL> GRANT EXECUTE ON dbms_sql TO ctxsys; Grant succeeded. SQL> GRANT EXECUTE ON dbms_utility TO ctxsys; Grant succeeded. SQL> GRANT EXECUTE ON utl_raw TO ctxsys; Grant succeeded.
Wenn der SDE-Benutzer keine ausdrückliche Berechtigung für die Ausführung des Pakets "sys.dbms_pipe" hat, tritt beim Starten des ArcSDE-Service ein Fehler auf, und in das ArcSDE-Fehlerprotokoll wird die folgende Meldung geschrieben:
Error: SQL Stmt: Dem Benutzer der SDE DBA muss die Berechtigung für die Ausführung des erforderlichen in Oracle integrierten Pakets "DBMS_PIPE" direkt gewährt werden; es reicht nicht aus, wenn ihm lediglich eine Rolle mit der Ausführungsberechtigung zugewiesen wird.
Damit sich einzelne Benutzer entweder über den ArcSDE-Anwendungsserver oder direkt mit der Geodatabase verbinden können, muss ihnen der SYS-Benutzer die Berechtigung für diese Pakete ausdrücklich gewähren. Verbinden Sie sich erneut über SQL*Plus als SYS-Benutzer, und gewähren Sie dem gewünschten Benutzer die Berechtigung für die Ausführung der einzelnen Pakete.
SQL> GRANT EXECUTE ON dbms_lock TO tom; Grant succeeded. SQL> GRANT execute ON dbms_pipe TO tom; Grant succeeded. SQL> GRANT EXECUTE ON dbms_lob TO tom; Grant succeeded. SQL> GRANT EXECUTE ON dbms_sql TO tom; Grant succeeded. SQL> GRANT EXECUTE ON dbms_utility TO tom; Grant succeeded. SQL> GRANT EXECUTE ON utl_raw TO tom; Grant succeeded.
Wiederholen Sie diese Befehle für jeden Benutzer, der eine Verbindung mit der Geodatabase herstellen können soll.
Hinweis: Es ist nicht möglich, einer Datenbankrolle die Berechtigung für die Ausführung dieser Pakete zu gewähren und anschließend einem Benutzer diese Rolle zuzuweisen. In Abhängigkeit von diesen Oracle-Paketen hat SDE eigene Pakete; daher gelten Berechtigungen, die über Rollen gewährt wurden, nicht für die Ausführung von in Oracle gespeicherten Prozeduren oder Paketen. Nähere Informationen hierzu finden Sie in der Oracle-Dokumentation.
Wenn Sie den einzelnen Benutzern Ausführungsberechtigungen für die Pakete gewährt haben, müssen Sie das SDE- und CTXSYS-Objekt neu kompilieren. Verbinden Sie sich in SQL*Plus als SYS-Benutzer, und kompilieren Sie das SDE- und CTXSYS-Schema.
SQL> EXEC dbms_utility.compile_schema( 'SDE' ); Die PL/SQL-Prozedur wurde erfolgreich abgeschlossen. SQL> EXEC dbms_utility.compile_schema( 'CTXSYS' ); Die PL/SQL-Prozedur wurde erfolgreich abgeschlossen.
Unterstützung durch ArcGIS-Experten anfordern
Esri Support App herunterladen