Le message d'erreur ORA-04088 s'affiche lorsque j'effectue des opérations sur mon instance de base de données Amazon Relational Database Service (Amazon RDS) for Oracle.
Résolution
Amazon RDS for Oracle est un service géré. Cela signifie que vous ne pouvez pas effectuer certaines actions. Par exemple, les comptes SYS, SYSTEM et les autres comptes administratifs fournis par Oracle ne vous sont pas accessibles. Vous ne pouvez pas non plus effectuer d'opérations DDL ou GRANT sur les objets associés.
Amazon RDS for Oracle intègre des déclencheurs DDL et GRANT dans le cadre du schéma RDSADMIN. Ces déclencheurs sont invoqués lorsque des instructions DDL, GRANT restreintes ou des opérations protégées se produisent sur l'instance de base de données RDS for Oracle. SYS, SYSTEM, RDSADMIN, RDS_DATAGUARD, RDSSEC et DBSFWUSER sont un schéma protégé par Amazon RDS for Oracle.
ORA-04088 est une erreur d'exécution qui se produit dans une base de données Oracle lors de l'exécution d'un déclencheur spécifique. Une erreur ORA-04088 peut s'afficher si vous tentez d'effectuer les actions suivantes :
- Exécutez un déclencheur personnalisé.
- Exécutez une opération qui n'est pas prise en charge sur Amazon RDS for Oracle. Par exemple, vous ne pouvez pas créer un tablespace avec un fichier de données nommé identifiant. Amazon RDS prend uniquement en charge les fichiers gérés par Oracle. Vous ne pouvez pas non plus créer de répertoires avec des chemins personnalisés. Pour plus d'informations, consultez la section Exécution de tâches de base de données courantes pour les instances de bases de données Oracle.
- Exécutez un DDL sur Amazon RDS pour les objets de schéma protégés par Oracle. Cela inclut la suppression des tables et la modification des synonymes publics pour les objets des schémas protégés.
- Effectuez une opération d'importation à partir d'un vidage qui crée ou modifie des objets de base de données dans un schéma protégé Amazon RDS for Oracle.
- Utilisez FULL=Y pour exécuter une importation de pompe de données.
- Utilisez une pompe de données pour effectuer une opération d'importation.
- Exécutez une commande GRANT sur Amazon RDS for Oracle. Cette commande est limitée à certains privilèges et rôles. Par exemple, vous ne pouvez pas accorder de privilèges tels que ALTER DATABASE, ALTER SYSTEM, GRANT ANY PRIVILEGE, DROP ANY DIRECTORY, GRANT ANY ROLE ou CREATE ANY DIRECTORY. Vous ne pouvez pas non plus accorder le rôle RDS_MASTER_ROLE à vos utilisateurs ou rôles Amazon RDS for Oracle.
- Modifiez la politique d'audit ou le tablespace d’audit DROP/ALTER AUDIT_TBS lorsque les flux d'activité de base de données (DAS) sont activés.
Étudier et résoudre une erreur ORA-04088
Suivez les étapes de dépannage suivantes pour étudier et résoudre cette erreur.
Résoudre les erreurs causées par les déclencheurs personnalisés
Si l'erreur est due à un déclencheur personnalisé que vous avez créé, vérifiez le numéro de ligne correspondant suivi du message d'erreur ORA-06512. Ces informations indiquent si le déclencheur n'a pas fonctionné. Pour déterminer la cause, examinez le code du déclencheur personnalisé, puis corrigez en conséquence.
Résoudre les erreurs qui se produisent lors de l'importation de la pompe de données
Si une erreur ORA-04088 s'affiche lors de l'importation du vidage de la pompe de données, consultez les bonnes pratiques suivantes :
- N'importez pas en mode complet (FULL=Y). Utilisez le mode schéma ou tableau pour importer des schémas et des objets spécifiques. AWS ne prend pas en charge l'importation d'objets dans le schéma protégé Amazon RDS for Oracle. Utilisez plutôt le remappage pour importer des objets dans un autre schéma.
- N'importez pas de fichiers de vidage créés avec les paramètres d'exportation d'Oracle Data Pump TRANSPORT_TABLESPACES, TRANSPORTABLE ou TRANSPORT_FULL_CHECK. Les instances de base de données RDS for Oracle ne prennent pas en charge l'importation de ces fichiers de vidage. Utilisez plutôt la fonction d'espaces de table transportables Oracle pour copier un ensemble d'espaces de table de la base de données Oracle autogérée vers l'instance de base de données RDS for Oracle.
- N'importez pas de fichiers de vidage contenant des objets Oracle Scheduler dans SYS, SYSTEM, RDSADMIN, RDSSEC et RDS_DATAGUARD. Consultez la section Bonnes pratiques d’Oracle Data Pump pour savoir comment importer des objets avec Oracle Data Pump.
Pour plus d'informations, consultez la section Limitations des privilèges Oracle DBA.