Berechtigungen für Geodatabases in Oracle

Anhand von Berechtigungen wird festgelegt, wozu ein Benutzer im Umgang mit Daten und der Datenbank autorisiert ist. Berechtigungen sollten auf Grundlage der Aufgaben zugewiesen werden, die eine Person innerhalb der Organisation hat. Ist diese Person zuständig für die Verwaltung der Geodatabase? Muss er oder sie auch die Möglichkeit haben, Daten zu bearbeiten oder zu erstellen? Oder muss diese Person nur auf die Daten zugreifen können?

Benutzer müssen über bestimmte Berechtigungen verfügen, je nachdem, welche Aktionen sie in der Oracle-Datenbank ausführen. Einige Berechtigungen können Rollen zugewiesen werden, andere müssen jedoch direkt für den einzelnen Benutzer eingerichtet werden. Benutzerberechtigungen werden auf verschiedenen Ebenen festgelegt.

Im ersten Abschnitt in diesem Thema werden Paketberechtigungen genannt, die für alle Benutzer erforderlich sind. Diese Berechtigungen müssen der öffentlichen Rolle für die Erstellung und Aktualisierung von Geodatabases gewährt werden. Wenn Sie die Berechtigungen jedoch von der öffentlichen Rolle widerrufen möchten, können sie auch sämtlichen Einzelbenutzern nach der Erstellung oder Aktualisierung der Geodatabase erteilt werden.

Im zweiten Abschnitt werden die mindestens erforderlichen Datenbankberechtigungen für die gängigen Benutzertypen aufgelistet: Benutzer, die Daten lesen, Daten bearbeiten bzw. Daten erstellen, und der Geodatabase-Administrator. Diese Berechtigungen sind zusätzlich zu den im ersten Abschnitt genannten Berechtigungen erforderlich.

Im dritten Abschnitt werden die für den Geodatabase-Administrator erforderlichen Berechtigungen zum Erstellen oder Aktualisieren einer Geodatabase aufgeführt. Auch diese Berechtigungen sind zusätzlich zu den im ersten Abschnitt genannten Berechtigungen erforderlich.

Im letzten Abschnitt werden optionale Berechtigungen genannt, die Benutzern von Geodatabases in Oracle häufig zugewiesen werden.

Die Benutzerberechtigungen lassen sich über Oracle Enterprise Manager verwalten. Sie können auch SQL-Anweisungen zum Gewähren und Widerrufen von Berechtigungen verwenden.

Paketberechtigungen

Für die folgenden Pakete sind EXECUTE-Berechtigungen erforderlich:

  • dbms_lob
  • dbms_lock
  • dbms_pipe
  • dbms_utility
  • dbms_sql
  • utl_raw

Für die Erstellung und Aktualisierung der Geodatabase muss die EXECUTE-Berechtigung für diese Pakete der öffentlichen Rolle zugewiesen werden.

GRANT EXECUTE ON dbms_pipe TO public;
GRANT EXECUTE ON dbms_lock TO public;
GRANT EXECUTE ON dbms_lob TO public;
GRANT EXECUTE ON dbms_utility TO public;
GRANT EXECUTE ON dbms_sql TO public;
GRANT EXECUTE ON utl_raw TO public;

Tipp:

EXECUTE-Berechtigungen für dbms_utility, dbms_sql und utl_raw werden in Oracle standardmäßig der öffentlichen Rolle zugewiesen. Somit müssen Sie Ausführungsberechtigungen nur für die Pakete erteilen, wenn Sie sie explizit von der öffentlichen Rolle widerrufen haben.

Nachdem Sie die Geodatabase erstellt oder aktualisiert haben, können Sie die Berechtigungen für diese Pakete einschränken, indem Sie sie von der öffentlichen Rolle widerrufen und für jeden Benutzer einzeln erteilen, der sich bei der Geodatabase anmeldet, einschließlich des Geodatabase-Administrators.

Vorsicht:

Es ist nicht möglich, die EXECUTE-Berechtigung für eine Rolle zu erteilen und diese Rolle allen Benutzern zuzuweisen, da durch Benutzerrollen erteilte Berechtigungen beim Ausführen von Oracle-Paketen nicht anwendbar sind.

