디렉토리 관리

Autonomous Database on Dedicated Exadata Infrastructure데이터베이스에 디렉토리를 생성하는 기능을 제공합니다. 이 데이터베이스에서는 OS 파일 시스템에서처럼 파일을 저장할 수 있습니다. 이 파일 저장 기능은 데이터를 내보내고 가져올 때 특히 유용합니다.

관련 항목

디렉토리 삭제

데이터베이스 DROP DIRECTORY 명령을 사용하여 디렉토리 객체를 삭제합니다.

예를 들어, 다음 명령은 데이터베이스 디렉토리 객체 staging를 삭제합니다.

DROP DIRECTORY staging;

DROP DIRECTORY 명령은 디렉토리의 파일을 삭제하지 않습니다. 디렉토리 및 디렉토리의 파일을 삭제하려면 먼저 DBMS_CLOUD.DELETE_FILE 프로시저를 사용하여 파일을 삭제합니다. 자세한 내용은 DELETE_FILE Procedure를 참조하십시오.

디렉토리를 삭제하려면 DROP ANY DIRECTORY 시스템 권한이 있어야 합니다. ADMIN 사용자에게 DROP ANY DIRECTORY 시스템 권한이 부여됩니다. ADMIN 사용자는 다른 사용자에게 DROP ANY DIRECTORY 시스템 권한을 부여할 수 있습니다.

자세한 내용은 Oracle Database 19c SQL Language ReferenceDROP DIRECTORY 또는 Oracle Database 23ai SQL Language Reference를 참조하십시오.

주:

  • 디렉토리를 삭제하고 디렉토리에서 파일을 제거하지 않으려는 경우 디렉토리를 삭제한 후 다음과 같이 삭제한 디렉토리에 있는 파일을 포함하여 파일 시스템의 모든 파일을 볼 수 있습니다.

    CREATE OR REPLACE DIRECTORY ROOT_DIR AS '';

    그런 다음 다음 다음 명령을 사용하여 ROOT_DIR의 내용을 나열합니다.

    SELECT * FROM DBMS_CLOUD.LIST_FILES('ROOT_DIR');

    ADMIN 이외의 다른 사용자와 함께 DBMS_CLOUD.LIST_FILES를 실행하려면 디렉토리에 대한 읽기 권한을 해당 사용자에게 부여해야 합니다. 자세한 내용은 LIST_FILES 함수를 참조하십시오.

  • DROP DIRECTORY 명령은 기본 파일 시스템 디렉토리를 제거하지 않습니다. Autonomous Database는 기본 파일 시스템 디렉토리를 관리합니다. 사용자는 파일 시스템 디렉토리를 제거하지 않습니다.

디렉토리 내용 나열

DBMS_CLOUD.LIST_FILES 함수를 사용하여 디렉토리의 내용을 나열합니다.

예를 들어, stage 디렉토리의 내용을 나열하려면 다음 질의를 실행합니다.

SELECT * FROM DBMS_CLOUD.LIST_FILES('STAGE');

ADMIN 이외의 사용자와 함께 DBMS_CLOUD.LIST_FILES를 실행하려면 디렉토리에 대한 읽기 권한을 해당 사용자에게 부여해야 합니다. 자세한 내용은 LIST_FILES 함수를 참조하십시오.

클라우드 객체 스토리지와 디렉토리 간 파일 복사

DBMS_CLOUD.PUT_OBJECT 절차를 사용하여 디렉토리에서 클라우드 객체 스토리지로 파일을 복사합니다. DBMS_CLOUD.GET_OBJECT 절차를 사용하여 클라우드 객체 스토리지에서 디렉토리로 파일을 복사합니다.

예를 들어, 클라우드 객체 스토리지에서 stage 디렉토리로 파일을 복사하려면 다음 명령을 실행합니다.

BEGIN
   DBMS_CLOUD.GET_OBJECT(
   credential_name => 'DEF_CRED_NAME',
   object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/cwallet.sso',
   directory_name => 'STAGE');
END;
/

이 예에서 object_urius-phoenix-1 영역의 mybucket 버킷에 있는 cwallet.sso 파일을 지정하는 Oracle Cloud Infrastructure Swift URI입니다. idthydc0kinr는 버킷이 상주하는 오브젝트 스토리지 네임스페이스입니다. 지원되는 URI 형식에 대한 자세한 내용은 클라우드 오브젝트 스토리지 URI 형식을 참조하십시오.

ADMIN 이외의 다른 사용자와 함께 DBMS_CLOUD.GET_OBJECT를 실행하려면 디렉토리에 대한 쓰기 권한을 해당 사용자에게 부여해야 합니다.

ADMIN 이외의 다른 사용자와 함께 DBMS_CLOUD.PUT_OBJECT를 실행하려면 디렉토리에 대한 읽기 권한을 해당 사용자에게 부여해야 합니다.

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