管理 Oracle 資料庫執行個體的 RDS_X$ 檢視 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理 Oracle 資料庫執行個體的 RDS_X$ 檢視

您可能需要存取 只能由 存取的SYS.X$固定資料表SYS。若要在合格X$資料表上建立SYS.RDS_X$檢視,請使用 rdsadmin.rdsadmin_util套件中的程序。您的主要使用者會自動獲得RDS_X$檢視SELECT … WITH GRANT OPTION的權限。

這些rdsadmin.rdsadmin_util程序可在下列資料庫引擎版本中使用:

  • 21.0.0.0.ru-2023-10.rur-2023-10.r1 和更新的 Oracle Database 21c 版本

  • 19.0.0.0.ru-2023-10.rur-2023-10.r1 和更新的 Oracle Database 19c 版本

重要

在內部,rdsadmin.rdsadmin_util套件會在X$資料表上建立檢視。這些X$資料表是 Oracle 資料庫文件中未描述的內部系統物件。建議您測試非生產資料庫中的特定檢視,並僅在 Oracle Support 的指導下在生產資料庫中建立檢視。

列出可在 RDS_X$ 檢視中使用的 X$ 固定資料表

若要列出可在RDS_X$檢視中使用的 X$ 資料表,請使用 RDS 程序 rdsadmin.rdsadmin_util.list_allowed_sys_x$_views。此程序不接受任何參數。下列陳述式會列出所有合格的X$資料表 (包含範例輸出)。

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'

合格X$資料表的清單可能會隨著時間而變更。若要確保您的合格X$固定資料表清單為最新版本,請list_allowed_sys_x$_views定期重新執行。

正在建立 SYS.RDS_X$ 檢視

若要在符合資格的X$資料表上建立RDS_X$檢視,請使用 RDS 程序 rdsadmin.rdsadmin_util.create_sys_x$_view。您只能為 輸出中列出的資料表建立檢視rdsadmin.rdsadmin_util.list_allowed_sys_x$_viewscreate_sys_x$_view 程序接受下列參數。

參數名稱 資料類型 預設 必要 描述

p_x$_tbl

varchar2

Null

有效的X$資料表名稱。值必須是 報告的X$資料表之一list_allowed_sys_x$_views

p_force_creation

Boolean

FALSE

指出是否強制建立已存在於X$資料表之RDS_X$檢視的值。根據預設,如果檢視已存在,RDS則不會建立檢視。若要強制建立,請將此參數設定為 TRUE

下列範例會在資料表 上建立SYS.RDS_X$KGLOB檢視X$KGLOB。檢視名稱的格式為 RDS_X$tablename

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

下列資料字典查詢會列出檢視SYS.RDS_X$KGLOB並顯示其狀態。您的主要使用者會自動獲得此檢視SELECT ... WITH GRANT OPTION的權限。

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
重要

X$ 資料表不保證在升級之前和之後保持不變。RDS 適用於 Oracle 在引擎升級期間捨棄並重新建立X$資料表上的RDS_X$檢視。然後,它會將SELECT ... WITH GRANT OPTION權限授予主要使用者。升級後,請視需要在對應的RDS_X$檢視上將權限授予資料庫使用者。

列出 SYS.RDS_X$ 檢視

若要列出現有RDS_X$檢視,請使用 RDS 程序 rdsadmin.rdsadmin_util.list_created_sys_x$_views。程序只會列出程序 建立的檢視create_sys_x$_view。下列範例列出具有對應RDS_X$檢視的X$資料表 (包含範例輸出)。

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$ 檢視

若要捨棄SYS.RDS_X$檢視,請使用 RDS 程序 rdsadmin.rdsadmin_util.drop_sys_x$_view。您只能捨棄 輸出中列出的檢視rdsadmin.rdsadmin_util.list_allowed_sys_x$_viewsdrop_sys_x$_view 程序接受下列參數。

參數名稱 資料類型 預設 必要 描述

p_x$_tbl

varchar2

Null

有效的X$固定資料表名稱。值必須是 報告的X$其中一個固定資料表list_created_sys_x$_views

下列範例會捨棄在資料表 上建立的RDS_X$KGLOB檢視X$KGLOB

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

下列範例顯示檢視SYS.RDS_X$KGLOB已捨棄 (包含範例輸出)。

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