Dba directories

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic
Domaine Administration (dictionnaire de données)
Voir aussi Dba files all

Dba_directories liste l'ensemble des objets DIRECTORY Oracle définis dans la base (utilisés par UTL_FILE, les Data Pump, BFILE, etc.), avec leur propriétaire et le chemin système associé, à partir de la vue DBA_DIRECTORIES.

Utile pour un audit rapide : savoir quels répertoires du système de fichiers sont exposés à la base, et par qui ils ont été créés.

Script

SET TERMOUT OFF
COLUMN current_instance NEW_VALUE current_instance NOPRINT
SELECT RPAD(instance_name, 17) current_instance FROM v$instance;
SET TERMOUT ON

PROMPT
PROMPT +------------------------------------------------------------------------+
PROMPT | Rapport   : Objets DIRECTORY Oracle                                    |
PROMPT | Instance  : &current_instance                                         |
PROMPT +------------------------------------------------------------------------+

SET ECHO      OFF
SET FEEDBACK  6
SET HEADING   ON
SET LINESIZE  180
SET PAGESIZE  50000
SET VERIFY    OFF

CLEAR COLUMNS
CLEAR BREAKS
CLEAR COMPUTES

COLUMN owner          FORMAT a10 HEADING 'Propriétaire'
COLUMN directory_name FORMAT a30 HEADING 'Nom du DIRECTORY'
COLUMN directory_path FORMAT a85 HEADING 'Chemin système'

SELECT
    owner
  , directory_name
  , directory_path
FROM
    dba_directories
ORDER BY
    owner
  , directory_name
/

Colonnes / sortie

  • Propriétaire : généralement SYS, sauf si un utilisateur avec le privilège CREATE ANY DIRECTORY en a créé un lui-même.
  • Chemin système : chemin absolu côté serveur — à vérifier qu'il correspond bien à un répertoire existant et aux bons droits pour l'utilisateur Oracle.

Point de vigilance sécurité : un objet DIRECTORY pointant vers un chemin sensible (racine, répertoire de configuration) combiné à des privilèges READ/WRITE mal maîtrisés peut constituer un vecteur d'exfiltration ou d'écriture arbitraire ; pensez à croiser cette liste avec DBA_TAB_PRIVS sur le type d'objet DIRECTORY.

Voir aussi

  • Dba files all — inventaire des fichiers physiques réellement utilisés par la base.