전용 Exadata 인프라의 Autonomous Database에 네트워크 파일 스토리지 연결
데이터베이스와 파일 시스템이 동일한 개인 네트워크에 있는 경우 NFS(네트워크 파일 스토리지) 공유를 Autonomous Database에 연결할 수 있습니다. Autonomous Database on Dedicated Exadata Infrastructure는 기본적으로 NFSv4를 지원합니다.
- 매우 안전한 방식으로 다른 데이터베이스의 매우 민감한 데이터를 Exadata Cloud@Customer의 Autonomous Database로 로드합니다.
- 여러 Exadata Cloud@Customer 배포 안팎으로 데이터를 이동하여 공급업체 데이터, 내보내기 덤프 및 기타 비즈니스 프로세스를 원활하게 수행할 수 있습니다.
- NFS 마운트 지점을 사용하여 Autonomous Database를 복제하여 생성된 데이터베이스 복제.
- 기본 데이터베이스가 NFS 공유에 연결된 자율운영 Data Guard 설정에서 복구 또는 전환 작업 후 기본 롤을 맡은 대기 데이터베이스입니다.
네트워크 파일 시스템 요구 사항
- 고객이 제공한 NFS는 자율운영 VM 클러스터 노드에서 네트워크에 액세스할 수 있습니다.
- NFS 마운트된 파일 시스템은 모든 자율운영 VM 클러스터 노드에서
oracle
운영체제 사용자가 읽고 쓸 수 있습니다. - 사용자 레벨에서 권한을 제어하는 경우 자율운영 VM 클러스터에 대한
oracle
사용자의 uid:gid는 1001:1001입니다.
네트워크 파일 시스템 연결
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
를 사용하여 Autonomous Database의 디렉토리에 파일 시스템을 연결합니다.
주:
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
프로시저는 Autonomous Database 인스턴스가 프라이빗 끝점에 있을 때만 프라이빗 파일 스토리지 서비스를 연결할 수 있습니다.
-
디렉토리를 생성하거나 기존 디렉토리를 사용하여 Autonomous Database에 외부 파일 시스템을 연결합니다. 파일 시스템을 데이터베이스의 디렉토리 위치에 연결하려면 Autonomous Database 인스턴스의 디렉토리 객체에 대한
WRITE
권한이 있어야 합니다.예를 들어, 다음 명령은NFS_DIR
이라는 데이터베이스 디렉토리를 생성하고nfs
파일 시스템 디렉토리를 생성합니다.CREATE DIRECTORY NFS_DIR AS ‘nfs’;
자세한 내용은 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 => 'NFS', file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results', directory_name => 'NFS_DIR', description => 'Source NFS 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 => 'NFS', file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results', directory_name => 'NFS_DIR', description => 'Source NFS 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
directory_name
매개변수는 파일 시스템을 연결할 Autonomous Database의 디렉토리 이름을 지정합니다. 이것은 1단계에서 생성한 디렉토리이거나 이전에 생성한 다른 디렉토리입니다.description
매개변수는 작업에 대한 설명을 지정합니다.params
매개변수는 3 또는 4(NFSv3 또는 NFSv4)일 수 있는 추가 속성nfs_version
를 지정하는 JSON 값입니다. -
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
사용에 대한 참고 사항:
-
Oracle Cloud Infrastructure 파일 스토리지는 NFSv3를 사용하여 공유합니다. 자세한 내용은 파일 스토리지 개요를 참조하십시오.
-
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 => 'NFS'
);END;
/
이 예에서는 file_system_name
매개변수에 지정된 네트워크 파일 시스템을 Autonomous Database에서 분리합니다. 이 매개변수에 대한 값을 제공해야 합니다. 이 파일 시스템에 대한 정보가 DBA_CLOUD_FILE_SYSTEMS
뷰에서 제거됩니다.
자세한 내용은 DETACH_FILE_SYSTEM Procedure를 참조하십시오.