Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erteilen von SELECT- oder EXECUTE-Berechtigungen für SYS-Objekte
Im Normalfall werden Sonderrechte mithilfe von Rollen übertragen, die viele Objekte beinhalten können. Um den Puffer-Cache zu leeren, verwenden Sie die Amazon RDS-Prozedur rdsadmin.rdsadmin_util.grant_sys_object. Die Prozedur gewährt nur Berechtigungen, die dem Masterbenutzer bereits über eine Rolle oder direkte Erteilung gewährt wurden.
Die Prozedur grant_sys_object hat die folgenden Parameter.
Wichtig
Verwenden Sie für alle Parameterwerte Großbuchstaben, es sei denn, Sie haben den Benutzer mit einer Kennung mit bedeutsamer Groß- und Kleinschreibung erstellt. Wenn Sie z. B. CREATE USER
myuser oder CREATE USER MYUSER ausführen , wird im Datenwörterbuch MYUSER gespeichert. Wenn Sie jedoch doppelte Anführungszeichen in CREATE USER
"MyUser" verwenden, speichert das Datenwörterbuch MyUser.
| Parametername | Datentyp | Standard | Erforderlich | Beschreibung |
|---|---|---|---|---|
|
|
varchar2 |
— |
Ja |
Der Name des Objekts dem die Sonderrechte erteilt werden sollen. Das Objekt kann ein Verzeichnis, eine Funktion, ein Paket, eine Prozedur, eine Sequenz, eine Tabelle oder eine Ansicht sein. Objektnamen müssen genauso angegeben werden, wie sie in sin |
|
|
varchar2 |
— |
Ja |
Der Name des Objekts, dem die Sonderrechte erteilt werden sollen. Das Objekt kann ein Schema oder eine Rolle sein. |
|
|
varchar2 |
Null |
Ja |
— |
|
|
Boolean |
false |
Nein |
Setzen Sie diesen Wert auf |
Im folgenden Beispiel werden einem Objekt mit dem Namen V_$SESSION für einen Benutzer mit dem Namen USER1 ausgewählte Berechtigungen erteilt.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$SESSION', p_grantee => 'USER1', p_privilege => 'SELECT'); end; /
Im folgenden Beispiel werden einem Objekt mit dem Namen V_$SESSION für einen Benutzer mit dem Namen USER1 mit der Erteilungsoption ausgewählte Berechtigungen erteilt.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$SESSION', p_grantee => 'USER1', p_privilege => 'SELECT', p_grant_option =>true); end; /
Um Sonderrechte für ein Objekt erteilen zu können, muss Ihr Konto über diese Sonderrechte verfügen, die ihm entweder direkt, mithilfe der Genehmigungsoption oder einer Rolle mithilfe von erteilt wurde with admin option. Im häufigsten Fall wird das Sonderrecht SELECT an eine DBA-Ansicht erteilt, das an die Rolle SELECT_CATALOG_ROLE erteilt wurde. Wenn diese Rolle Ihrem Benutzer nicht bereits direkt mithilfe von with admin option erteilt wurde, können Sie die Berechtigung nicht übertragen. Wenn Sie über das DBA-Sonderrecht verfügen, können Sie die Rolle direkt an einen anderen Benutzer übertragen.
Im folgenden Beispiel wird die SELECT_CATALOG_ROLE und EXECUTE_CATALOG_ROLE an USER1 übertragen. Da with
admin option verwendet wird, kann USER1 jetzt Zugriffsrechte auf SYS-Objekte erteilen, die an SELECT_CATALOG_ROLE erteilt wurden.
GRANT SELECT_CATALOG_ROLE TOUSER1WITH ADMIN OPTION; GRANT EXECUTE_CATALOG_ROLE toUSER1WITH ADMIN OPTION;
Objekte, die bereits an PUBLIC erteilt wurden, müssen nicht erneut erteilt werden. Wenn Sie die Prozedur grant_sys_object verwenden, um erneut Zugriffsrechte zu erteilen, ist der Prozeduraufruf erfolgreich.