Reporting sur les tables système
Par défaut, les tables système sont restreintes dans le module Reporting.
Ces tables comprennent, sans s’y limiter :
- Audit système [
sys_audit] - Journal [
syslog] - Journal des transactions [
syslog_transaction] - Pièce jointe [
sys_attachment] - E-mail [
sys_email]
La raison en est que sys_audit est généralement la plus grande table de toutes les instances. Il n’est pas rare que la table d’audit, même dans une instance de taille moyenne, soit de plusieurs gigaoctets. Dans une grande installation, cette table peut être de 50 Go ou plus.
Lorsque nous accédons à la table sys_audit par programmation, nous savons à quoi ressemblera notre modèle de requête, nous avons donc ajouté des index de données appropriés pour correspondre à nos requêtes. Cela signifie que lorsque vous affichez, par exemple, l’historique d’un incident, la base de données peut utiliser un index pour extraire efficacement les quelques dizaines de lignes dont elle a besoin pour cette requête.
Cependant, avec les rapports de forme libre, nous ne pouvons pas prédire à quoi ressemblera votre modèle de requête. Vous souhaitez peut-être effectuer un regroupement par nom de champ ou un tri par oldvalue. Il est donc possible que vos requêtes ne soient pas des requêtes indexées. Le résultat net est que vous demanderez à la base de données d’analyser un fichier de plusieurs gigaoctets, ce qui est mauvais pour les raisons suivantes :
- Il est lent, donc votre rapport prendra un temps inacceptable à s’exécuter.
- Pendant que la base de données analyse votre table, votre instance ralentit ou devient même indisponible, car d’autres requêtes ne peuvent pas obtenir les ressources dont elles ont besoin.
Si vous devez générer des rapports sur une table système, vous pouvez l’ajouter à la glide.ui.permitted_tables propriété. Accédez à la et localisez la propriété intitulée Liste des tables système (commençant par « sys_ », séparées par des virgules) qui peuvent figurer dans un rapport. Par défaut, les tables système ne peuvent pas figurer dans un rapport. Procédez avec prudence.