本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理 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$_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 適用於 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