了解如何将文件系统连接到 Oracle Autonomous Database

简介

Oracle Cloud Infrastructure (OCI) File Storage 是一个完全托管的弹性文件系统,支持网络文件系统 (NFS) 协议。它提供了共享的可扩展文件存储,可以由虚拟云网络 (Virtual Cloud Network,VCN) 中的多个计算实例和数据库系统并发挂载。Oracle Autonomous Database 由 Autonomous Data Warehouse (ADW) 和 Autonomous Transaction Processing (ATP) 组成,是 Oracle 的全托管数据库平台,可自动执行供应、调优、扩展、打补丁和备份。虽然 Autonomous Database 不提供 OS 级别的文件系统直接访问,但某些部署配置(例如 Oracle Autonomous Database on Dedicated Exadata Infrastructure 或具有专用端点的 Autonomous Database)允许通过专用 VCN 与 File Storage 集成。通过将文件存储附加到 Autonomous Database,可以:

目标

本文档概述了使用专用端点将 OCI File Storage Service 与 Oracle Autonomous Data Warehouse (ADW) 或 Autonomous Transaction Processing (ATP) 集成的过程和注意事项。目标是:

Prerequisites

在将 OCI File Storage 连接到 Autonomous Database (ADW/ATP) 之前,请确保满足以下要求:

服务和部署要求

部署了以下任一功能的 Autonomous Database:

必须在与 Autonomous Database 相同的区域中预配文件存储。

网络要求

VCN 和子网配置:
Autonomous Database 和文件存储挂载目标必须位于同一 VCN/子网中,或者通过 VCN 对等连接。

安全规则/NSG:
允许 Autonomous Database 与 File Storage 装载目标之间的入站和出站 NFS 流量:

DNS 解析:
确保启用了专用 DNS,以便可以从 Autonomous Database 解析文件存储挂载目标的 FQDN。

IAM 权限

您必须具有以下 OCI 权限:

您必须具有以下数据库级别权限:

工具和访问

您必须有权访问以下工具:

开始之前要收集的信息

任务

在以下任务中,您将配置并验证文件存储与部署有专用端点访问权限的 Autonomous Database (ADW/ATP) 之间的集成。

下面是操作步骤:

  1. 仅使用专用端点访问预配 OCI ADW
  2. 创建用于文件存储访问的 VCN 安全规则
  3. 在 File Storage 中创建文件系统
  4. 获取挂载目标的全限定域名 (FQDN)
  5. 将文件系统附加到 Autonomous Database
  6. 查询 DBA_CLOUD_FILE_SYSTEMS
  7. 通过 UTL_FILE 创建并写入文件
  8. 列出附加的文件系统中的文件并通过 UTL_FILE 读取文件

任务 1:预配 Autonomous Database

在相应的 VCN 和子网中创建具有专用端点的 ADW 实例。

图中显示了如何使用专用端点创建 ADW 实例

任务 2:配置网络安全性

创建或更新 VCN 安全列表或网络安全组,以允许 Autonomous Database 子网与 File Storage 装载目标子网之间的 NFS 协议流量。

通过在 VCN 的安全列表中添加一些入站和出站规则,为文件存储访问创建 VCN 安全规则,以便您的 Autonomous Database 和文件系统可以相互通信。

从源 CIDR 块中的所有端口有状态入站到 TCP 端口 111、2048、2049 和 2050。
从源 CIDR 块中的所有端口有状态入站到 UDP 端口 111 和 2048。
从 TCP ALL 端口有状态出站到目标 CIDR 块中的端口 111、2048、2049 和 2050。
从 UDP ALL 端口有状态出站到目标 CIDR 块中的端口 111。
确保服务网关可用

图中显示了 VCN 详细信息
图中显示了入站规则
图中显示了出站规则

任务 3:预配 OCI 文件存储

在“File Storage(文件存储)”中创建文件系统。
主页 -> 存储 -> 文件存储 -> 文件系统 -> 在 OCI 控制台中为 NFS 创建文件系统。
确保装载目标与 Autonomous Database 的 VCN 和子网相同。

在同一 VCN 或对等 VCN 中创建文件系统和挂载目标。 图中显示了如何在同一 VCN 或对等 VCN 中创建文件系统和挂载目标

主页 -> 存储 -> 文件存储 -> 在 OCI 控制台中装载目标。

配置装载目标的导出设置。
图中显示了导出

任务 4:获取装载目标详细信息

检索挂载目标的全限定域名 (FQDN) 和导出路径。

OCI 控制台中的 "File Storage"(文件存储)-> "Mount Targets"(装载目标)-> <yourMountTargetName>,并获取 FQDN,如下所示:

图中显示了如何检索挂载目标的全限定域名 (FQDN) 和导出路径

