Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gestion des vues RDS_X$ pour les instances de base de données Oracle
Vous devrez peut-être accéder à des tables SYS.X$
fixes, qui ne sont accessibles que parSYS
. Pour créer des SYS.RDS_X$
vues sur X$
les tables éligibles, utilisez les procédures du rdsadmin.rdsadmin_util
package. Votre utilisateur principal se voit automatiquement octroyer le privilège SELECT … WITH GRANT OPTION
d'accès aux RDS_X$
vues.
Les rdsadmin.rdsadmin_util
procédures sont disponibles dans les cas suivants :
-
Instances de base de données existantes qui n'ont jamais été mises à niveau et qui utilisent les versions suivantes :
-
21.0.0.0.ru-2023-10.rur-2023-10.r1
Versions 21c et supérieures -
19.0.0.0.ru-2023-10.rur-2023-10.r1
Versions 19c et supérieures
-
-
Toute nouvelle instance de base de données que vous créez
-
Toute instance de base de données existante que vous avez mise à niveau
Important
En interne, le rdsadmin.rdsadmin_util
package crée des vues sur X$
les tables. Les X$
tables sont des objets système internes qui ne sont pas décrits dans la documentation de la base de données Oracle. Nous vous recommandons de tester des vues spécifiques dans votre base de données hors production et de ne créer des vues dans votre base de données de production que sous la supervision d'Oracle Support.
Liste des tables fixes X$ pouvant être utilisées dans les vues RDS_X$
Pour répertorier les tables X$ pouvant être utilisées dans les RDS_X$
vues, utilisez la procédure RDS. rdsadmin.rdsadmin_util.list_allowed_sys_x$_views
Cette procédure n'accepte aucun paramètre. Les déclarations suivantes répertorient tous les X$
tableaux éligibles (échantillon de sortie inclus).
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'
La liste des X$
tables éligibles peut changer au fil du temps. Pour vous assurer que votre liste de tables X$
fixes éligibles est à jour, réexécutez-la list_allowed_sys_x$_views
régulièrement.
Création de vues SYS.RDS_X$
Pour créer une RDS_X$
vue sur une X$
table éligible, utilisez la procédure rdsadmin.rdsadmin_util.create_sys_x$_view
RDS. Vous ne pouvez créer des vues que pour les tables répertoriées dans la sortie derdsadmin.rdsadmin_util.list_allowed_sys_x$_views
. La procédure create_sys_x$_view
accepte les paramètres suivants.
Nom du paramètre | Type de données | Par défaut | Obligatoire | Description |
---|---|---|---|---|
|
varchar2 |
Null |
Oui |
Nom de |
|
Booléen |
FALSE |
Non |
Une valeur indiquant s'il faut forcer la création d'une |
L'exemple suivant crée la SYS.RDS_X$KGLOB
vue sur la tableX$KGLOB
. Le format du nom de la vue estRDS_
.X$tablename
SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.create_sys_x$_view('X$KGLOB'); PL/SQL procedure successfully completed.
La requête de dictionnaire de données suivante répertorie la vue SYS.RDS_X$KGLOB
et indique son état. Votre utilisateur principal est automatiquement autorisé à accéder SELECT ... WITH GRANT OPTION
à cette vue.
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
Important
X$
il n'est pas garanti que les tables resteront les mêmes avant et après un surclassement. RDS for Oracle supprime et recrée les RDS_X$
vues sur les X$
tables lors d'une mise à niveau du moteur. Il accorde ensuite le SELECT
... WITH GRANT OPTION
privilège à l'utilisateur principal. Après une mise à niveau, accordez des privilèges aux utilisateurs de la base de données selon les besoins sur les RDS_X$
vues correspondantes.
Répertorier les vues SYS.RDS_X$
Pour répertorier les RDS_X$
vues existantes, utilisez la procédure rdsadmin.rdsadmin_util.list_created_sys_x$_views
RDS. La procédure répertorie uniquement les vues créées par la procédurecreate_sys_x$_view
. L'exemple suivant répertorie les X$
tables associées aux RDS_X$
vues correspondantes (exemple de sortie inclus).
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.
Supprimer les vues RDS_X$
Pour supprimer une SYS.RDS_X$
vue, utilisez la procédure rdsadmin.rdsadmin_util.drop_sys_x$_view
RDS. Vous ne pouvez supprimer que les vues répertoriées dans la sortie derdsadmin.rdsadmin_util.list_allowed_sys_x$_views
. La procédure drop_sys_x$_view
accepte les paramètres suivants.
Nom du paramètre | Type de données | Par défaut | Obligatoire | Description |
---|---|---|---|---|
|
varchar2 |
Null |
Oui |
Nom de table |
L'exemple suivant supprime la RDS_X$KGLOB
vue créée sur le tableauX$KGLOB
.
SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.drop_sys_x$_view('X$KGLOB'); PL/SQL procedure successfully completed.
L'exemple suivant montre que la vue SYS.RDS_X$KGLOB
a été supprimée (exemple de sortie inclus).
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