Comment tronquer la table sys.aud$ sur mon instance Amazon RDS qui exécute Oracle ?
Date de la dernière mise à jour : 25/09/2020
Solution
SQL> exec rdsadmin.rdsadmin_master_util.truncate_sys_aud_table;
PL/SQL procedure successfully completed.
SQL> select count(*) from sys.aud$;
COUNT(*)
----------
0
Remarque : Le fait de tronquer la table implique que l'instance de base de données RDS peut exécuter la procédure TRUNCATE_SYS_AUD_TABLE en tant qu'utilisateur principal. Les versions Oracle 12.1.0.2.v2 et 11.2.0.4.v6, ainsi que les versions ultérieures, prennent en charge cette opération.
Si la commande précédente échoue, contactez AWS Support pour obtenir de l'aide. Pour déterminer le type d'assistance qu'AWS Support doit fournir, exécutez les commandes suivantes et notez leur résultat :
1. Exécutez la commande suivante pour déterminer si la procédure TRUNCATE_SYS_AUD_TABLE est disponible sur l'instance de base de données RDS :
SQL> desc rdsadmin.rdsadmin_master_util
FUNCTION IS_DML_ENABLED RETURNS BOOLEAN
PROCEDURE TRUNCATE_SYS_AUD_TABLE
PROCEDURE TRUNCATE_SYS_FGA_LOG_TABLE
SQL> select role from dba_roles where role='RDS_MASTER_ROLE';
Si le rôle RDS_MASTER_ROLE est disponible sur votre instance de base de données RDS, vous obtenez un résultat similaire à celui-ci :
ROLE
--------------------------------------------
RDS_MASTER_ROLE
3. Vérifiez que l'utilisateur principal est autorisé à exécuter la procédure TRUNCATE_SYS_AUD_TABLE en exécutant dans l'ordre les commandes suivantes :
SQL> select granted_role, grantee, admin_option from dba_role_privs where granted_role='RDS_MASTER_ROLE';
Si l'utilisateur principal est autorisé à exécuter la procédure TRUNCATE_SYS_AUD_TABLE, vous obtenez un résultat similaire à celui-ci :
GRANTED_ROLE GRANTEE ADM
-------------------- -------------------- ---
RDS_MASTER_ROLE SYS YES
RDS_MASTER_ROLE MASTER_USER NO
Informations connexes
Cet article vous a-t-il été utile ?
Besoin d'aide pour une question technique ou de facturation ?