Ce document couvre les fonctionnalités du module Oracle.
1. Module Oracle
Le module Oracle permet de superviser et administrer des bases de données Oracle enregistrées dans l’application. Les fonctionnalités visibles dépendent de votre rôle :
| Rôle | Accès |
|---|---|
oracle_user | Consultation des rapports sur les bases autorisées |
oracle_admin | Toutes les fonctionnalités + administration |
| Droit consultation (par base) | Lecture seule des rapports |
| Droit DBA Dev (par base) | Consultation + kill session et correction SQL |
| Droit DBA (par base) | Tout : statistiques, bash_snapper, restore points, piste d’audit |
Les trois droits par base (consultation, DBA Dev, DBA) sont attribués par un administrateur, groupe par groupe et sous-groupe par sous-groupe : vous pouvez donc être DBA sur les bases de développement et en simple consultation sur la production. Le droit dont vous disposez sur la base sélectionnée est rappelé par un badge dans la barre de navigation.
Prérequis : le module Oracle doit être actif et au moins une base doit vous être accessible (selon vos groupes). Certaines fonctionnalités dépendent en plus des licences Oracle de la base (Diagnostic Pack, Tuning Pack) — signalées au fil du document.
graph TD A[Page d'accueil Oracle] --> B[Selection d'une base] B --> C[Barre de navigation rapports] C --> D[Temps reel] C --> E[Historique] C --> F[Configuration] C --> G[Diagnostics] C --> H[Tableaux de bord] C --> I[Rapports generes] D --> D1[Sessions actives] D --> D2[Verrous] E --> E1[Vue ASH] E --> E2[Detail ASH] F --> F1[Parametres] F --> F2[Tablespaces] F --> F3[Memoire] F --> F4[Indicateurs] F --> F5[Alert Log] G --> G1[ORA-01555] G --> G2[ORA-04030] G --> G3[ORA-04031] G --> G4[Ralentissement] G --> G5[sw$bash_snapper] H --> H1[Sauvegardes RMAN] H --> H2[Export DataPump] H --> H3[Licences] H --> H4[Scheduler] H --> H5[Statistiques] I --> I1[SQL Monitor] I --> I2[Rapport ASH] I --> I3[Rapport AWR]
2. Sélection d’une base
La page d’accueil du module Oracle affiche la liste des bases auxquelles vous avez accès, organisées par groupe et sous-groupe (dev, homol, perf, pré-prod, prod, secours).

Cliquez sur une base pour la sélectionner. Elle reste active dans votre session jusqu’a ce que vous en choisissiez une autre. Le nom de la base sélectionnée apparaît dans la barre de navigation, avec un badge rappelant votre niveau de droit sur cette base.
Une fois la base sélectionnée, les rapports sont accessibles par le menu latéral à icônes : une icône par famille de rapports (configuration, temps réel, historique, rapports générés, diagnostics, tableaux de bord), chacune ouvrant la liste de ses pages. Le bouton ☰, place à côté du logo de l’application, replié ou déplie entièrement ce menu ; votre choix est mémorisé.
Choisir sa page d’accueil
Par défaut, sélectionner une base vous amène sur la vue d’ensemble. Vous pouvez choisir n’importe quel rapport comme point d’arrivée :
- soit depuis Mon profil, avec le sélecteur « Page d’accueil après
sélection d’une base » ;
- soit directement depuis le rapport voulu, en cliquant le bouton flottant
☆ Définir comme accueil en bas à droite de l’écran. L’étoile devient pleine quand la page est votre accueil ; recliquer revient au défaut.
Ce réglage est propre à votre compte et s’applique à toutes les bases.
Les sous-groupes correspondent aux environnements :
| Sous-groupe | Usage |
|---|---|
| dev | Développement |
| homol | Homologation |
| perf | Tests de performance |
| pré-prod | Pré-production |
| prod | Production |
| secours | Site de secours / Data Guard |
3. Rapports temps réel
Sessions actives
Affiche les sessions utilisateur en cours d’exécution sur la base sélectionnée (toutes les instances en environnement RAC).

