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:
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;--查询列级权限
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.
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';--查询列级权限
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.
GRANT-Befehl wird verwendet, um Benutzerberechtigungen zu erteilen. Das Folgende ist die Syntax des GRANT-Befehls:
GRANT privilege [ON object] TO user;
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创建会话的权限
REVOKE-Befehl wird verwendet, um Benutzerberechtigungen zu widerrufen. Das Folgende ist die Syntax des REVOKE-Befehls:
REVOKE privilege [ON object] FROM user;
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创建会话的权限
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!