전용 Exadata 인프라의 Autonomous Database에 네트워크 파일 스토리지 연결

데이터베이스와 파일 시스템이 동일한 개인 네트워크에 있는 경우 NFS(네트워크 파일 스토리지) 공유를 Autonomous Database에 연결할 수 있습니다. Autonomous Database on Dedicated Exadata Infrastructure는 기본적으로 NFSv4를 지원합니다.

NFS(네트워크 파일 시스템)를 지원하면 다음을 수행할 수 있습니다.
  • 매우 안전한 방식으로 다른 데이터베이스의 매우 민감한 데이터를 Exadata Cloud@CustomerAutonomous Database로 로드합니다.
  • 여러 Exadata Cloud@Customer 배포 안팎으로 데이터를 이동하여 공급업체 데이터, 내보내기 덤프 및 기타 비즈니스 프로세스를 원활하게 수행할 수 있습니다.
필요한 경우 NFS 공유를 다음 데이터베이스에 명시적으로 연결해야 합니다.
  • NFS 마운트 지점을 사용하여 Autonomous Database를 복제하여 생성된 데이터베이스 복제.
  • 기본 데이터베이스가 NFS 공유에 연결된 자율운영 Data Guard 설정에서 복구 또는 전환 작업 후 기본 롤을 맡은 대기 데이터베이스입니다.

네트워크 파일 시스템 요구 사항

NFS(네트워크 파일 스토리지) 공유를 Autonomous Database에 연결하기 전에 다음을 확인하십시오.
  • 고객이 제공한 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 인스턴스가 프라이빗 끝점에 있을 때만 프라이빗 파일 스토리지 서비스를 연결할 수 있습니다.
  1. 디렉토리를 생성하거나 기존 디렉토리를 사용하여 Autonomous Database에 외부 파일 시스템을 연결합니다. 파일 시스템을 데이터베이스의 디렉토리 위치에 연결하려면 Autonomous Database 인스턴스의 디렉토리 객체에 대한 WRITE 권한이 있어야 합니다.

    예를 들어, 다음 명령은 NFS_DIR이라는 데이터베이스 디렉토리를 생성하고 nfs 파일 시스템 디렉토리를 생성합니다.
    CREATE DIRECTORY NFS_DIR AS ‘nfs’;

    자세한 내용은 Create a Directory를 참조하십시오.

  2. 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_SYSTEMparams 매개변수를 포함하고 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"과 같은 오류가 표시될 수 있습니다.

자세한 내용은 ATTACH_FILE_SYSTEM Procedure를 참조하십시오.

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_FILESDBMS_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를 참조하십시오.