任务 5:将文件系统连接到 Autonomous Database

  CREATE DIRECTORY FSS_DIR AS 'fss';

  BEGIN
    DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(
      file_system_name => 'FileSystemTest',
      file_system_location => 'test.sub04171438361.oracledatabase2.oraclevcn.com:/  FileSystem-20250801-1113-05',
     directory_name => 'FSS_DIR',
      description => 'attach OCI file system'
    );
  END;
  /

使用 DBMS_CLOUD_ADMIN.CREATE_FILE_SYSTEM 将文件存储挂载到 Autonomous Database。 图中显示了如何将文件系统连接到 Autonomous Database

任务 6:验证文件系统附件

查询 DBA_CLOUD_FILE_SYSTEMS 以确认文件系统已成功挂载。

SELECT file_system_name, file_system_location, directory_path FROM dba_cloud_file_systems;

图中显示了如何验证文件系统附件

任务 7:执行文件操作

创建指向文件存储的目录对象并使用 UTL_FILE.PUT_LINE 写入文件。

(您可以创建名为 channel.csv 的文件并将其写入:)

DECLARE
  l_file         UTL_FILE.file_type;
  l_location     VARCHAR2(100) := 'FSS_DIR';
  l_filename     VARCHAR2(100) := 'channel.csv';
BEGIN
  -- Open file.
  l_file := UTL_FILE.fopen(l_location, l_filename, 'w');
   
  UTL_FILE.PUT(l_file, 'Catalog, Indirect, 12');
 
  -- Close the file.
  UTL_FILE.fclose(l_file);
END;
/

使用 DBMS_CLOUD.LIST_FILES 列出文件。

SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');

使用 UTL_FILE.GET_LINE 读取文件内容。

DECLARE
  l_file         UTL_FILE.file_type;
  l_location     VARCHAR2(100) := 'FSS_DIR';
  l_filename     VARCHAR2(100) := 'channel.csv';
  l_text         VARCHAR2(32767);
BEGIN
  -- Open file.
  l_file := UTL_FILE.fopen(l_location, l_filename, 'r');
 
 UTL_FILE.GET_LINE(l_file, l_text, 32767);
 DBMS_OUTPUT.put_line(l_text);

  -- Close the file.
  UTL_FILE.fclose(l_file);
END;
/

任务 8:文档限制和限制

获取 OCI File Storage 与 Oracle Autonomous Database 的支持配置、服务限制和已知限制。

密钥确认

仅当:

ADW 在与文件存储相同的 VCN/子网中有一个专用端点,或者通过 VCN 对等连接。

安全列表/NSG 允许 NFS 端口。

您使用的是基于专用基础设施的 Oracle Autonomous Database,或与专用端点共享的 Oracle Autonomous Database + OCI File Storage 支持。

DBA_CLOUD_FILE_SYSTEMS 将在成功连接后显示挂载的文件存储。

仅在附加的文件系统或批准的目录上启用 UTL_FILE

限制和限制

部署限制

Autonomous Database Shared –公共端点不支持。OCI 文件存储只能挂载在具有专用端点和正确 VCN 访问的 Oracle Autonomous Database on Dedicated Exadata Infrastructure 或 Oracle Autonomous Database 中。Autonomous Database 必须与文件存储装载目标位于同一 VCN(或对等 VCN)中。

网络约束

NFS 流量(TCP 111、2048 – 2050、2049)必须在 Autonomous Database 子网和 File Storage 子网之间的两个方向都允许。如果使用 VCN 对等连接,安全规则必须允许 NFS 端口与对等连接。必须启用 DNS 解析,Autonomous Database 才能解析挂载目标的 FQDN。无法通过互联网网关访问文件存储—您必须使用专用路由。

文件系统限制

未从 Autonomous Database 提供根访问;操作以数据库 OS 用户身份完成。不能挂载超过 Oracle 定义的文件系统最大数量(因服务级别而异)。路径长度和文件名必须符合 NFS 和 Oracle 限制(通常每个文件名不超过 255 个字符)。

数据库限制

UTL_FILE 操作仅限于通过 DBMS_CLOUD_ADMIN.CREATE_DIRECTORY_IN_FILE_SYSTEM 创建的列入白名单的目录。您无法手动更改 NFS 挂载点—它由 Oracle 管理。无操作系统级访问—所有文件访问都必须通过 SQL、PL/SQL(UTL_FILEDBMS_CLOUD)或 SQL Developer 等工具进行。文件 I/O 性能取决于 VCN 带宽限制和文件存储性能层。

操作限制

如果删除或导出文件存储装载目标,则在重新配置之前,Autonomous Database 中的装载将变得不可用。无直接 chmod/chown 操作—权限由 OCI 控制台中的导出选项管理。最大文件大小受文件存储服务限制(每个文件系统至多 8 EiB 个,但 NFS 客户机限制必须支持单个文件)。高可用性取决于可用性域中的多个挂载目标— Autonomous Database 不会自动对文件存储进行故障转移。

使用 Oracle Autonomous Database Serverless 中的 Attach Network File System to Autonomous Database

确认

更多学习资源

通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心