Nachdem Sie einzelnen Benutzern die Berechtigung "EXECUTE" gewährt haben, muss das sde-Schema neu kompiliert werden:

EXEC dbms_utility.compile_schema( 'SDE' );

Mindestberechtigungen

Folgende Berechtigungen sind zusätzlich zu den im ersten Abschnitt genannten Berechtigungen für jeden der genannten Benutzertypen erforderlich:

Mindestberechtigungen in Oracle

BenutzertypDatenbankberechtigungenDataset-BerechtigungenHinweise

Daten lesen

  • CREATE SESSION

"SELECT" zum Auswählen von Datenbankobjekten

Daten bearbeiten

  • CREATE SESSION

SELECT, INSERT, UPDATE und DELETE für Datasets im Besitz anderer Benutzer

Wenn Sie ArcGIS verwenden, um die Berechtigungen SELECT, INSERT, UPDATE und DELETE für eine Feature-Class oder -Tabelle zu gewähren, die für die traditionelle Versionierung registriert wurde, werden diese Berechtigungen automatisch für die zugeordnete versionierte Sicht gewährt. Diese Berechtigungen sind erforderlich, damit der Benutzer mithilfe einer SQL-Sicht und einer versionierten Sicht Änderungen vornehmen kann.

Daten erstellen

  • CREATE SEQUENCE
  • CREATE SESSION
  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW

Geodatabase-Administrator

  • CREATE PROCEDURE
  • CREATE SEQUENCE
  • CREATE SESSION
  • CREATE TABLE
  • CREATE TRIGGER

Berechtigungen für Datasets in Geodatabases sollten mit ArcGIS-Clients erteilt oder widerrufen werden. Dies kann nur der Dataset-Besitzer durchführen.

Erforderliche Berechtigungen zum Erstellen oder Aktualisieren einer Geodatabase

In den folgenden Tabellen werden die Berechtigungen aufgelistet, die der Geodatabase-Administrator benötigt, um eine Geodatabase in Oracle zu erstellen oder zu aktualisieren. Der Grund dafür, warum die jeweilige Berechtigung oder Berechtigungsgruppe erforderlich ist, wird ebenfalls genannt. Einige dieser Berechtigungen können nach Abschluss der Erstellung oder Aktualisierung widerrufen werden (siehe das Feld "Zweck" und Mindestberechtigungen für den Geodatabase-Administrator in der vorherigen Tabelle).

In der ersten Tabelle sind die Berechtigungen aufgeführt, die für den SDE-Benutzer zum Erstellen einer Geodatabase erforderlich sind.

In der zweiten Tabelle sind die Berechtigungen aufgeführt, die für den SDE-Benutzer zum Aktualisieren der Geodatabase erforderlich sind.

Berechtigungen werden nach dem Zweck gruppiert, den sie während der Erstellung und Aktualisierung der Geodatabase erfüllen.

Berechtigungen zum Erstellen einer Geodatabase für den SDE-Benutzer in Oracle

BerechtigungZweck
  • CREATE SESSION

Erstellen einer Verbindung zu Oracle

  • CREATE TABLE
  • CREATE TRIGGER

Erstellen des Geodatabase-Repository

  • CREATE SEQUENCE

Erstellen von Sequenzen zum Generieren von IDs. Diese Berechtigung kann nach dem Erstellen der Geodatabase widerrufen werden.

  • CREATE PROCEDURE

Erstellen von Paketen zum Verwalten der Inhalte von Geodatabase-Systemtabellen

  • EXECUTE ON DBMS_CRYPTO

Dient zum Erstellen einer Kartenelementfunktion für den ST_Geometry-Typ, der beim Durchführen einer räumlichen Vereinigung oder Überschneidung aufgerufen wird.

  • CREATE INDEXTYPE
  • CREATE LIBRARY*
  • CREATE OPERATOR
  • CREATE PUBLIC SYNONYM
  • CREATE TYPE
  • CREATE VIEW
  • DROP PUBLIC SYNONYM

