Heim > Datenbank > Oracle > Abfrageberechtigungen für Oracle-Benutzer

Abfrageberechtigungen für Oracle-Benutzer

WBOY
Freigeben: 2023-05-08 11:14:37
Original
3897 Leute haben es durchsucht

Oracle-Datenbank ist das branchenweit führende relationale Datenbankverwaltungssystem. Es zeichnet sich durch Sicherheit, Stabilität, hohe Zuverlässigkeit und gute Skalierbarkeit aus und wird häufig in der Datenspeicherung und -verwaltung von Unternehmen eingesetzt. In großen Datenbanksystemen ist die Verwaltung von Benutzern und Benutzerberechtigungen besonders wichtig. Dieser Artikel konzentriert sich auf das relevante Wissen über Oracle-Benutzerabfrageberechtigungen, um das Datenbanksystem besser zu verstehen und anzuwenden.

1. Das Konzept von Benutzern und Berechtigungen

Ein Benutzer bezieht sich auf ein Konto oder eine Sitzung, die mit der Oracle-Datenbank verbunden ist. Benutzerkonten werden normalerweise durch Benutzername und Passwort authentifiziert und erhalten in der Datenbank Berechtigungen zur Durchführung einer Reihe von Vorgängen.

Berechtigungen beziehen sich auf die Rechte eines Benutzerkontos, bestimmte Vorgänge auszuführen oder bestimmte Objekte in der Datenbank zu verwenden. In der Oracle-Datenbank werden Berechtigungen in zwei Typen unterteilt: Systemberechtigungen und Objektberechtigungen.

Systemberechtigungen beziehen sich auf Berechtigungen auf Datenbanksystemebene, einschließlich CREATE TABLE, CREATE USER usw. Normalerweise verfügt nur der Datenbankadministrator über solche Berechtigungen.

Objektberechtigungen beziehen sich auf die Berechtigungen des Benutzers zum Betreiben von Datenbankobjekten (wie Tabellen, Ansichten, gespeicherten Prozeduren usw.), einschließlich SELECT, INSERT, UPDATE, DELETE usw. Wird normalerweise vom Eigentümer oder Administrator des Objekts gewährt.

2. Benutzerberechtigungen abfragen

Oracle bietet mehrere Befehle zum Anzeigen von Benutzern und Berechtigungen, wie unten gezeigt:

  1. Systemberechtigungen und Objektberechtigungen abfragen

Verwenden Sie die folgende SQL-Anweisung, um die Systemberechtigungen und Berechtigungen des aktuellen zu überprüfen Benutzerobjektberechtigungen:

SELECT * FROM USER_SYS_PRIVS;--查询系统级权限
SELECT * FROM USER_TAB_PRIVS;--查询表级权限
SELECT * FROM USER_COL_PRIVS;--查询列级权限
Nach dem Login kopieren

Darunter listet die Tabelle USER_SYS_PRIVS die Systemberechtigungen auf, die dem Benutzer gehören, und die Tabellen USER_TAB_PRIVS und USER_COL_PRIVS listen die Berechtigungen des Benutzers für Tabellen bzw. Spalten auf.

  1. Fragen Sie die Berechtigungen eines bestimmten Benutzers ab

Für die Berechtigungen anderer Benutzer können Sie die folgende SQL-Anweisung zum Abfragen verwenden:

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='username';--查询系统级权限
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='username';--查询表级权限
SELECT * FROM DBA_COL_PRIVS WHERE GRANTEE='username';--查询列级权限
Nach dem Login kopieren

Unter diesen repräsentiert DBA_SYS_PRIVS Berechtigungen auf Systemebene, DBA_TAB_PRIVS repräsentiert Berechtigungen auf Tabellenebene, und DBA_COL_PRIVS stellt Berechtigungen auf Spaltenebene dar. Der Parameter GRANTEE gibt den Namen des Benutzers an.

3. Das Erteilen und Entziehen von Benutzerberechtigungen

Das Gewähren und Entziehen von Benutzerberechtigungen ist einer der Kernvorgänge für die Verwaltung von Datenbankbenutzern. Oracle stellt zwei Befehle zur Verfügung, GRANT und REVOKE, um diese Funktion zu implementieren.

  1. GRANT-Befehl

GRANT-Befehl wird verwendet, um Benutzerberechtigungen zu erteilen. Das Folgende ist die Syntax des GRANT-Befehls:

GRANT privilege [ON object] TO user;
Nach dem Login kopieren

Unter diesen gibt Privileg die zu gewährende Berechtigung an, und ON-Objekt gibt das zu autorisierende Objekt an (z. B. Tabellen, Ansichten usw.). Wenn kein ON-Objekt angegeben ist, werden Berechtigungen auf Systemebene gewährt.

Hier sind einige Autorisierungsbeispiele:

GRANT SELECT ON employees TO user1; --授予user1对employees表的SELECT权限
GRANT UPDATE(emp_name) ON employees TO user2; --授予user2对employees表的emp_name字段的UPDATE权限
GRANT CREATE SESSION TO user3; --授予user3创建会话的权限
Nach dem Login kopieren
  1. REVOKE-Befehl

REVOKE-Befehl wird verwendet, um Benutzerberechtigungen zu widerrufen. Das Folgende ist die Syntax des REVOKE-Befehls:

REVOKE privilege [ON object] FROM user;
Nach dem Login kopieren

Unter diesen gibt das Privileg die zu widerrufende Berechtigung an, und das ON-Objekt gibt das zu widerrufende Objekt an (z. B. Tabellen, Ansichten usw.). Wenn kein ON-Objekt angegeben ist, bedeutet dies, dass Berechtigungen auf Systemebene widerrufen werden.

Im Folgenden finden Sie einige Beispiele für den Widerruf von Berechtigungen:

REVOKE SELECT ON employees FROM user1; --撤销user1对employees表的SELECT权限
REVOKE UPDATE(emp_name) ON employees FROM user2; --撤销user2对employees表的emp_name字段的UPDATE权限
REVOKE CREATE SESSION FROM user3; --撤销user3创建会话的权限
Nach dem Login kopieren

4. Zusammenfassung

Oracle-Benutzer- und Berechtigungsverwaltung ist ein sehr wichtiger Teil des Datenbanksystems. Autorisierung und Erteilung von Berechtigungen gehören zu den Kernvorgängen bei der Verwaltung von Datenbankbenutzern. In diesem Artikel werden hauptsächlich gängige SQL-Befehle zum Abfragen von Benutzerberechtigungen sowie zugehöriges Wissen zum Autorisieren und Widerrufen von Berechtigungen vorgestellt. In tatsächlichen Anwendungen müssen Berechtigungen basierend auf tatsächlichen Bedingungen verwaltet und zugewiesen werden, um Datensicherheit und -stabilität zu gewährleisten.

Das obige ist der detaillierte Inhalt vonAbfrageberechtigungen für Oracle-Benutzer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage