了解如何将文件系统连接到 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,可以:
- Autonomous Database 与同一 VCN 中的其他 OCI 资源之间的共享文件访问。
- 暂存和交换用于 ETL、分析或批处理的数据文件。
- 将归档和输出直接记录到持久的托管文件存储中。
目标
本文档概述了使用专用端点将 OCI File Storage Service 与 Oracle Autonomous Data Warehouse (ADW) 或 Autonomous Transaction Processing (ATP) 集成的过程和注意事项。目标是:
- 预配安全的 Autonomous Database:部署具有专用端点访问权限的 Autonomous Database,确保通过安全的专用网络与 File Storage 进行所有通信。
- 为 NFS 访问启用网络连接:配置 VCN 安全列表或网络安全组,以允许在 Autonomous Database 和 File Storage 之间使用所需的 NFS 端口。
- 预配和配置文件存储:在 Autonomous Database 所在的 VCN/子网(或对等网络)中创建文件系统并挂载目标。
- 将文件存储附加到 Autonomous Database:使用支持的 OCI 和数据库命令将文件系统挂载到 Autonomous Database。
- 验证文件系统附件:查询
DBA_CLOUD_FILE_SYSTEMS以确认附件成功。 - 从数据库执行文件操作:在附加的文件系统中创建目录,使用 PL/SQL 程序包(例如
UTL_FILE和DBMS_CLOUD)写入、读取和列出文件。 - 了解限制和限制:记录将 File Storage 与 Autonomous Database 结合使用的服务、网络和操作约束。
Prerequisites
在将 OCI File Storage 连接到 Autonomous Database (ADW/ATP) 之前,请确保满足以下要求:
服务和部署要求
部署了以下任一功能的 Autonomous Database:
- 已启用专用端点
- 在 Oracle Autonomous Database on Dedicated Exadata Infrastructure 上托管
必须在与 Autonomous Database 相同的区域中预配文件存储。
网络要求
VCN 和子网配置:
Autonomous Database 和文件存储挂载目标必须位于同一 VCN/子网中,或者通过 VCN 对等连接。
安全规则/NSG:
允许 Autonomous Database 与 File Storage 装载目标之间的入站和出站 NFS 流量:
TCP 111(Portmapper)TCP/UDP 2048–2050(与 NFS 相关的守护进程)TCP 2049(NFS)
DNS 解析:
确保启用了专用 DNS,以便可以从 Autonomous Database 解析文件存储挂载目标的 FQDN。
IAM 权限
您必须具有以下 OCI 权限:
- 管理自治数据库
- 管理文件存储系列
- 管理虚拟网络资源
您必须具有以下数据库级别权限:
- Autonomous Database 中的 ADMIN 用户(运行
DBMS_CLOUD_ADMIN过程)
工具和访问
您必须有权访问以下工具:
- 用于资源创建/配置的 OCI 控制台访问。
- SQL 客户机访问(SQL Developer、SQL*Plus 或 SQLcl)以管理身份进行连接。
- Autonomous Database 中提供了
DBMS_CLOUD_ADMIN程序包。
开始之前要收集的信息
- 文件存储的装载目标 FQDN
- ADB 和文件存储的子网详细信息
- 在文件存储中为文件系统配置的任何导出路径
任务
在以下任务中,您将配置并验证文件存储与部署有专用端点访问权限的 Autonomous Database (ADW/ATP) 之间的集成。
下面是操作步骤:
- 仅使用专用端点访问预配 OCI ADW
- 创建用于文件存储访问的 VCN 安全规则
- 在 File Storage 中创建文件系统
- 获取挂载目标的全限定域名 (FQDN)
- 将文件系统附加到 Autonomous Database
- 查询
DBA_CLOUD_FILE_SYSTEMS - 通过
UTL_FILE创建并写入文件 - 列出附加的文件系统中的文件并通过
UTL_FILE读取文件
任务 1:预配 Autonomous Database
在相应的 VCN 和子网中创建具有专用端点的 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。
确保服务网关可用



任务 3:预配 OCI 文件存储
在“File Storage(文件存储)”中创建文件系统。
主页 -> 存储 -> 文件存储 -> 文件系统 -> 在 OCI 控制台中为 NFS 创建文件系统。
确保装载目标与 Autonomous Database 的 VCN 和子网相同。
在同一 VCN 或对等 VCN 中创建文件系统和挂载目标。 
主页 -> 存储 -> 文件存储 -> 在 OCI 控制台中装载目标。
配置装载目标的导出设置。

任务 4:获取装载目标详细信息
检索挂载目标的全限定域名 (FQDN) 和导出路径。
OCI 控制台中的 "File Storage"(文件存储)-> "Mount Targets"(装载目标)-> <yourMountTargetName>,并获取 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。 
任务 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_FILE、DBMS_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
确认
- 作者 — Aditya Srivastawa(首席云架构师)
更多学习资源
通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。