Guide utilisateur Oracle

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ôleAccès
oracle_userConsultation des rapports sur les bases autorisées
oracle_adminToutes 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).

listeBDD

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-groupeUsage
devDéveloppement
homolHomologation
perfTests de performance
pré-prodPré-production
prodProduction
secoursSite 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).

ActiveSess

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.

Locks

  • 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.

heatmaps

Graphique empilé : activité horaire par classe d’attente (CPU, User I/O, System I/O, Cluster, Other).

Heatmaps (matrices jour x heure) — trois cartes :

HeatmapDonnée
ChargéActivité ASH totale
I/OI/O utilisateur + système
ApplicationBascules 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.

ModeCe qu’il faitQuand le préférer
linLa teinte est proportionnelle au nombre d’échantillonsChargé homogène : on veut voir les proportions réelles
logDétaillé le bas de l’échelleQuelques 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.

ASH

Filtres disponibles : SQL ID, classe d’attente, événement, utilisateur, état de session.

Granularité adaptive :

PlageGranularité
< 2h10 secondes
2-12h1 minute
12h-7j10 minutes
> 7j1 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)

Parameters

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.

TS

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

TS

  • Membres de redo : chemin des fichiers, statut

TS

Mémoire

  • SGA : composants, tailles, redimensionnabilité

SGA

  • PGA : statistiques courantes et maximales

SGA

  • 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.

rations

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

AlertLog

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.

cfgStats

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).

cfgSQLTune

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) :

ActionDescription
InstallerCrée les tables SW$BASH_* et le package SW$BASH_SNAPPER
DémarrerLance les jobs DBMS_SCHEDULER d’échantillonnage (1 par instance RAC)
ArrêterArrêt gracieux du collecteur
PurgerSupprime les données historiques plus anciennes que N jours
DésinstallerSupprime tous les objets et jobs

Paramètres configurables :

ParamètreDéfautDescription
sample_every_n_centiseconds100 (1s)Intervalle d’échantillonnage
persist_every_n_samples10Flush actif -> historique
max_entries_kept30 000Taille du buffer circulaire
hist_days_to_keep93Rétention historique (jours)
snapshot_every_n_samples3 600 (1h)Fréquence des mini-snapshots AWR

snapper


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.

backups

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

sysstats

  • Historique des collectes : 50 derniers GATHER avec tables/schémas

concernés

sysstats

  • 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)

stats

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.

dashWallet


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)

Monitor

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

AWR

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 :

  1. Plans d’exécution : tous les child cursors, plan hash values,

rendu graphique en arbre

  1. Détails du plan : opérations, coûts, cardinalité, valeurs de bind

peeked, hints outline, profil SQL applique

SQLPlan

  1. Historique d’exécution (Diagnostic Pack) : statistiques AWR par

plan hash — exécutions, temps écoulé, CPU, buffer gets, disk reads

SQLPlan

  1. 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.

FixPlan


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.