本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理 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
和更新的 21c 版本 -
19.0.0.0.ru-2023-10.rur-2023-10.r1
和更新的 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$_views
。create_sys_x$_view
程序接受下列參數。
參數名稱 | 資料類型 | 預設 | 必要 | 描述 |
---|---|---|---|---|
|
varchar2 |
Null |
是 |
有效的 |
|
Boolean |
FALSE |
否 |
指出是否強制建立已存在於 |
下列範例會在資料表 上建立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 for 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$_views
。drop_sys_x$_view
程序接受下列參數。
參數名稱 | 資料類型 | 預設 | 必要 | 描述 |
---|---|---|---|---|
|
varchar2 |
Null |
是 |
有效的 |
下列範例會捨棄在資料表 上建立的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