Verwalten von RDS_X$-Ansichten für Oracle-DB-Instances - Amazon Relational Database Service

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.

Verwalten von RDS_X$-Ansichten für Oracle-DB-Instances

Möglicherweise müssen Sie auf feste SYS.X$-Tabellen zugreifen, die nur überSYS aufgerufen werden können. Verwenden Sie die im rdsadmin.rdsadmin_util-Paket enthaltenen Verfahren, um SYS.RDS_X$-Ansichten für berechtigte X$-Tabellen zu erstellen. Ihrem Masterbenutzer wird automatisch die Berechtigung SELECT … WITH GRANT OPTION für die RDS_X$-Ansichten erteilt.

Die rdsadmin.rdsadmin_util-Verfahren sind in den folgenden Fällen verfügbar:

  • Vorhandene DB-Instances, die noch nie aktualisiert wurden und die folgenden Versionen verwenden:

    • 21.0.0.0.ru-2023-10.rur-2023-10.r1 und höhere 21c-Versionen

    • 19.0.0.0.ru-2023-10.rur-2023-10.r1 und höhere 19c-Versionen

  • Jede neue DB-Instance, die Sie erstellen

  • Jede vorhandene DB-Instance, die Sie aktualisiert haben

Wichtig

Intern erstellt das rdsadmin.rdsadmin_util-Paket Ansichten für X$-Tabellen. Die X$-Tabellen sind interne Systemobjekte, die in der Dokumentation zu Oracle Database nicht beschrieben werden. Wir empfehlen, dass Sie bestimmte Ansichten in Ihrer Nicht-Produktionsdatenbank testen und Ansichten in Ihrer Produktionsdatenbank nur unter der Anleitung von Oracle Support festlegen.

Listet feste X$-Tabellen auf, die für die Verwendung in RDS_X$-Ansichten berechtigt sind

Verwenden Sie das RDS-Verfahren rdsadmin.rdsadmin_util.list_allowed_sys_x$_views, um X$-Tabellen aufzulisten, die für die Verwendung in RDS_X$ Ansichten berechtigt sind. Dieses Verfahren akzeptiert keine Parameter. In den folgenden Anweisungen werden alle berechtigten X$-Tabellen aufgeführt (einschließlich Beispielausgabe).

SQL> SET SERVEROUTPUT ON SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_util.list_allowed_sys_x$_views); 'X$BH' 'X$K2GTE' 'X$KCBWBPD' 'X$KCBWDS' 'X$KGLLK' 'X$KGLOB' 'X$KGLPN' 'X$KSLHOT' 'X$KSMSP' 'X$KSPPCV' 'X$KSPPI' 'X$KSPPSV' 'X$KSQEQ' 'X$KSQRS' 'X$KTUXE' 'X$KQRFP'

Die Liste der berechtigten X$-Tabellen kann sich im Laufe der Zeit ändern. Um sicherzustellen, dass Ihre Liste der berechtigten festen X$-Tabellen aktuell ist, sollten Sie list_allowed_sys_x$_views regelmäßig erneut ausführen.

Erstellen von SYS.RDS_X$-Ansichten

Verwenden Sie das RDS-Verfahren rdsadmin.rdsadmin_util.create_sys_x$_view, um eine RDS_X$-Ansicht für eine berechtigte X$-Tabelle zu erstellen. Sie können nur Ansichten für die in der Ausgabe von rdsadmin.rdsadmin_util.list_allowed_sys_x$_views aufgelisteten Tabellen erstellen. Das create_sys_x$_view-Verfahren akzeptiert die folgenden Parameter.

Parametername Datentyp Standard Erforderlich Beschreibung

p_x$_tbl

varchar2

Null

Ja

Ein gültiger X$-Tabellenname. Der Wert muss eine der von list_allowed_sys_x$_views gemeldeten X$-Tabellen sein.

p_force_creation

Boolesch

FALSE

Nein

Ein Wert, der angibt, ob die Erstellung einer RDS_X$-Ansicht erzwungen werden soll, die bereits für eine X$-Tabelle vorhanden ist. Standardmäßig erstellt RDS keine Ansicht, wenn sie bereits vorhanden ist. Um die Erstellung zu erzwingen, legen Sie diesen Parameter auf TRUE fest.