Erstellen des Datentyps "ST_Geometry" und der Typen für die Abfrageoptimierung. "CREATE VIEW" wird benötigt, um folgende Systemsichten zu erstellen: "GDB_Items_vw" und "GDB_ItemRelationships_vw". Diese Berechtigungen können nach dem Erstellen der Geodatabase widerrufen werden.

*CREATE LIBRARY ist beim Erstellen einer Geodatabase in Autonomous Transaction Processing (ATP) database in Oracle Cloud nicht erforderlich.

  • ADMINISTER DATABASE TRIGGER

Ermöglicht das Erstellen von Datenbankereignis-Triggern, die erforderlich sind, um die Tabellen "ST_GEOMETRY_COLUMNS" und "ST_GEOMETRY_INDEX" zu ändern, wenn eine Tabelle mit einer "ST_GEOMETRY"-Spalte mit SQL entfernt, geändert oder umbenannt wird. Auch zum Erstellen von PL/SQL-Triggern erforderlich. Diese Berechtigung kann nach dem Erstellen der Geodatabase widerrufen werden.

  • SELECT_CATALOG_ROLE

Diese Berechtigung ist nur für die Aktivierung und Aktualisierung einer Geodatabase in Autonomous Transaction Processing database in Oracle Cloud erforderlich. Diese Berechtigung ist für andere unterstützte Oracle-Datenbankangebote optional.

Berechtigungen für SDE-Benutzer in Oracle zum Aktualisieren einer Geodatabase

BerechtigungZweck
  • CREATE SESSION

Erstellen einer Verbindung zu Oracle

  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW

Aktualisieren des Geodatabase-Repository. Die Berechtigung "CREATE VIEW" kann nach dem Aktualisieren widerrufen werden.

  • CREATE PROCEDURE

Aktualisieren der Pakete zum Verwalten der Inhalte von Geodatabase-Systemtabellen

  • CREATE SEQUENCE

Aktualisieren von Sequenzen zum Generieren von IDs. Diese Berechtigung kann nach dem Aktualisieren widerrufen werden.

  • EXECUTE ON DBMS_CRYPTO

Dient zum Aktualisieren einer Kartenelementfunktion für den ST_Geometry-Typ, der beim Durchführen einer räumlichen Vereinigung oder Überschneidung aufgerufen wird.

  • CREATE INDEXTYPE
  • CREATE LIBRARY*
  • CREATE OPERATOR
  • CREATE PUBLIC SYNONYM
  • CREATE TYPE
  • DROP PUBLIC SYNONYM

Durchführen eines Upgrades des Datentyps "ST_Geometry" und der Typen für die Abfrageoptimierung. Diese Berechtigungen können nach dem Aktualisieren widerrufen werden.

*CREATE LIBRARY ist beim Aktualisieren einer Geodatabase in ATP database in Oracle Cloud nicht erforderlich.

  • ALTER ANY INDEX
  • CREATE ANY INDEX
  • CREATE ANY TRIGGER
  • CREATE ANY VIEW
  • DROP ANY INDEX
  • DROP ANY VIEW
  • SELECT ANY TABLE

Aktualisieren der Geodatabase-Inhalte

  • ADMINISTER DATABASE TRIGGER

Ermöglicht das Erstellen von Datenbankereignis-Triggern, die erforderlich sind, um die Tabellen "ST_GEOMETRY_COLUMNS" und "ST_GEOMETRY_INDEX" zu ändern, wenn eine Tabelle mit dem Geometriespeichertyp "ST_GEOMETRY" mit SQL entfernt, geändert oder umbenannt wird. Auch zum Erstellen von PL/SQL-Triggern erforderlich. Diese Berechtigung kann nach dem Aktualisieren widerrufen werden.

Häufig verwendete optionale Berechtigungen

Viele Unternehmen nutzen zusätzliche Oracle-Funktionen, um die Möglichkeiten ihrer Geodatabases zu erweitern. In der folgenden Tabelle sind mehrere häufig verwendete optionale Berechtigungen für den Geodatabase-Administrator und ihr Zweck aufgeführt. Die Berechtigungen sind nach Zweck sortiert.

