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.
Fichiers journaux de base de données Oracle
Vous pouvez accéder aux journaux des alertes, aux fichiers d'audits et aux fichiers de trace Oracle à l'aide de la console Amazon RDS ou de l'API. Pour plus d'informations sur l'affichage, le téléchargement ou la consultation des journaux de base de données basés sur des fichiers, consultez Surveillance des fichiers journaux Amazon RDS.
Les fichiers d'audit Oracle fournis sont les fichiers d'audit Oracle standard. Amazon RDS prend en charge la fonction d'audit fin (FGA) Oracle. Cependant, l'accès aux journaux ne donne pas accès aux événements FGA stockés dans la table SYS.FGA_LOG$
, accessibles via la vue DBA_FGA_AUDIT_TRAIL
.
L'opération de l'API DescribeDBLogFiles
qui répertorie les fichiers journaux Oracle disponibles pour une instance de base de données ignore le paramètre MaxRecords
et renvoie jusqu'à 1 000 enregistrements. L'appel renvoie LastWritten
sous la forme d'une date POSIX en millisecondes.
Rubriques
Programme de rétention
Le moteur de base de données Oracle peut procéder à la rotation des fichiers journaux s'ils deviennent très volumineux. Pour conserver les fichiers d'audit ou de trace, vous devez les télécharger. Si vous stockez les fichiers localement, vous réduisez vos coûts de stockage Amazon RDS et libérez plus d'espace pour vos données.
Le tableau suivant présente le programme de rétention des journaux d'alertes, des fichiers d'audit et des fichiers de trace Oracle sur Amazon RDS.
Log type (Type de journal) | Programme de rétention |
---|---|
Journaux des alertes |
Le journal d'alerte de texte fait l'objet d'une rotation quotidienne avec une rétention de 30 jours gérée par Amazon RDS. Le journal d'alerte XML est conservé au moins 7 jours. Vous pouvez accéder à ce journal grâce à la vue |
Fichiers d'audit |
La période de rétention par défaut des fichiers d'audit est de 7 jours. Amazon RDS forrait supprimer des fichiers d'audit datant de plus de sept jours. |
Fichiers de trace |
La période de rétention par défaut des fichiers de trace est de 7 jours. Amazon RDS forrait supprimer des fichiers de trace datant de plus de sept jours. |
Journaux de l'écouteur |
La période de rétention par défaut pour les journaux d'écouteur est de 7 jours. Amazon RDS forrait supprimer les journaux d'erreurs datant de plus de 7 jours. |
Note
Les fichiers d'audit et les fichiers de trace partagent la même configuration de rétention.
Utilisation des fichiers de trace Oracle
Vous trouverez ci-après de descriptions de procédures Amazon RDS permettant de créer, d'actualiser, de supprimer les fichiers de trace ou d'y accéder.
Rubriques
Liste de fichiers
Vous pouvez utiliser l'une ou l'autre de deux procédures permettent d'accéder à tous les fichiers dans le chemin background_dump_dest
. La première actualise la liste de l'ensemble des fichiers actuellement dans background_dump_dest
.
EXEC rdsadmin.manage_tracefiles.refresh_tracefile_listing;
Une fois la liste actualisée, interrogez la vue suivante pour accéder aux résultats.
SELECT * FROM rdsadmin.tracefile_listing;
Vous pouvez également utiliser FROM table
pour diffuser des données non relationnelles dans un format de table afin de répertorier le contenu de l'annuaire de bases de données.
SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('BDUMP'));
La requête suivante affiche le texte d'un fichier journal.
SELECT text FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP','alert_
dbname
.log.date
'));
Sur un réplica en lecture, obtenez le nom du répertoire BDUMP en interrogeant V$DATABASE.DB_UNIQUE_NAME
. Si le nom unique est DATABASE_B
, le répertoire BDUMP est BDUMP_B
. L'exemple suivant interroge le nom BDUMP sur un réplica, puis utilise ce nom pour interroger le contenu de alert_DATABASE.log.2020-06-23
.
SELECT 'BDUMP' || (SELECT regexp_replace(DB_UNIQUE_NAME,'.*(_[A-Z])', '\1') FROM V$DATABASE) AS BDUMP_VARIABLE FROM DUAL; BDUMP_VARIABLE -------------- BDUMP_B SELECT TEXT FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP_B','alert_DATABASE.log.2020-06-23'));
Génération de fichiers de trace et suivi d'une session
Puisqu'il n'existe aucune restriction sur ALTER SESSION
, un grand nombre de méthodes standard permettant de générer des fichiers de trace dans Oracle restent disponibles pour les instances de base de données Amazon RDS. Les procédures suivantes sont fournies pour les fichiers de trace pour lesquels l'accès doit être élargi.
Méthode Oracle | Méthode Amazon RDS |
---|---|
|
|
|
|
Vous pouvez utiliser de nombreuses méthodes standard pour suivre des sessions individuelles connectées à une instance de base de données Oracle dans Amazon RDS. Pour activer le suivi d'une session, vous pouvez exécuter des sous-programmes dans des packages PL/SQL fournis par Oracle, tels que DBMS_SESSION
et DBMS_MONITOR
. Pour plus d'informations, consultez Activation du suivi d'une session
Récupération de fichiers de trace
Vous pouvez récupérer tous les fichiers dans background_dump_dest
à l'aide d'une requête SQL standard sur un tableau Amazon RDS externe gérée. Pour utiliser cette méthode, vous devez exécuter la procédure définissant l'emplacement de cette table sur le fichier de trace spécifique.
Par exemple, vous pouvez utiliser la vue rdsadmin.tracefile_listing
indiquée ci-dessus pour répertorier tous les fichiers de trace sur le système. Vous pouvez ensuite définir la vue tracefile_table
afin qu'elle pointe vers le fichier de trace souhaité à l'aide de la procédure suivante.
EXEC rdsadmin.manage_tracefiles.set_tracefile_table_location('CUST01_ora_3260_SYSTEMSTATE.trc');
L'exemple suivant créé une table externe selon le schéma actuel. L'emplacement est défini sur le fichier fourni. Vous pouvez récupérer le contenu dans un fichier local à l'aide d'une requête SQL.
SPOOL /tmp/tracefile.txt SELECT * FROM tracefile_table; SPOOL OFF;
Purge des fichiers de trace
Les fichiers de trace peuvent s'accumuler et consommer de l'espace sur le disque. Par défaut, Amazon RDS purge les fichiers de trace et les fichiers journaux de plus de sept jours. Vous pouvez afficher et définir la période de rétention des fichiers à l'aide de la procédure show_configuration
. Vous devez exécuter la commande SET SERVEROUTPUT ON
afin de pouvoir afficher les résultats de la configuration.
L'exemple suivant affiche la période de rétention des fichiers de trace actuelle, puis définit une nouvelle période.
# Show the current tracefile retention SQL> EXEC rdsadmin.rdsadmin_util.show_configuration; NAME:tracefile retention VALUE:10080 DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted. # Set the tracefile retention to 24 hours: SQL> EXEC rdsadmin.rdsadmin_util.set_configuration('tracefile retention',1440); SQL> commit; #show the new tracefile retention SQL> EXEC rdsadmin.rdsadmin_util.show_configuration; NAME:tracefile retention VALUE:1440 DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted.
En complément du processus de purge périodique, vous pouvez supprimer manuellement des fichiers de background_dump_dest
. L'exemple suivant montre comment purger tous les fichiers datant de plus de cinq minutes.
EXEC rdsadmin.manage_tracefiles.purge_tracefiles(5);
Vous pouvez également purger tous les fichiers correspondant à un modèle spécifique (dans ce cas, n'incluez pas l'extension de fichier, par exemple .trc). L'exemple suivant montre comment purger tous les fichiers commençant par SCHPOC1_ora_5935
.
EXEC rdsadmin.manage_tracefiles.purge_tracefiles('SCHPOC1_ora_5935');
Publication de journaux Oracle sur Amazon CloudWatch Logs
Vous pouvez configurer votre instance de base de données RDS pour Oracle afin de publier les données de journal dans un groupe de CloudWatch journaux dans Amazon Logs. Avec CloudWatch Logs, vous pouvez analyser les données du journal et les utiliser CloudWatch pour créer des alarmes et afficher des métriques. Vous pouvez utiliser CloudWatch les journaux pour stocker vos enregistrements de journal dans un espace de stockage hautement durable.
Amazon RDS publie chaque journal de base de données Oracle sous la forme d'un flux de base de données distinct dans le groupe de journaux. Par exemple, si vous configurez la fonction d'exportation de sorte à inclure le journal d'audit, les données d'audit sont stockées dans un flux de journal d'audit dans le groupe de journaux /aws/rds/instance/my_instance/audit
. Le tableau suivant récapitule les conditions requises pour que RDS for Oracle publie des journaux sur Amazon CloudWatch Logs.
Nom du journal | Exigence | Par défaut |
---|---|---|
Journal des alertes |
Aucune. Vous ne pouvez pas désactiver ce journal. |
Activées |
Journal de suivi |
Définissez le |
|
Journal d'audit |
Définissez le paramètre |
|
Journal d'écoute |
Aucune. Vous ne pouvez pas désactiver ce journal. |
Activées |
Journal d'Oracle Management Agent |
Aucune. Vous ne pouvez pas désactiver ce journal. |
Activées |
Le journal d'Oracle Management Agent contient les groupes de journaux présentés dans le tableau suivant.
Nom du journal | CloudWatch groupe de journaux |
---|---|
emctl.log | oemagent-emctl |
emdctlj.log | oemagent-emdctlj |
gcagent.log | oemagent-gcagent |
gcagent_errors.log | oemagent-gcagent-errors |
emagent.nohup | oemagent-emagent-nohup |
secure.log | oemagent-secure |
Pour plus d'informations, consultez Localisation des fichiers de suivi et des fichiers journaux de Management Agent
Pour publier les journaux Oracle DB dans CloudWatch Logs à partir du AWS Management Console
Ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/
. -
Dans le panneau de navigation, choisissez Bases de données, puis l'instance de base de données que vous souhaitez modifier.
-
Sélectionnez Modify (Modifier).
-
Dans la section Exportations de journaux, choisissez les journaux que vous souhaitez commencer à publier dans CloudWatch Logs.
-
Choisissez Continuer, puis Modifier l'instance de base de données sur la page récapitulative.
Pour publier les journaux Oracle vous pouvez utiliser la commande modify-db-instance
avec les paramètres suivants :
-
--db-instance-identifier
-
--cloudwatch-logs-export-configuration
Note
Une modification apportée à l'option --cloudwatch-logs-export-configuration
est toujours appliquée immédiatement à l'instance de base de données. Par conséquent, les options --apply-immediately
et --no-apply-immediately
sont sans effet.
Vous pouvez également publier des journaux Oracle en utilisant les commandes suivantes :
Exemple
L'exemple suivant crée une instance de base de données Oracle avec la publication CloudWatch des journaux activée. La valeur --cloudwatch-logs-export-configuration
est un tableau de chaînes JSON. Les chaînes peuvent être une combinaison de alert
, audit
, listener
et trace
.
Pour LinuxmacOS, ou Unix :
aws rds create-db-instance \ --db-instance-identifier
mydbinstance
\ --cloudwatch-logs-export-configuration '["trace","audit","alert","listener","oemagent"]' \ --db-instance-classdb.m5.large
\ --allocated-storage20
\ --engineoracle-ee
\ --engine-version12.1.0.2.v18
\ --license-modelbring-your-own-license
\ --master-usernamemyadmin
\ --manage-master-user-password
Dans Windows :
aws rds create-db-instance ^ --db-instance-identifier
mydbinstance
^ --cloudwatch-logs-export-configurationtrace alert audit listener oemagent
^ --db-instance-classdb.m5.large
^ --allocated-storage20
^ --engineoracle-ee
^ --engine-version12.1.0.2.v18
^ --license-modelbring-your-own-license
^ --master-usernamemyadmin
^ --manage-master-user-password
Exemple
L'exemple suivant modifie une instance de base de données Oracle existante pour publier des fichiers CloudWatch journaux dans Logs. La valeur --cloudwatch-logs-export-configuration
n'est pas un objet JSON. La clé pour cet objet est EnableLogTypes
et sa valeur est un tableau de chaînes avec une combinaison quelconque de alert
, audit
, listener
et trace
.
Pour LinuxmacOS, ou Unix :
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["trace","alert","audit","listener","oemagent"]}'
Dans Windows :
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --cloudwatch-logs-export-configuration EnableLogTypes=\"trace\",\"alert\",\"audit\",\"listener\",\"oemagent\"
Exemple
L'exemple suivant modifie une instance de base de données Oracle existante pour désactiver la publication des fichiers journaux d'audit et d'écoute dans Logs. CloudWatch La valeur --cloudwatch-logs-export-configuration
n'est pas un objet JSON. La clé pour cet objet est DisableLogTypes
et sa valeur est un tableau de chaînes avec une combinaison quelconque de alert
, audit
, listener
et trace
.
Pour LinuxmacOS, ou Unix :
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --cloudwatch-logs-export-configuration '{"DisableLogTypes":["audit","listener"]}'
Dans Windows :
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --cloudwatch-logs-export-configuration DisableLogTypes=\"audit\",\"listener\"
Vous pouvez publier des journaux Oracle Database avec l'API RDS. Vous pouvez appeler l'action ModifyDBInstance
avec les paramètres suivants :
-
DBInstanceIdentifier
-
CloudwatchLogsExportConfiguration
Note
Une modification apportée au paramètre CloudwatchLogsExportConfiguration
est toujours appliquée immédiatement à l'instance de base de données. Par conséquent, le paramètre ApplyImmediately
est sans effet.
Vous pouvez également publier des journaux Oracle en appelant les opérations de l'API RDS suivantes :
Exécutez l'une de ces opérations d'API RDS avec les paramètres suivants :
-
DBInstanceIdentifier
-
EnableCloudwatchLogsExports
-
Engine
-
DBInstanceClass
D'autres paramètres peuvent être requis en fonction de l'opération RDS que vous exécutez.
Méthodes précédentes pour accéder aux journaux des alertes et aux journaux de l'écouteur
Vous pouvez consulter le journal d'alertes à l'aide de la console Amazon RDS. Vous pouvez également utiliser l'instruction SQL suivante pour accéder au journal d'alertes.
SELECT message_text FROM alertlog;
La vue listenerlog
contient des entrées pour Oracle Database version 12.1.0.2 et antérieure. Pour accéder au journal de l'écouteur pour ces versions de base de données, utilisez la requête suivante.
SELECT message_text FROM listenerlog;
Pour les versions 12.2.0.1 et ultérieures d'Oracle Database, accédez au journal du récepteur à l'aide d'Amazon Logs. CloudWatch
Note
Oracle procède à la rotation des journaux des alertes et de l'écouteur lorsqu'ils dépassent 10 Mo. A ce moment là, ils ne sont pas disponibles dans les vues Amazon RDS.