Informations affichées :
- Instance, SID, Serial#, Utilisateur, Schéma
- SQL ID, aperçu de la requête (120 caractères)
- Durée, classe d’attente, événement d’attente
- Machine, programme
Rafraîchissement automatique toutes les 10 secondes.
Kill Session (visible avec le droit DBA ou le rôle oracle_admin) : bouton rouge à droite de chaque session. Une confirmation est demandée avant l’exécution de ALTER SYSTEM KILL SESSION.
Opérations longues : les opérations en cours (RMAN, CREATE INDEX, etc.) apparaissent avec une barre de progression.
SQL Monitor (licence Tuning Pack requise) : les exécutions en cours surveillées par le Real-Time SQL Monitoring apparaissent avec un lien vers le rapport détaillé.
Verrous (Locks)
Affiche l’arborescence des verrous : sessions bloquantes et sessions bloquees, avec la chaîne de blocage complète.

- Vue en arbre : bloqueur -> bloque -> bloque (chaîne)
- Bouton Kill Session sur les sessions bloquantes (droit DBA requis)
- Informations de wait : événement, ressource, durée
4. Historique (ASH)
Licence requise : Diagnostic Pack. Si la base ne dispose pas de cette licence, l’application bascule automatiquement sur les tables sw$bash_snapper (si installées — voir section Diagnostics).
Vue d’ensemble ASH
Affiche l’activité historique de la base sur 1, 7 ou 30 jours.

Graphique empilé : activité horaire par classe d’attente (CPU, User I/O, System I/O, Cluster, Other).
Heatmaps (matrices jour x heure) — trois cartes :
| Heatmap | Donnée |
|---|---|
| Chargé | Activité ASH totale |
| I/O | I/O utilisateur + système |
| Application | Bascules redo / log switches (V$LOG_HISTORY) |
Sans Diagnostic Pack, les heatmaps Chargé et I/O sont alimentees par sw$bash_snapper s’il est installé (voir section Diagnostics).
Chaque heatmap à sa propre légende, avec les bornes chiffrées de son dégradé : les trois rampes de couleur différent et chaque grille à son propre haut d’échelle, on ne compare donc pas une case d’une heatmap à une case d’une autre.
Échelle linéaire ou logarithmique
Un interrupteur lin / log suit chaque légende et ne commute que *sa* grille.
| Mode | Ce qu’il fait | Quand le préférer |
|---|---|---|
lin | La teinte est proportionnelle au nombre d’échantillons | Chargé homogène : on veut voir les proportions réelles |
log | Détaillé le bas de l’échelle | Quelques pics écrasent tout le reste |
Le défaut est choisi grille par grille : log si le maximum vaut au moins 5 fois l’heure médiane — beaucoup d’heures faibles et quelques très grandes — lin sinon. Sans cela, un batch mensuel suffit à repousser toutes les autres heures dans le bas de la rampe, ou les teintes ne se distinguent plus : la grille paraît uniformément pâle avec une seule case sombre. La barre de légende se redessine à la bascule, elle décrit donc toujours l’échelle réellement employée.
Le dégradé s’arrêté avant le maximum quand un pic isolé le justifie : la borne droite porte alors un + et le maximum réel est rappelé à côté. Les heures au-delà partagent le ton le plus foncé ; c’est le survol qui les départage.
Le choix ne vaut que pour l’affichage courant : changer de fenêtre (1 / 7 / 30 j) recharge la page et laisse à nouveau le défaut decider.
Les heures affichées sont celles du serveur de base, l’agrégation jour/heure étant faite en SQL. C’est une différence assumee avec le module PostgreSQL, qui decoupe dans le fuseau du poste qui consulte.
Détail ASH
Analyse minute par minute avec filtrage dynamique côté client.

Filtres disponibles : SQL ID, classe d’attente, événement, utilisateur, état de session.
Granularité adaptive :
| Plage | Granularité |
|---|---|
| < 2h | 10 secondes |
| 2-12h | 1 minute |
| 12h-7j | 10 minutes |
| > 7j | 1 heure |
5. Configuration de la base
Paramètres et configuration
Vue complète de la base :
- V$DATABASE : identité, mode Data Guard, protection, archivage
- GV$INSTANCE : toutes les instances (RAC), versions, démarrage
- GV$PARAMETER : paramètres avec valeur courante/défaut et indicateur
de modifiabilité
- NLS : paramètres linguistiques (base, instance, session)

Tablespaces et Redo Logs
- Tablespaces data : nom, taille, utilise/libre, autoextension.
Les tablespaces chiffrés (TDE) sont signalés par une icône cadenas à côté de leur nom, aussi bien dans le graphique que dans le tableau de recommandations.
- Tablespaces temporaires : taille, usage courant (si
V$TEMP_SPACE_HEADER est accessible). Cadenas pour les TBS chiffrés.

- Groupes de redo : thread, groupe, taille, membres, statut

- Membres de redo : chemin des fichiers, statut

Mémoire
- SGA : composants, tailles, redimensionnabilité

- PGA : statistiques courantes et maximales

- Advisors : graphiques de recommandation (buffer cache, shared pool,
PGA target, SGA target, memory target)
Indicateurs de performance
Ratios calcules à partir de V$SYSSTAT avec seuils de santé :
- Ratio de succès de parse
- Ratio de hard parse
- Taux de hit du library cache
- Taux de hit du buffer cache
- Ratio exécute-to-parse
- Ratio CPU
Chaque indicateur affiche un statut couleur (vert/orange/rouge) avec des recommandations.

Alert Log
Affiche les dernières entrées de l’alert log (GV$DIAG_ALERT_EXT).
- Limite configurable : 50, 100, 200, 500, 1000 ou toutes les entrées
- Tri anti-chronologique
- Niveau de sévérité : ERROR, WARNING, INFO

Calcul des statistiques (DBMS_STATS)
Page du menu Configuration dédiée à la gestion des statistiques de l’optimiseur :
- Préférences globales
DBMS_STATS(ESTIMATE_PERCENT, METHOD_OPT,
CASCADE, DEGREE…) — éditables avec le droit DBA.
- Statistiques par schéma : fraîcheur (dernière collecte) et nombre de
tables / index / partitions aux statistiques périmées ou manquantes.
- Statistiques système (
SYS.AUX_STATS$) et **statistiques du
dictionnaire**.
- Tâche automatique « auto optimizer stats collection » : état
(ENABLED/DISABLED) et historique des fenêtres de maintenance.

Tuning SQL (DBMS_SQLTUNE)
Page du menu Configuration dédiée à l’Auto SQL Tuning Advisor :
- Tâche automatique « sql tuning advisor » : état et historique.
- Paramètres de la tâche (éditables avec le droit DBA).
- SQL Profiles existants : nom, catégorie, statut, date, texte SQL.
- Dernières exécutions de l’advisor (statut, erreurs).

Restore points
Page du menu Configuration réservée au droit DBA. Elle liste les points de restauration existants (V$RESTORE_POINT) avec leur SCN, leur date, leur type et la place occupée.
Un bandeau de prérequis rappelle l’état de la base : mode d’ouverture, mode d’archivage et Flashback. Un restore point garanti exige le mode ARCHIVELOG ; si la base n’y est pas, l’option est désactivée et la raison affichée.
Chaque ligne offre deux actions : Supprimer, et Rollback qui n’exécute rien mais affiche la procédure à dérouler manuellement — le retour arrière imposé de passer la base en MOUNT, ce qui ne peut pas se faire depuis une interface web.
Piste d’audit
Page du menu Configuration dédiée à l’audit de la base. Elle détecte automatiquement le mécanisme en place et n’affiche que ce qui est pertinent :
- Audit unifié (12c et supérieur) : politiques activées, catalogue
complet des politiques, volumétrie de la piste (nombre de lignes estimé, date la plus ancienne et la plus récente).
- Audit traditionnel : valeur du paramètre
audit_trail, volumétrie
de AUD$, et surtout ce qui est réellement audité (options d’instruction, de privilège et d’objet).
Un bandeau résume le mode détecte (unifié pur, mixte ou traditionnel), la version, le conteneur (CDB/PDB) et signale le cas ou le paramètre audit_trail diffère entre les instances d’un RAC.
Volumétrie : le nombre de lignes est estimé à partir des statistiques de l’optimiseur, jamais par un comptage complet — un COUNT(*) sur une piste d’audit volumineuse serait bien trop coûteux. La date de dernière collecte des statistiques est affichée à côté.
Avec le droit DBA, la page permet aussi d’agir : activer ou désactiver des politiques et des options d’audit, créer ou supprimer une politique unifiée, régler le paramètre audit_trail et purger la piste. Ces actions sont décrites dans le guide administrateur.
6. Diagnostics Oracle
ORA-01555 (Snapshot Too Old)
Analyse les causes potentielles de l’erreur “snapshot too old” : rétention undo, tablespace undo, transactions longues, segments undo.
ORA-04030 / ORA-04031 (Mémoire)
- ORA-04030 : diagnostique l’épuisement mémoire PGA (sessions les
plus consommatrices, allocations, fuites)
- ORA-04031 : diagnostique la pression sur la SGA (fragmentation du
shared pool, allocations par type)
Ralentissement
Analyse de dégradation de performance par comparaison avant/après : distribution des classes d’attente, régression de plans d’exécution, fenêtres temporelles configurables.
sw$bash_snapper
Visible uniquement si la base n’a pas de licence Diagnostic Pack et que vous avez le droit DBA.
Package PL/SQL qui échantillonne l’activité des sessions à la manière d’AWR, sans nécessiter de licence.
flowchart LR
A[Base sans\nlicence Diag Pack] --> B{sw$bash_snapper\ninstalle ?}
B -- Non --> C[Bouton Installer]
C --> D[Tables + Package crees]
D --> E[Demarrer le collecteur]
B -- Oui --> F{Collecteur\nen cours ?}
F -- Non --> E
F -- Oui --> G[Donnees ASH\ndisponibles]
G --> H[Rapports historiques\nutilisent les tables\nSW$BASH_*]Actions disponibles (droit DBA) :
| Action | Description |
|---|---|
| Installer | Crée les tables SW$BASH_* et le package SW$BASH_SNAPPER |
| Démarrer | Lance les jobs DBMS_SCHEDULER d’échantillonnage (1 par instance RAC) |
| Arrêter | Arrêt gracieux du collecteur |
| Purger | Supprime les données historiques plus anciennes que N jours |
| Désinstaller | Supprime tous les objets et jobs |
Paramètres configurables :
| Paramètre | Défaut | Description |
|---|---|---|
| sample_every_n_centiseconds | 100 (1s) | Intervalle d’échantillonnage |
| persist_every_n_samples | 10 | Flush actif -> historique |
| max_entries_kept | 30 000 | Taille du buffer circulaire |
| hist_days_to_keep | 93 | Rétention historique (jours) |
| snapshot_every_n_samples | 3 600 (1h) | Fréquence des mini-snapshots AWR |

7. Tableaux de bord Oracle
Synthèse Backups
Tableau consolidé des 10 derniers backups de base (sauvegardes FULL ou incrémentales de niveau 0), source V$BACKUP_SET.
- Un backup = un îlot de backup sets dont les heures de fin sont
espacées de moins de 2 heures (regroupement automatique).
- Colonnes : type (FULL / INCR 0), date de fin, **nombre de backup
sets** de l’îlot.
- Période analysée : environ un mois glissant.

Export DataPump
- Jobs d’export en cours (avec progression)
- 20 derniers jobs terminés
Licences
- Packs disponibles (Diagnostic, Tuning, Database Vault, etc.)
- Édition Oracle
- Options utilisées et conformité
Scheduler (DBMS_SCHEDULER)
- Jobs en cours d’exécution
- Jobs planifiés
- 20 derniers échecs
Statistiques
Vue complète de la gestion des statistiques Oracle :
- Statistiques système (
SYS.AUX_STATS$) : vitesse CPU, temps de
seek I/O, debit, MBRC — utilisés par l’optimiseur
- Préférences globales : paramètres AUTO/CASCADE/CONCURRENT