Das folgende Beispiel erstellt die SYS.RDS_X$KGLOB-Ansicht aus der Tabelle X$KGLOB. Das Format für den Ansichtsnamen ist RDS_X$tablename.

SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.create_sys_x$_view('X$KGLOB'); PL/SQL procedure successfully completed.

In der folgenden Datenwörterbuchabfrage werden die Ansicht SYS.RDS_X$KGLOB und ihr Status aufgeführt. Ihrem Masterbenutzer wird automatisch die Berechtigung SELECT ... WITH GRANT OPTION für diese Ansicht erteilt.

SQL> SET SERVEROUTPUT ON SQL> COL OWNER FORMAT A30 SQL> COL OBJECT_NAME FORMAT A30 SQL> COL STATUS FORMAT A30 SQL> SET LINESIZE 200 SQL> SELECT OWNER, OBJECT_NAME, STATUS FROM DBA_OBJECTS WHERE OWNER = 'SYS' AND OBJECT_NAME = 'RDS_X$KGLOB'; OWNER OBJECT_NAME STATUS ------------------------------ ------------------------------ ------------------------------ SYS RDS_X$KGLOB VALID
Wichtig

Es kann nicht garantiert werden, dass X$-Tabellen vor und nach einem Upgrade unverändert bleiben. RDS für Oracle löscht die RDS_X$-Ansichten der X$-Tabellen während eines Engine-Upgrades und erstellt sie neu. Anschließend wird dem Masterbenutzer die SELECT ... WITH GRANT OPTION-Berechtigung gewährt. Erteilen Sie Datenbankbenutzern nach einem Upgrade nach Bedarf Berechtigungen für die entsprechenden RDS_X$-Ansichten.

Erstellen von SYS.RDS_X$-Ansichten

Verwenden Sie das RDS-Verfahren RDS_X$, um vorhandene rdsadmin.rdsadmin_util.list_created_sys_x$_views-Ansichten aufzulisten. Das Verfahren listet nur Ansichten auf, die mit dem Verfahren create_sys_x$_view erstellt wurden. Das folgende Beispiel listet X$-Tabellen mit entsprechenden RDS_X$-Ansichten auf (einschließlich Beispielausgabe).

SQL> SET SERVEROUTPUT ON SQL> COL XD_TBL_NAME FORMAT A30 SQL> COL STATUS FORMAT A30 SQL> SET LINESIZE 200 SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_util.list_created_sys_x$_views); XD_TBL_NAME STATUS ------------------------------ ------------------------------ X$BH VALID X$K2GTE VALID X$KCBWBPD VALID 3 rows selected.

Löschen von RDS_X$-Ansichten

Verwenden Sie das RDS-Verfahren rdsadmin.rdsadmin_util.drop_sys_x$_view, um eine SYS.RDS_X$-Ansicht zu löschen. Sie können nur Ansichten festlegen, die in der Ausgabe von rdsadmin.rdsadmin_util.list_allowed_sys_x$_views aufgeführt sind. Das drop_sys_x$_view-Verfahren akzeptiert den folgenden Parameter.

Parametername Datentyp Standard Erforderlich Beschreibung

p_x$_tbl

varchar2

Null

Ja

Ein gültiger fester X$-Tabellenname. Der Wert muss eine der von list_created_sys_x$_views gemeldeten festen X$-Tabellen sein.

Das folgende Beispiel löscht die RDS_X$KGLOB-Ansicht, die in der Tabelle X$KGLOB erstellt wurde.

SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.drop_sys_x$_view('X$KGLOB'); PL/SQL procedure successfully completed.

Das folgende Beispiel zeigt, dass die Ansicht SYS.RDS_X$KGLOB gelöscht wurde (einschließlich Beispielausgabe).

SQL> SET SERVEROUTPUT ON SQL> COL OWNER FORMAT A30 SQL> COL OBJECT_NAME FORMAT A30 SQL> COL STATUS FORMAT A30 SQL> SET LINESIZE 200 SQL> SELECT OWNER, OBJECT_NAME, STATUS FROM DBA_OBJECTS WHERE OWNER = 'SYS' AND OBJECT_NAME = 'RDS_X$KGLOB'; no rows selected