Création d'un répertoire dans Autonomous Database

Pour créer des répertoires, exécutez la commande de base de données CREATE DIRECTORY. Avec CREATE DIRECTORY, vous indiquez le chemin en tant que chemin relatif du nouveau répertoire.

CREATE DIRECTORY crée l'objet de répertoire de base de données et le répertoire de système de fichiers s'il n'existe pas déjà. Si le répertoire de système de fichiers existe, CREATE DIRECTORY crée uniquement l'objet de répertoire de base de données. Par exemple, la commande suivante crée le répertoire de base de données nommé staging et le répertoire de système de fichiers stage :

CREATE DIRECTORY staging AS 'stage';

Vous pouvez également créer des sous-répertoires. Par exemple, la commande suivante crée l'objet de répertoire de base de données sales_staging et le répertoire de système de fichiers stage/sales :

CREATE DIRECTORY sales_staging AS 'stage/sales';

Lorsque vous créez des sous-répertoires, vous n'avez pas besoin de créer le répertoire de système de fichiers initial. Par exemple, dans la commande précédente, si le répertoire stage n'existe pas, la commande CREATE DIRECTORY crée les répertoires stage et stage/sales.

Pour ajouter un répertoire, vous devez disposer du privilège système CREATE ANY DIRECTORY. Le privilège système CREATE ANY DIRECTORY est accordé à l'utilisateur ADMIN. L'utilisateur ADMIN peut accorder le privilège système CREATE ANY DIRECTORY à d'autres utilisateurs.

Pour plus d'informations, reportez-vous à CREATE DIRECTORY.

Remarque

  • CREATE DIRECTORY crée l'objet de répertoire dans la base de données, ainsi que le répertoire du système des fichiers. Par exemple, le chemin du répertoire peut être :
    /u03/dbfs/7C149E35BB1000A45FD/data/stage
  • Vous pouvez créer un répertoire dans le système de fichiers racine pour afficher tous les fichiers à l'aide des commandes suivantes :

    CREATE OR REPLACE DIRECTORY ROOT_DIR AS '';

    Après avoir créé le répertoire ROOT_DIR, utilisez la commande suivante pour répertorier tous les fichiers :

    SELECT * FROM DBMS_CLOUD.list_files('ROOT_DIR');

    Pour exécuter DBMS_CLOUD.LIST_FILES avec un utilisateur autre qu'ADMIN, vous devez lui accorder des privilèges de lecture sur le répertoire. Pour plus d'informations, reportez-vous à Fonction LIST_FILES.

  • L'espace dans le système de fichiers alloué aux répertoires que vous créez et à leur contenu fait partie de votre allocation de stockage. Reportez-vous à Présentation du tableau de bord de base de données pour visualiser l'espace total alloué.