创建目录

要创建目录,请使用数据库 CREATE DIRECTORY 命令。使用 CREATE DIRECTORY 可以将路径指定为新目录的相对路径。

CREATE DIRECTORY 创建数据库目录对象,并创建文件系统目录(如果尚不存在)。如果文件系统目录存在,则 CREATE DIRECTORY 仅创建数据库目录对象。例如,以下命令创建名为 staging 的数据库目录并创建文件系统目录 stage

CREATE DIRECTORY staging AS 'stage';

还可以创建子目录。例如,以下命令创建数据库目录对象 sales_staging 和文件系统目录 stage/sales

CREATE DIRECTORY sales_staging AS 'stage/sales';

创建子目录时,不必创建初始文件系统目录。例如,在前面的示例中,如果目录 stage 不存在,则 CREATE DIRECTORY 命令将同时创建目录 stagestage/sales

要添加目录,您必须具有 CREATE ANY DIRECTORY 系统权限。ADMIN 用户被授予 CREATE ANY DIRECTORY 系统权限。ADMIN 用户可以向其他用户授予 CREATE ANY DIRECTORY 系统权限。

有关详细信息,请参阅 Oracle Database 19c SQL Language Reference 中的 CREATE DIRECTORYOracle Database 23ai SQL Language Reference

注意:

  • CREATE DIRECTORYAutonomous Database 中创建数据库目录对象,并创建文件系统目录。

  • 可以使用以下命令在根文件系统中创建目录来查看所有文件:

    CREATE OR REPLACE DIRECTORY ROOT_DIR AS '';

    创建 ROOT_DIR 目录后,使用以下命令列出所有文件:

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

    要对 ADMIN 以外的用户运行 DBMS_CLOUD.LIST_FILES ,您需要向该用户授予对该目录的读取权限。有关更多信息,请参见 LIST_FILES Function

  • 您创建的目录及其内容使用的空间是数据库的数据存储分配的一部分。