Verwaltung 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.

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

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 Fällen verfügbar:

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

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

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

  • Jede neue DB-Instance, die Sie erstellen

  • Jede bestehende 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 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

Verwenden Sie das RDS-Verfahren, um X$-Tabellen aufzulisten, die für die Verwendung in RDS_X$ Ansichten in Frage kommen. 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.

SYS.RDS_X$-Ansichten werden erstellt

Verwenden Sie das RDS-Verfahren, um eine RDS_X$ Ansicht für eine geeignete X$ Tabelle zu erstellen. 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 erstellt RDS keine Ansicht, 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. RDS for Oracle löscht die RDS_X$ Ansichten der X$ Tabellen während eines Engine-Upgrades und erstellt sie neu. Anschließend wird das SELECT ... WITH GRANT OPTION Privileg dem Masterbenutzer gewährt. Erteilen Sie Datenbankbenutzern nach einem Upgrade nach Bedarf Berechtigungen für die entsprechenden RDS_X$ Ansichten.

SYS.RDS_X$-Ansichten auflisten

Verwenden Sie das RDS-Verfahren, um vorhandene RDS_X$ Ansichten aufzulisten. 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

Verwenden Sie das RDS-Verfahren, um eine SYS.RDS_X$ Ansicht zu löschen. 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