디렉토리 관리
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 Reference의 DROP 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_uri
는 us-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 Procedure 및 PUT_OBJECT Procedure를 참조하십시오.