- Historique des collectes : 50 derniers GATHER avec tables/schémas
concernés

- Statistiques périmées : tables dont les stats sont obsolètes ou
manquantes, agrégées par schéma. Top 30 avec bouton de collecte rapide (DBMS_STATS.GATHER_TABLE_STATS via DBMS_SCHEDULER)

TDE / Wallets
État du chiffrement au repos (Transparent Data Encryption).
- Wallets / keystores par instance (
GV$ENCRYPTION_WALLET) : emplacement
(WRL_PARAMETER), mode d’ouverture (OPEN / CLOSED / OPEN_NO_MASTER_KEY), auto-login (WALLET_TYPE : AUTOLOGIN / LOCAL_AUTOLOGIN / PASSWORD), type (FILE / HSM / OKV) et sauvegarde du wallet. Une ligne par instance en RAC.
- Configuration TDE (
V$PARAMETER) :wallet_root,tde_configuration,
encrypt_new_tablespaces (selon la version).
- Tablespaces chiffrés (
V$ENCRYPTED_TABLESPACES) : nom, algorithme, statut. - Clés maîtres (
V$ENCRYPTION_KEYS) : nombre et dernière activation
(nécessite un privilège élevé, sinon section indisponible).
Passer en auto-login (droit DBA ou administrateur du site uniquement) : un bouton ouvre une fenêtre modale demandant le mot de passe du keystore et crée un keystore auto-login (cwallet.sso). Voir le guide administrateur pour le détail et les précautions.

8. Rapports Oracle générés
Ces rapports utilisent les packages Oracle intégrés pour générer du HTML. Le résultat est affiche dans un iframe isolé.
SQL Monitor
Licence requise : Tuning Pack.
Généré le rapport Real-Time SQL Monitoring pour un SQL ID donne.
- Entrée : SQL ID (13 caractères), SQL Exec ID (optionnel)
- Sortie : rapport HTML Oracle (parallélisme, I/O, plans adaptatifs)

Rapport ASH
Licence requise : Diagnostic Pack.
Généré un rapport ASH (DBMS_WORKLOAD_REPOSITORY.ASH_REPORT_HTML) entre deux horodatages.
- Entrées : date/heure de debut, date/heure de fin
Rapport AWR
Licence requise : Diagnostic Pack.
Généré un rapport AWR Global (DBMS_WORKLOAD_REPOSITORY.AWR_GLOBAL_REPORT_HTML) entre deux snapshots.
- Entrées : snapshot de debut, snapshot de fin (listes déroulantes
alimentees depuis DBA_HIST_SNAPSHOT, 200 derniers snapshots)
- Version RAC-aware : toutes les instances sont incluses

Chaque rapport généré peut être télécharge en HTML via le bouton dédié.
9. Détail SQL et objets
Détail SQL
Accessible en cliquant sur un SQL ID dans n’importe quel rapport.
Sections :
- Plans d’exécution : tous les child cursors, plan hash values,
rendu graphique en arbre
- Détails du plan : opérations, coûts, cardinalité, valeurs de bind
peeked, hints outline, profil SQL applique

- Historique d’exécution (Diagnostic Pack) : statistiques AWR par
plan hash — exécutions, temps écoulé, CPU, buffer gets, disk reads

