Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Gestione delle viste RDS _X$ per le istanze di Oracle DB
Potrebbe essere necessario accedere alle tabelle SYS.X$
fisse, accessibili solo daSYS
. Per creare SYS.RDS_X$
viste su X$
tabelle idonee, utilizzate le procedure incluse nel rdsadmin.rdsadmin_util
pacchetto. Al tuo utente principale viene automaticamente concesso il privilegio SELECT … WITH GRANT OPTION
sulle RDS_X$
viste.
Le rdsadmin.rdsadmin_util
procedure sono disponibili nelle seguenti versioni del motore di database:
-
21.0.0.0.ru-2023-10.rur-2023-10.r1
e versioni successive di Oracle Database 21c -
19.0.0.0.ru-2023-10.rur-2023-10.r1
e versioni successive di Oracle Database 19c
Importante
Internamente, il rdsadmin.rdsadmin_util
pacchetto crea viste sulle X$
tabelle. Le X$
tabelle sono oggetti di sistema interni che non sono descritti nella documentazione di Oracle Database. Si consiglia di testare viste specifiche nel database non di produzione e di creare viste nel database di produzione solo sotto la guida di Oracle Support.
Elenca le tabelle fisse X$ idonee per l'uso nelle RDS viste _X$
Per elencare le tabelle X$ idonee all'uso nelle RDS_X$
viste, usa la procedura. RDS rdsadmin.rdsadmin_util.list_allowed_sys_x$_views
Questa procedura non accetta parametri. Le seguenti istruzioni elencano tutte le X$
tabelle idonee (output di esempio incluso).
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'
L'elenco delle X$
tabelle idonee può cambiare nel tempo. Per assicurarti che l'elenco delle tabelle X$
fisse idonee sia aggiornato, esegui nuovamente periodicamentelist_allowed_sys_x$_views
.
Creando. SYS RDSVisualizzazioni _X$
Per creare una RDS_X$
vista su una X$
tabella idonea, utilizzare la RDS procedura. rdsadmin.rdsadmin_util.create_sys_x$_view
È possibile creare viste solo per le tabelle elencate nell'output dirdsadmin.rdsadmin_util.list_allowed_sys_x$_views
. La procedura create_sys_x$_view
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
varchar2 |
Null |
Sì |
Un nome di |
|
Boolean |
FALSE |
No |
Un valore che indica se forzare la creazione di una |
L'esempio seguente crea la SYS.RDS_X$KGLOB
vista sulla tabellaX$KGLOB
. Il formato per il nome della vista èRDS_
.X$tablename
SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.create_sys_x$_view('X$KGLOB'); PL/SQL procedure successfully completed.
La seguente query sul dizionario di dati elenca la vista SYS.RDS_X$KGLOB
e ne mostra lo stato. Al tuo utente principale viene automaticamente concesso il privilegio SELECT ... WITH GRANT OPTION
su questa visualizzazione.
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
Importante
X$
non è garantito che le tabelle rimangano invariate prima e dopo un aggiornamento. RDSfor Oracle elimina e ricrea le RDS_X$
viste sulle X$
tabelle durante l'aggiornamento del motore. Quindi concede il SELECT
... WITH GRANT OPTION
privilegio all'utente principale. Dopo un aggiornamento, concedi i privilegi agli utenti del database secondo necessità sulle viste corrispondenti. RDS_X$
ElencoSYS. RDS_X$ visualizzazioni
Per elencare le RDS_X$
viste esistenti, utilizzare la RDS procedura. rdsadmin.rdsadmin_util.list_created_sys_x$_views
La procedura elenca solo le viste create dalla proceduracreate_sys_x$_view
. L'esempio seguente elenca le X$
tabelle con RDS_X$
viste corrispondenti (output di esempio incluso).
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.
Eliminazione delle visualizzazioni RDS _X$
Per eliminare una SYS.RDS_X$
vista, utilizzate la procedura. RDS rdsadmin.rdsadmin_util.drop_sys_x$_view
È possibile eliminare solo le viste elencate nell'output dirdsadmin.rdsadmin_util.list_allowed_sys_x$_views
. La procedura drop_sys_x$_view
accetta il seguente parametro.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
varchar2 |
Null |
Sì |
Un nome di tabella |
L'esempio seguente elimina la RDS_X$KGLOB
vista creata nella tabellaX$KGLOB
.
SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.drop_sys_x$_view('X$KGLOB'); PL/SQL procedure successfully completed.
L'esempio seguente mostra che la vista SYS.RDS_X$KGLOB
è stata eliminata (incluso l'output di esempio).
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