Optionale Oracle-Berechtigungen für Geodatabase-Administratoren

BerechtigungFürZweck
  • ALTER SESSION
  • PLUSTRACE

Geodatabase-Administrator

Mit dieser Berechtigung können die SQL-Ablaufverfolgung und das SQL*Plus AUTOTRACE-Feature aktiviert, sitzungsspezifische Initialisierungsparameter für Leistungsoptimierung und Problembehandlung geändert und die PLUSTRACE-Rolle durch Ausführung von ORACLE_HOME/sqlplus/admin/plustrce.sql erstellt werden.

  • ALTER ANY INDEX
  • ANALYZE ANY
  • SELECT ANY DICTIONARY

Geodatabase-Administrator

Mit dieser Berechtigung kann der Geodatabase-Administrator das Oracle-System überwachen und allgemeine Wartungsaufgaben ausführen.

Dies ist nützlich für Unternehmen, in denen der Geodatabase-Administrator nicht der Oracle-Datenbankadministrator ist.

  • CREATE DATABASE LINK
  • CREATE MATERIALIZED VIEW
  • CREATE VIEW

Geodatabase-Administrator

Diese Berechtigung ist nützlich, um die Geodatabase mit anderen nicht räumlichen Datenbanken im Unternehmen zu integrieren.

  • RESTRICTED SESSION

Geodatabase-Administrator

Diese Berechtigung ermöglicht dem Geodatabase-Administrator die Ausführung von Wartungsaufgaben, während die Datenbank online ist, Endbenutzer jedoch nicht darauf zugreifen können.

  • UNLIMITED TABLESPACE

Geodatabase-Administrator

Die Erteilung dieser Berechtigung für den Geodatabase-Administrator für Erstellung und Aktualisierung stellt sicher, dass der Tablespace des Geodatabase-Administrators in der Datenbank über genügend Speicherplatz verfügt, damit die Erstellung/Aktualisierung der Geodatabase abgeschlossen werden kann. Diese Berechtigung kann nach der Erstellung oder Aktualisierung der Geodatabase widerrufen werden, wenn Beschränkungen für die Speicherverwaltung bestehen.

  • ALTER SYSTEM
  • SELECT_CATALOG_ROLE*

Geodatabase-Administrator

Der SDE-Benutzer muss über diese Berechtigungen verfügen, um Verbindungen aus der Geodatabase zu entfernen. Das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen weist dem Benutzer "sde" diese Berechtigungen zu. Sie können diese Berechtigungen nach dem Ausführen dieses Werkzeugs für den Benutzer "sde" widerrufen. Allerdings kann der Benutzer "sde" dann nicht mehr die Verbindung von Benutzern zur Geodatabase trennen.

Alternativ kann der SDE-Benutzer der Rolle "Datenbankadministrator" hinzugefügt werden, damit er weiterhin Benutzerverbindungen zur Datenbank trennen kann.

*SELECT_CATALOG_ROLE ist für den Geodatabase-Administrator in Autonomous Transaction Processing database in Oracle Cloud erforderlich und nicht optional.

SELECT ON DBA_ROLES

Datenersteller

Wenn Benutzer mit der Berechtigung "Daten erstellen" Datenbankrollen über das Dialogfeld Berechtigungen Berechtigungen für ihre Datasets erteilen können sollen, müssen sie über Auswahlberechtigungen für DBA_ROLES verfügen, um eine Liste der Rollen in der Datenbank abzurufen.

INHERIT PRIVILEGES ON <Benutzer>

Or

INHERIT ANY PRIVILEGES ON <Benutzer>

sde

Diese optionale Berechtigung gilt nur für Oracle 12c oder höher. Sie müssen diese Berechtigung dem SDE-Benutzer erteilen, damit Data Pump-Importe des SDE-Benutzerschemas von anderen Benutzern wie dem Oracle SYS- oder Systembenutzer durchgeführt werden können.

Diese Berechtigung gilt nicht für Besitzer von Benutzerschema-Geodatabases.