Access Network File System from Autonomous Database
You can attach a Network File System to a directory location in your Autonomous Database.
This allows you to load data from Oracle Cloud Infrastructure File Storage in your Virtual Cloud Network (VCN) or from any other Network File System in on-premises data centers. Depending on the version of the Network File System you want to access, both NFSv3 and NFSv4 are supported.
Supporting Network File System allows you to do the following:
-
Connect to an Autonomous Database instance from a legacy application and use the file system to load and unload data.
-
Analyze data from different sources in an Autonomous Database.
-
Secure access to data in an Autonomous Database from the file systems in an on-premises data center or Private Virtual Cloud Networks (VCNs).
Topics
- Attach Network File System to Autonomous Database
UseDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
to attach a file system to a directory in your Autonomous Database. - Detach Network File System from Autonomous Database
Use theDBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
procedure to detach a file system from a directory in your Autonomous Database. - Example: Set Up an NFSv4 Server on Oracle Cloud Compute
Provides an example for setting up an NSFv4 server for use with Autonomous Database. - DBA_CLOUD_FILE_SYSTEMS View
TheDBA_CLOUD_FILE_SYSTEMS
view lists information about the network file system attached to a directory location in the database.
Parent topic: Creating and Managing Directories on Autonomous Database
Attach Network File System to Autonomous Database
Use DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
to attach a file
system to a directory in your Autonomous Database.
With an attached file system you can load data from any of the following:
-
Oracle Cloud Infrastructure File Storage in your Virtual Cloud Network (VCN).
See How to Attach a File System to your Autonomous Database for details on setting up Oracle Cloud Infrastructure File Storage with Autonomous Database.
-
From a Network File System in an on-premises data center. Depending on the version of the Network File System you want to access, both NFSv3 and NFSv4 are supported.
See Example: Set Up an NFSv4 Server on Oracle Cloud Compute for a configuration example with an NFSv4 Network File System.
The
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
procedure can only attach a private
File Storage Service when the Autonomous Database
instance is on a private endpoint.
To access data in an Autonomous Database from the file systems in an on-premises data center you must set up FastConnect or a Site-to-Site VPN to connect to the on-premises data center. See FastConnect and Site-to-Site VPN for more information.
After you attach a file system you can query the
DBA_CLOUD_FILE_SYSTEMS
view to retrieve information about the attached
file system.
For example:
SELECT file_system_name, file_system_location, directory_path
FROM dba_cloud_file_systems
WHERE file_system_name = 'FSS';
This query returns details for the FSS
file system name.
See DBA_CLOUD_FILE_SYSTEMS View for more information.
With an attached file system you can read and write to files on an attached file system using any PL/SQL API that accepts a directory name. For example, you can use any of the following methods to work with an attached NFS directory:
-
The
UTL_FILE
package. -
Data Pump Export and Import utilities.
-
The
DBMS_CLOUD
APIs that work with directories such asDBMS_CLOUD.LIST_FILES
andDBMS_CLOUD.PUT_OBJECT
.
Example showing a write a file on an attached file system using
UTL_FILE
:
DECLARE
l_file UTL_FILE.FILE_TYPE;
l_location VARCHAR2(100) := 'FSS_DIR';
l_filename VARCHAR2(100) := 'test.csv';
BEGIN
-- Open the file.
l_file := UTL_FILE.FOPEN(l_location, l_filename, 'w');
UTL_FILE.PUT(l_file, 'Scott, male, 1000');
-- Close the file.
UTL_FILE.FCLOSE(l_file);
END;
/
Example showing a read a file on an attached file system using
UTL_FILE
:
DECLARE
l_file UTL_FILE.FILE_TYPE;
l_location VARCHAR2(100) := 'FSS_DIR';
l_filename VARCHAR2(100) := 'test.csv';
l_text VARCHAR2(32767);
BEGIN
-- Open the file.
l_file := UTL_FILE.FOPEN(l_location, l_filename, 'r');
UTL_FILE.GET_LINE(l_file, l_text, 32767);
-- Close the file.
UTL_FILE.FCLOSE(l_file);
END;
/
Example showing list files on an attached file system using DBMS_CLOUD.LIST_FILES
:
SELECT object_name FROM DBMS_CLOUD.LIST_FILES
('FSS_DIR');
Notes for using DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
:
-
Oracle Cloud Infrastructure File Storage uses NFSv3 to share. See Overview of File Storage for more information.
-
If you attach to non-Oracle Cloud Infrastructure File Storage systems, the procedure supports NFSv3 and NFSv4.
-
If you have an attached NFS server that uses NFSv3 and the NFS version is updated to NFSv4 in the NFS server, you must run
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
and thenDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
(using theparams
parameter withnfs_version
set to 4). This attaches NFS with the matching protocol so that Autonomous Database can access the NFSv4 Server. Without detaching and then reattaching, the NFS server will be inaccessible and you may see an error such as:"Protocol not supported"
.
Parent topic: Access Network File System from Autonomous Database
Detach Network File System from Autonomous Database
Use the DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
procedure to
detach a file system from a directory in your Autonomous Database.
The
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
procedure can only detach a private
File Storage Service from databases that are on private endpoints.
You must have WRITE
privilege on the directory object to
detach a file system from a directory location.
Run DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
procedure to detach a file
system from a directory location in your Autonomous Database. To run this procedure, you must be logged in as the ADMIN user or have the
EXECUTE
privilege on DBMS_CLOUD_ADMIN
.
For example:
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
(
file_system_name => 'FSS'
);
END;
/
This example detaches the network file system specified in the
file_system_name
parameter from the Autonomous Database. You must provide a value for this parameter.
The information about this file system is removed from the
DBA_CLOUD_FILE_SYSTEMS
view.
Parent topic: Access Network File System from Autonomous Database
Example: Set Up an NFSv4 Server on Oracle Cloud Compute
Provides an example for setting up an NSFv4 server for use with Autonomous Database.
Parent topic: Access Network File System from Autonomous Database
DBA_CLOUD_FILE_SYSTEMS View
The
DBA_CLOUD_FILE_SYSTEMS
view lists
information about the network file system attached to a directory
location in the database.
Column | Data Type | Description |
---|---|---|
FILE_SYSTEM_NAME |
VARCHAR2(128) |
File system name |
FILE_SYSTEM_LOCATION |
VARCHAR2(4000) |
File system location |
DIRECTORY_NAME |
VARCHAR2(128) |
Attached directory name |
DIRECTORY_PATH |
VARCHAR2(4000) |
Attached directory path |
NFS_VERSION |
NUMBER |
The NFS version. |
DESCRIPTION |
VARCHAR2(4000) |
The value provided for the description parameter when you run |
CREATION_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Creation timestamp |
UPDATE_TIME |
TIMESTAMP(6) WITH TIME ZONE |
Update timestamp |
Parent topic: Access Network File System from Autonomous Database