- Informations de parse : version DB, dynamic sampling, DOP,
cardinality feedback
Sources et repli. Chaque information est cherchee en priorité dans les vues dynamiques (GV$SQL, GV$SQL_PLAN — RAC-aware, avec repli sur les V$ locales si besoin) : texte SQL, plans, binds/outline (OTHER_XML), efficacité. Si elles sont vides, l’application bascule sur l’historique : AWR (DBA_HIST_*, Diagnostic Pack) ou sw$bash_snapper (sans licence, ou en mode test force depuis le module Developer). À noter : sw$bash_snapper ne fournit que l’efficacité et l’historique de chargé — ni le texte SQL ni les plans / OTHER_XML.
Détail objet
Accessible en cliquant sur un nom d’objet dans les rapports.
- Métadonnées de l’objet (type, propriétaire, taille)
- Statistiques de segment (lectures, écritures, activité buffer)
- Informations d’index (si table)
- Détails de partitionnement
10. Correction SQL
Droit DBA requis sur la base sélectionnée.
Depuis la page de détail d’un SQL ID, trois actions de correction sont disponibles :
graph LR A[Detail SQL] --> B[SQL Profile] A --> C[SQL Patch] A --> D[SQL Plan Baseline] B --> E[DBMS_SQLTUNE.\nIMPORT_SQL_PROFILE] C --> F[DBMS_SQLDIAG.\nCREATE_SQL_PATCH] D --> G[DBMS_SPM.\nLOAD_PLANS_FROM_CURSOR_CACHE]
SQL Profile
Figé un plan d’exécution via un ensemble de hints (directives outline).
- Nom : libre (max 128 caractères)
- Catégorie : DEFAULT par défaut
- Force : remplacer si un profil du même nom existe déjà
- Package :
DBMS_SQLTUNE.IMPORT_SQL_PROFILE
SQL Patch (12c+)
Injecte un bloc de hints sur un SQL ID sans modifier le code SQL.
- SQL ID : pré-rempli
- Hint : texte libre (ex.
/*+ PARALLEL(4) */) - Nom : libre (max 128 caractères)
- Package :
DBMS_SQLDIAG.CREATE_SQL_PATCH
SQL Plan Baseline
Chargé un plan depuis le cursor cache et le valide comme baseline.
- SQL ID et Plan Hash Value : pré-remplis
- Package :
DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE
Les profils et patches existants peuvent être supprimés depuis la même interface.

11. Questions fréquentes
Je ne vois aucune base sur la page d’accueil. Aucune base ne vous est attribuée, ou le module n’est pas actif. Demandez à un oracle_admin de vous donner accès aux groupes concernés.
Un rapport historique (ASH/AWR) reste vide ou affiche un avertissement de licence. La base ne dispose pas du Diagnostic Pack. Si sw$bash_snapper est installé sur cette base, l’application bascule automatiquement sur les tables SW$BASH_* (voir section Diagnostics).
Le bouton « Kill Session » ou les actions de correction SQL n’apparaissent pas. Ces actions exigent le droit DBA sur la base sélectionnée (ou le rôle oracle_admin).
Le nom de la base sélectionnée à disparu de la barre de navigation. La sélection est liée à votre session ; resélectionnez une base depuis la page d’accueil.
Les entrées « Restore points » et « Piste d’audit » n’apparaissent pas dans le menu Configuration. Elles ne sont visibles qu’avec le droit DBA sur la base sélectionnée, ou avec le rôle oracle_admin.
J’ai épinglé une page comme accueil, comment revenir au défaut ? Retournez sur cette page et recliquez le bouton flottant ★ en bas à droite : l’étoile se vide et vous revenez à la vue d’ensemble. Vous pouvez aussi rechoisir « Vue d’ensemble » dans Mon profil.
Le bouton « Définir comme accueil » n’apparaît pas sur certaines pages. Les pages qui dépendent d’un paramètre (détail d’un SQL, détail d’un objet, formulaires de rapports ASH/AWR/SQL Monitor) ne peuvent pas servir de page d’accueil : le bouton y est donc masqué.
Un rapport « SQL Monitor » refuse de se générer. Il requiert le Tuning Pack sur la base cible.
Après « Passer en auto-login », le wallet TDE reste en mode mot de passe. C’est normal : le keystore auto-login (cwallet.sso) est créé mais ne devient actif qu’au prochain redémarrage de l’instance (ou après fermeture / réouverture du keystore). Le dashboard peut donc afficher encore PASSWORD jusque-la.
Sur une requête en cours, les binds (valeurs peeked) sont vides. Le curseur n’a pas d’OTHER_XML et la base n’a pas de Diagnostic Pack : Oracle n’expose alors ces valeurs nulle part. Avec le Diagnostic Pack, l’application récupère l’OTHER_XML historique (AWR) du même plan.
