전용 Exadata 인프라의 Autonomous Database에 외부 파일 스토리지 연결
데이터베이스와 파일 시스템이 동일한 개인 네트워크에 있는 경우 Oracle Cloud Infrastructure 또는 온프레미스에 배포된 외부 파일 스토리지를 Autonomous Database에 연결할 수 있습니다. Autonomous Database on Dedicated Exadata Infrastructure는 기본적으로 NFSv4를 지원합니다.
이를 통해 VCN(가상 클라우드 네트워크)의 OCI 파일 스토리지 또는 온프레미스 데이터 센터의 다른 네트워크 파일 시스템에서 데이터를 로드할 수 있습니다.
- 레거시 애플리케이션에서 Autonomous Database 인스턴스에 접속하고 파일 시스템을 사용하여 데이터를 로드 및 언로드합니다.
- Autonomous Database에서 다양한 소스의 데이터를 분석합니다.
- 온프레미스 데이터 센터 또는 프라이빗 VCN의 파일 시스템에서 Autonomous Database의 데이터에 안전하게 액세스할 수 있습니다.
외부 파일 스토리지 요구사항
-
온프레미스 데이터 센터: 온프레미스 데이터 센터에 접속하도록 FastConnect 또는 사이트 간 VPN을 설정합니다. 자세한 내용은 FastConnect 및 Site-to-Site VPN을 참조하십시오.
-
Oracle Cloud Infrastructure
-
OCI FSS(파일 스토리지 서비스) 액세스에 대한 VCN(가상 클라우드 네트워크) 보안 규칙 생성: 파일 스토리지를 마운트하려면 특정 프로토콜 및 포트를 사용하여 마운트 대상의 VNIC에 대한 트래픽을 허용하도록 보안 규칙을 구성해야 합니다. 보안 규칙은 다음에 대한 트래픽을 사용으로 설정합니다.
- Open Network Computing Remote Procedure Call(ONC RPC) rpcbind 유틸리티 프로토콜
- NFS(Network File System) 프로토콜
- MOUNT(Network File System) 프로토콜
- NLM(Network Lock Manager) 프로토콜
자세한 내용은 파일 스토리지의 VCN 보안 규칙 구성을 참조하십시오.
- OCI FSS에서 파일 시스템 생성: OCI 콘솔을 사용하여 파일 시스템을 생성합니다. 파일 시스템에 대한 마운트 대상 세부정보를 구성할 때 데이터베이스가 배치된 VCN의 VCN 및 프라이빗 서브넷을 선택하고 FQDN(전체 도메인 이름)을 자동으로 생성하는 호스트 이름을 제공합니다. 자세한 내용은 Creating File Systems를 참조하십시오.
- 마운트 대상에 대한 FQDN 가져오기: 마운트 대상의 세부정보를 보려면에 설명된 대로 OCI 콘솔에서 파일 시스템의 마운트 대상에 대한 세부정보를 확인하여 FQDN을 가져옵니다.
-
외부 파일 시스템 연결
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
를 사용하여 Autonomous Database의 디렉토리에 파일 시스템을 연결합니다.
주:
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
프로시저는 프라이빗 끝점에 있는 데이터베이스에만 프라이빗 파일 스토리지 서비스를 연결할 수 있습니다.
-
디렉토리를 생성하거나 기존 디렉토리를 사용하여 Autonomous Database에 외부 파일 시스템을 연결합니다. 파일 시스템을 데이터베이스의 디렉토리 위치에 연결하려면 Autonomous Database 인스턴스의 디렉토리 객체에 대한
WRITE
권한이 있어야 합니다.예를 들어, 다음 명령은FSS_DIR
이라는 데이터베이스 디렉토리를 생성하고fss
파일 시스템 디렉토리를 생성합니다.CREATE DIRECTORY FSS_DIR AS ‘fss’;
자세한 내용은 Create a Directory를 참조하십시오.
-
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
를 실행하여 Autonomous Database의 디렉토리에 파일 시스템을 연결합니다. 이 프로시저를 실행하려면 ADMIN 사용자로 로그인하거나DBMS_CLOUD_ADMIN
에 대한EXECUTE
권한이 있어야 합니다.-
기본적으로
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
는 NFSv3를 사용합니다. 그러나params
매개변수를 명시적으로 사용하고nfs_version
를 값 3과 함께 지정하여 NFSv3를 지정할 수 있습니다.BEGIN DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM ( file_system_name => 'FSS', file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results', directory_name => 'FSS_DIR', description => 'Source FSS for sales data' );END; /
-
NFSv4를 사용하려면
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
에params
매개변수를 포함하고nfs_version
를 값 4로 지정하여 NFSv4를 지정합니다.BEGIN DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM ( file_system_name => 'FSS', file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results', directory_name => 'FSS_DIR', description => 'Source FSS for sales data', params => JSON_OBJECT('nfs_version' value 4) ); END; /
이 예에서는
file_system_name
매개변수에 지정된 네트워크 파일 시스템을 Autonomous Database에 연결합니다.file_system_location
매개변수는 파일 시스템의 위치를 지정합니다.file_system_location
에 제공한 값은 FQDN(전체 도메인 이름) 및 FQDN:
file_path 형식의 파일 경로로 구성됩니다. 예:-
- FQDN:
myhost.sub000445.myvcn.oraclevcn.com
- 파일 경로:
/results
- FQDN:
directory_name
매개변수는 파일 시스템을 연결할 Autonomous Database의 디렉토리 이름을 지정합니다. 이것은 1단계에서 생성한 디렉토리이거나 이전에 생성한 다른 디렉토리입니다.description
매개변수는 작업에 대한 설명을 지정합니다. -
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
사용에 대한 참고 사항:
-
Oracle Cloud Infrastructure File Storage는 NFS 버전 3을 사용하여 공유합니다. 자세한 내용은 파일 스토리지 개요를 참조하십시오.
- Oracle Cloud Infrastructure가 아닌 파일 스토리지 시스템에 연결하는 경우 이 절차에서는 NFSv3 및 NFSv4를 지원합니다.
-
NFSv3를 사용하는 연결된 NFS 서버가 있고 NFS 서버에서 NFS 버전이 NFSv4로 업데이트된 경우
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
,DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
를 차례로 실행해야 합니다(nfs_version
가 4로 설정된params
매개변수 사용). 그러면 Autonomous Database가 NFSv4 서버에 액세스할 수 있도록 일치하는 프로토콜을 사용하여 NFS가 연결됩니다. 분리한 후 다시 연결하지 않으면 NFS 서버에 액세스할 수 없으며"Protocol not supported"
과 같은 오류가 표시될 수 있습니다.
DBA_CLOUD_FILE_SYSTEMS 질의
파일 시스템을 연결한 후 DBA_CLOUD_FILE_SYSTEMS
뷰를 질의하여 연결된 파일 시스템에 대한 정보를 검색할 수 있습니다.
SELECT file_system_name, file_system_location, directory_path
FROM dba_cloud_file_systems
WHERE file_system_name = 'FSS';
이 질의는 FSS
파일 시스템 이름에 대한 세부정보를 반환합니다. 자세한 내용은 DBMS_CLOUD_FILE_SYSTEMS 뷰를 참조하십시오.
연결된 파일 시스템을 사용하면 디렉토리 이름을 허용하는 모든 PL/SQL API를 사용하여 연결된 파일 시스템의 파일을 읽고 쓸 수 있습니다. 예를 들어, 다음 방법 중 하나를 사용하여 연결된 FSS 디렉토리로 작업할 수 있습니다.
-
UTL_FILE
패키지입니다. -
Data Pump 익스포트 및 임포트 유틸리티
-
DBMS_CLOUD.LIST_FILES
및DBMS_CLOUD.PUT_OBJECT
와 같은 디렉토리와 함께 작동하는DBMS_CLOUD
API입니다.
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;
/
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;
/
DBMS_CLOUD.LIST_FILES
를 사용하는 연결된 파일 시스템의 목록 파일을 보여주는 예:SELECT object_name FROM DBMS_CLOUD.LIST_FILES('FSS_DIR');
DBMS_CLOUD_FILE_SYSTEMS 보기
DBA_CLOUD_FILE_SYSTEMS
뷰는 데이터베이스의 디렉토리 위치에 연결된 외부 파일 시스템에 대한 정보를 나열합니다.
열 | 데이터 유형 | 설명 |
---|---|---|
FILE_SYSTEM_NAME |
VARCHAR2(128) |
파일 시스템 이름 |
FILE_SYSTEM_LOCATION |
VARCHAR2(4000) |
파일 시스템 위치 |
DIRECTORY_NAME |
VARCHAR2(128) |
첨부된 디렉터리 이름 |
DIRECTORY_PATH |
VARCHAR2(4000) |
연결된 디렉토리 경로 |
NFS_VERSION |
NUMBER |
NFS 버전 |
DESCRIPTION |
VARCHAR2(4000) |
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM 를 실행할 때 설명 매개변수에 대해 제공된 값 |
CREATION_TIME |
TIMESTAMP(6) WITH TIME ZONE |
생성 시간기록 |
UPDATE_TIME |
TIMESTAMP(6) WITH TIME ZONE |
시간 기록 업데이트 |
외부 파일 시스템 분리
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
프로시저를 사용하여 Autonomous Database의 디렉토리에서 파일 시스템을 분리합니다.
주:
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
프로시저는 프라이빗 끝점에 있는 데이터베이스에서만 프라이빗 파일 스토리지 서비스를 분리할 수 있습니다.
디렉토리 위치에서 파일 시스템을 분리하려면 디렉토리 객체에 대한 WRITE
권한이 있어야 합니다.
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
프로시저를 실행하여 Autonomous Database의 디렉토리 위치에서 파일 시스템을 분리합니다. 이 프로시저를 실행하려면 ADMIN 사용자로 로그인하거나 DBMS_CLOUD_ADMIN
에 대한 EXECUTE
권한이 있어야 합니다.BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'FSS'
);END;
/
이 예에서는 file_system_name
매개변수에 지정된 네트워크 파일 시스템을 Autonomous Database에서 분리합니다. 이 매개변수에 대한 값을 제공해야 합니다. 이 파일 시스템에 대한 정보가 DBA_CLOUD_FILE_SYSTEMS
뷰에서 제거됩니다.
자세한 내용은 DETACH_FILE_SYSTEM Procedure를 참조하십시오.