RDS_X$-Ansichten für Oracle-DB-Instances verwalten - 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.

RDS_X$-Ansichten für Oracle-DB-Instances verwalten

Möglicherweise müssen Sie auf SYS.X$ feste Tabellen zugreifen, auf die nur über zugegriffen werden kannSYS. Verwenden Sie die im rdsadmin.rdsadmin_util Paket enthaltenen Verfahren, um SYS.RDS_X$ Ansichten für geeignete X$ Tabellen zu erstellen. Ihrem Hauptbenutzer wird automatisch die Berechtigung für die SELECT … WITH GRANT OPTION RDS_X$ Ansichten erteilt.

Die rdsadmin.rdsadmin_util Verfahren sind in den folgenden Versionen der Datenbank-Engine verfügbar:

  • 21.0.0.0.ru-2023-10.rur-2023-10.r1und höhere Versionen von Oracle Database 2.1c

  • 19.0.0.0.ru-2023-10.rur-2023-10.r1und höhere Versionen von Oracle Database 19c

Wichtig

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

Listet feste X$-Tabellen auf, die für die Verwendung in RDS _X$-Ansichten geeignet sind

Gehen Sie wie folgt vor, um X$-Tabellen aufzulisten, die für die Verwendung in RDS_X$ Ansichten in Frage kommen. RDS rdsadmin.rdsadmin_util.list_allowed_sys_x$_views Dieses Verfahren akzeptiert keine Parameter. In den folgenden Anweisungen werden alle geeigneten 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 in Frage kommenden X$ Tabellen kann sich im Laufe der Zeit ändern. Um sicherzustellen, dass Ihre Liste der in Frage kommenden X$ festen Tische aktuell ist, sollten Sie sie list_allowed_sys_x$_views regelmäßig wiederholen.

ErstellenSYS. RDS_X$-Ansichten

Gehen Sie wie folgt vor, um eine RDS_X$ Ansicht für eine geeignete X$ Tabelle zu erstellen. RDS rdsadmin.rdsadmin_util.create_sys_x$_view Sie können nur Ansichten für die Tabellen erstellen, die in der Ausgabe von aufgeführt sindrdsadmin.rdsadmin_util.list_allowed_sys_x$_views. 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. Bei dem Wert muss es sich um eine der von gemeldeten X$ Tabellen handelnlist_allowed_sys_x$_views.

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 existiert. Standardmäßig RDS wird keine Ansicht erstellt, wenn sie bereits vorhanden ist. Um die Erstellung zu erzwingen, setzen Sie diesen Parameter aufTRUE.

Im folgenden Beispiel wird die SYS.RDS_X$KGLOB Ansicht für die Tabelle erstelltX$KGLOB. Das Format für den Namen der Ansicht istRDS_X$tablename.

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

Die folgende Datenwörterbuchabfrage listet die Ansicht auf SYS.RDS_X$KGLOB und zeigt ihren Status an. Ihrem Masterbenutzer wird automatisch die Berechtigung SELECT ... WITH GRANT OPTION für diese Ansicht gewährt.

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

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

EintragSYS. RDS_X$ Aufrufe

Gehen Sie wie folgt vor, um vorhandene RDS_X$ Ansichten aufzulisten. RDS rdsadmin.rdsadmin_util.list_created_sys_x$_views Die Prozedur listet nur Ansichten auf, die mit der Prozedur erstellt wurdencreate_sys_x$_view. Das folgende Beispiel listet X$ Tabellen RDS_X$ mit entsprechenden 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.

RDS_X$-Ansichten werden gelöscht

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

Parametername Datentyp Standard Erforderlich Beschreibung

p_x$_tbl

varchar2

Null

Ja

Ein gültiger X$ fester Tabellenname. Bei dem Wert muss es sich um eine der X$ festen Tabellen handeln, die von gemeldet wurdenlist_created_sys_x$_views.

Im folgenden Beispiel wird die RDS_X$KGLOB Ansicht gelöscht, die für die Tabelle erstellt wurdeX$KGLOB.

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 gelöscht SYS.RDS_X$KGLOB 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