DBMS_CLOUD_REPO 서브 프로그램 요약

이 섹션에서는 자율운영 AI 데이터베이스와 함께 제공되는 DBMS_CLOUD_REPO 서브 프로그램에 대해 다룹니다.

DBMS_CLOUD_REPO 패키지는 다음으로 구성됩니다.

필수 조건

개발자는 Oracle Public Cloud, 멀티클라우드 또는 Exadata Cloud@Customer에 배포된 자율운영 AI 데이터베이스와 함께 DBMS_CLOUD 절차를 사용할 수 있습니다.

배포 선택에 따라 Amazon S3, Azure Blob Storage 및 Google Cloud Storage 서비스 공급자와 함께 DBMS_CLOUD 절차를 사용하려면 다음 필요 조건을 충족해야 합니다.

CREATE_BRANCH 프로시저

이 프로시저는 repo 핸들 인수로 식별된 클라우드 코드 저장소에 분기를 생성합니다.

구문

PROCEDURE DBMS_CLOUD_REPO.CREATE_BRANCH(
    repo               IN   CLOB,
    branch_name        IN   VARCHAR2,
    parent_branch_name IN   VARCHAR2 DEFAULT NULL,
    parent_commit_id   IN   VARCHAR2 DEFAULT NULL
 );

매개변수

매개변수 설명
repo

저장소 핸들을 지정합니다.

이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.

branch_name

저장소 브랜치 이름을 지정합니다.

이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.

parent_branch_name

지정된 상위 분기의 헤드 커밋을 사용하여 새 분기를 생성합니다.

이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.

parent_branch_name 값을 제공하지 않을 경우 parent_branch_namemain로 설정됩니다.

parent_commit_id

지정된 저장소 커밋을 사용하여 새 분기를 생성합니다.

이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.

parent_commit_id 값을 제공하지 않으면 parent_commit_id가 NULL 값으로 설정됩니다.

주: 클라우드 코드 저장소에서 분기를 생성하려면 상위 분기 또는 상위 커밋 ID를 지정해야 합니다.

BEGIN
  DBMS_CLOUD_REPO.CREATE_BRANCH (
    repo                 => l_repo,
    branch_name          => 'test_branch',
    parent_branch_name   => 'main'
    );
END;
/

사용 노트

DBMS_CLOUD_REPO.CREATE_BRANCH 프로시저를 실행하려면 ADMIN 사용자로 로그인하거나 DBMS_CLOUD_REPO에 대해 EXECUTE 권한이 있어야 합니다.

CREATE_REPOSITORY 프로시저

이 프로시저는 repo 핸들 인수로 식별된 클라우드 코드 저장소를 생성합니다.

구문

PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY(
      repo                 IN   CLOB,
      description          IN   CLOB     DEFAULT NULL,
      private              IN   BOOLEAN  DEFAULT TRUE
);

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다.

이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.

description 저장소에 대한 짧은 텍스트 설명입니다.

이 매개변수는 GITHUB 및 AWS 클라우드 제공자에 대해 지원됩니다.

private

저장소가 프라이빗이며 적합한 인증서를 통해서만 액세스할 수 있습니다.

이 매개변수는 GITHUB 클라우드 제공자에 대해서만 지원됩니다.

BEGIN
  DBMS_CLOUD_REPO.CREATE_REPOSITORY(
    repo        => l_repo,
    description => 'My test repo',
    private => TRUE
    );
END;
/

DELETE_BRANCH 프로시저

이 절차에서는 repo 핸들 인수로 식별된 클라우드 코드 저장소에서 분기를 삭제합니다.

구문

PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH (
      repo              IN  CLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL
 );

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다. 이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.
branch_name 특정 저장소에서 브랜치를 삭제합니다. 이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.

BEGIN
  DBMS_CLOUD_REPO.DELETE_BRANCH (
      repo        => l_repo,
      branch_name => 'test_branch'
  );
END;
/

사용 노트

DBMS_CLOUD_REPO.DELETE_BRANCH 프로시저를 실행하려면 ADMIN 사용자로 로그인하거나 DBMS_CLOUD_REPO에 대해 EXECUTE 권한이 있어야 합니다.

DELETE_FILE 프로시저

이 절차에서는 repo 핸들 인수로 식별된 클라우드 코드 저장소에서 파일을 삭제합니다.

구문

PROCEDURE DBMS_CLOUD_REPO.DELETE_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다.
file_path 저장소에서 파일을 삭제할 파일 경로입니다.
branch_name 특정 분기에서 파일을 삭제합니다.
commit_details

JSON 문서로 세부정보 커밋

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

BEGIN
  DBMS_CLOUD_REPO.DELETE_FILE(
      repo        => l_repo,
      file_path   => 'scripts/test3.sql',
      branch_name => 'test_branch'
  );
END;
/

DELETE_REPOSITORY 프로시저

이 절차에서는 repo 핸들 인수로 식별된 클라우드 코드 저장소를 삭제합니다.

구문

PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY(
      repo           IN   CLOB
);

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다.

BEGIN
  DBMS_CLOUD_REPO.DELETE_REPOSITORY(
       repo => l_repo
  );
END;
/

EXPORT_OBJECT 프로시저

이 프로시저는 데이터베이스 객체의 DDL 메타 데이터를 repo 핸들 인수로 식별된 클라우드 코드 저장소로 업로드합니다. 이 프로시저는 데이터베이스 객체의 메타 데이터 정의를 한 번에 업로드하는 간단한 방법입니다.

구문

PROCEDURE DBMS_CLOUD_REPO.EXPORT_OBJECT(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      object_type       IN  VARCHAR2,
      object_name       IN  VARCHAR2 DEFAULT NULL,
      object_schema     IN  VARCHAR2 DEFAULT NULL,
      branch_name       IN  VARCHAR2 DEFAULT NULL,
      commit_details    IN  CLOB     DEFAULT NULL,
      append            IN  BOOLEAN  DEFAULT FALSE
);

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다.
file_path 저장소에서 객체 메타데이터를 업로드할 파일 경로입니다.
object_type DBMS_METADATA에서 지원하는 객체 유형입니다. 자세한 내용은 Oracle Database 19c PL/SQL Packages and Types ReferenceDBMS_METADATA: Object Types Table 또는 Oracle Database 26ai PL/SQL Packages and Types Reference를 참조하십시오.
object_name 메타데이터를 검색할 데이터베이스 객체의 이름입니다.
object_schema 데이터베이스 객체의 소유 스키마입니다.
branch_name 파일을 특정 브랜치에 넣습니다.
commit_details JSON 문서로 세부정보 커밋:{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }
append 기존 파일에 메타데이터 DDL을 추가합니다.

사용 노트

객체 DDL에 대한 커스터마이즈된 제어의 경우 DBMS_CLOUD_REPO.PUT_FILE와 함께 DBMS_METADATA.GET_DDL를 사용할 수 있습니다. 객체의 메타데이터 정의를 가져오려면 현재 사용자에게 객체 메타데이터를 검색할 수 있는 권한이 있어야 합니다. 패키지의 보안 요구 사항은 Oracle Database 19c PL/SQL Packages and Types ReferenceDBMS_METADATA 또는 Oracle Database 26ai PL/SQL Packages and Types Reference를 참조하십시오.

BEGIN
  DBMS_CLOUD_REPO.EXPORT_OBJECT(
     repo        => l_repo,
     object_type => 'PACKAGE',
     object_name => 'MYPACK',
     file_path   => 'mypack.sql'
  );
END;
/

EXPORT_SCHEMA 프로시저

이 프로시저는 스키마에 있는 모든 객체의 메타데이터를 repo 핸들 인수로 식별된 클라우드 코드 저장소 분기로 익스포트합니다.

구문

PROCEDURE DBMS_CLOUD_REPO.EXPORT_SCHEMA(
     repo            IN CLOB,
     file_path       IN VARCHAR2,
     schema_name     IN VARCHAR2,
     filter_list     IN CLOB         DEFAULT NULL,
     branch_name     IN VARCHAR2     DEFAULT NULL,
     commit_details  IN CLOB         DEFAULT NULL
);

매개변수

매개변수 설명
repo

저장소 핸들을 지정합니다.

이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.

file_path

저장소에 업로드할 스키마 파일의 이름을 지정합니다.

이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.

schema_name

DDL 스크립트가 클라우드 코드 저장소 분기에 업로드될 스키마의 이름을 지정합니다.

이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.

filter_list

메타데이터를 익스포트해야 하는 객체를 포함하거나 제외할 필터 조건을 정의하는 JSON 배열의 CLOB를 지정합니다.

이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.

filter_list에 대한 JSON 매개변수는 다음과 같습니다.

  • match_type: 객체 유형 또는 객체 이름에 적용할 필터 유형을 지정합니다. 유효한 match_type 값은 다음과 같습니다.

    • in/not_in

    • like/not_like

    • equal/not_equal

  • type: 필터링할 객체의 유형을 지정합니다.

  • name: 필터링할 객체의 이름을 지정합니다.

branch_name

저장소 브랜치 이름을 지정합니다.

이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.

branch_name 값을 제공하지 않을 경우 branch_name가 기본 저장소 분기로 설정됩니다.

commit_details

JSON 문서로 세부정보 커밋

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.

commit_details 값을 제공하지 않을 경우 commit_details는 현재 데이터베이스 세션 사용자에 대한 정보와 커밋을 수행하는 데이터베이스 이름을 포함하는 기본 커밋 메시지로 설정됩니다.

BEGIN
  DBMS_CLOUD_REPO.EXPORT_SCHEMA(
    repo          => l_repo,
    schema_name   => 'USER1',
    file_path     => 'myschema_ddl.sql'
    filter_list   =>
        to_clob('[
             { "match_type":"equal",
                 "type":"table"
             },
             { "match_type":"not_equal",
                 "type":"view"
             },
             { "match_type":"in",
                 "type":"table",
                 "name": " ''EMPLOYEE_SALARY'',''EMPLOYEE_ADDRESS'' "
             },
             { "match_type":"equal",
                 "type":"sequence",
                 "name": "EMPLOYEE_RECORD_SEQ"
             },
             { "match_type":"like",
                 "type":"table",
                 "name": "%OFFICE%"
             }
        ]'
     );
  );
END;
/

사용 노트

DBMS_CLOUD_REPO.EXPORT_SCHEMA 프로시저를 실행하려면 ADMIN 사용자로 로그인하거나 DBMS_CLOUD_REPO에 대해 EXECUTE 권한이 있어야 합니다.

GET_FILE 프로시저 및 함수

함수는 클라우드 코드 저장소에서 파일 콘텐츠를 다운로드합니다. 이 절차에서는 클라우드 코드 저장소에서 파일 콘텐츠를 다운로드하고 파일을 디렉토리에 저장할 수 있습니다.

구문

FUNCTION DBMS_CLOUD_REPO.GET_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL
) RETURN CLOB;

PROCEDURE DBMS_CLOUD_REPO.GET_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      directory_name    IN  VARCHAR2,
      target_file_name  IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL
);

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다.
file_path 저장소의 파일 경로입니다.
directory_name 파일 내용을 저장할 디렉토리 객체 이름입니다.
target_file_name 디렉토리에 콘텐츠를 저장할 대상 파일 이름입니다.
branch_name 특정 브랜치에서 파일을 가져옵니다.
tag_name 특정 태그에서 파일을 가져옵니다.
commit_name 특정 커밋에서 파일을 가져옵니다.

BEGIN
  DBMS_CLOUD_REPO.GET_FILE(
     repo             =>  l_repo,
     file_path        => 'test3.sql',
     directory_name   => 'DATA_PUMP_DIR',
     target_file_name => 'test2.sql'
  );
END;
/

INIT_AWS_REPO 함수

이 함수는 AWS 저장소 핸들을 초기화하고 불투명한 유형을 반환합니다.

구문

FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO(
      credential_name IN  VARCHAR2,
      repo_name       IN  VARCHAR2,
      region          IN  VARCHAR2
)  RETURN repo;

매개변수

매개변수 설명
credential_name AWS CodeCommit accesskey/secretkey를 지정하는 인증서 객체입니다.
repo_name 저장소 이름을 지정합니다.
region CodeCommit 저장소에 대한 AWS 영역을 지정합니다.

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_AWS_REPO(
                 credential_name => 'AWS_CRED',
                 repo_name       => 'my_repo',
                 region          => 'us-east-1'
           );
END;
/

INIT_AZURE_REPO 함수

이 함수는 Azure 저장소 핸들을 초기화하고 불투명한 유형을 반환합니다. 이 기능은 Azure 클라우드 제공자에 대해서만 지원됩니다.

구문

FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO(
      credential_name IN  VARCHAR2,
      repo_name       IN  VARCHAR2,
      organization    IN  VARCHAR2,
      project         IN  VARCHAR2
)  RETURN repo;

매개변수

매개변수 설명
credential_name 사용자 이름 및 PAT(개인 액세스 토큰)를 사용하여 Azure를 지정하는 자격 증명 객체입니다.
repo_name 저장소 이름을 지정합니다.
organization Azure DevOps 조직을 지정합니다.
project Azure 팀 프로젝트 이름입니다.

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO(
                 credential_name => 'AZURE_CRED',
                 repo_name       => 'my_repo',
                 organization    => 'myorg',
                 project         => 'myproj',
           );
END;
/

INIT_GITHUB_REPO 함수

이 함수는 GitHub 저장소 핸들을 초기화하고 불투명한 유형을 반환합니다.

구문

FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
      credential_name IN  VARCHAR2  DEFAULT NULL,
      repo_name       IN  VARCHAR2,
      owner           IN  VARCHAR2)
RETURN repo;

매개변수

매개변수 설명
credential_name

GitHub를 지정하는 인증서 객체입니다.

사용자 이메일 및 개인 액세스 토큰 (PAT).

repo_name 저장소 이름을 지정합니다.
owner 저장소 소유자를 지정합니다.

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
                 credential_name => 'GITHUB_CRED',
                 repo_name       => 'my_repo',
                 owner           => 'foo'
           );
END;
/

INIT_REPO 함수

이 함수는 클라우드 코드 저장소 핸들을 초기화하고 불투명한 JSON 객체를 반환합니다. 이 함수는 JSON 문서를 수락하는 일반 인터페이스이며, 코드를 변경할 필요가 없으며, 코드 저장소를 하나의 클라우드 코드 저장소에서 다른 클라우드 코드 저장소로 이동할 때만 JSON 문서를 변경하면 됩니다.

구문

FUNCTION DBMS_CLOUD_REPO.INIT_REPO(
     params      IN   CLOB)
RETURN CLOB;

매개변수

JSON 매개변수 설명
provider

다음의 클라우드 코드 저장소 제공자:

DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB')

DBMS_CLOUD_REPO.AWS_REPO ('AWS')

DBMS_CLOUD_REPO.AZURE_REPO ('AZURE')

repo_name 저장소 이름을 지정합니다. DBMS_CLOUD_REPO.PARAM_REPO_NAME
owner

GitHub 저장소 소유자.DBMS_CLOUD_REPO.PARAM_OWNER

이 매개변수는 GitHub 클라우드 제공자에만 적용할 수 있습니다.

region

AWS 리포지토리 리전.DBMS_CLOUD_REPO_PARAM_REGION

이 매개변수는 AWS 클라우드 제공자에만 적용할 수 있습니다.

organization

Azure 조직.DBMS_CLOUD_REPO_PARAM_ORGANIZATION

이 매개변수는 Azure 클라우드 제공자에만 적용할 수 있습니다.

project

Azure 팀 프로젝트.DBMS_CLOUD_REPO_PARAM_PROJECT

이 매개변수는 Azure 클라우드 제공자에만 적용할 수 있습니다.

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_REPO(
          params => JSON_OBJECT('credential_name' value 'mycred',
                        'repo_name'       value 'myrepo',
                        'repo_owner'      value 'foo')
       );
END;
/

INSTALL_FILE 프로시저

이 절차에서는 repo 핸들 인수로 식별된 클라우드 코드 저장소의 파일에서 SQL 문을 설치합니다.

구문

PROCEDURE DBMS_CLOUD_REPO.INSTALL_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL,
      stop_on_error     IN  BOOLEAN   DEFAULT TRUE
);

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다.
file_path 저장소의 파일 경로입니다.
branch_name 특정 브랜치에서 파일을 설치할 브랜치입니다.
tag_name 특정 태그에서 파일을 설치하는 태그입니다.
commit_name 특정 커밋에서 파일을 설치하려면 ID를 커밋합니다.
stop_on_error 첫번째 오류 시 SQL 문 실행을 정지합니다.

사용법 참고

BEGIN
     DBMS_CLOUD_REPO.INSTALL_FILE(
         repo          => l_repo,
         file_path     => 'test3.sql',
         stop_on_error => FALSE
     );
END;
/

INSTALL_SQL 프로시저

이 프로시저는 입력으로 제공된 버퍼에서 SQL 문을 설치합니다.

구문

PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL(
      content           IN  CLOB,
      stop_on_error     IN  BOOLEAN  DEFAULT TRUE
);

매개변수

매개변수 설명
content 실행할 SQL 문을 포함하는 CLOB입니다.
stop_on_error 첫번째 오류 시 SQL 문 실행을 정지합니다.

사용법 참고

BEGIN
  DBMS_CLOUD_REPO.INSTALL_SQL(
      content   => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
      stop_on_error => FALSE
  );
END;
/

LIST_BRANCHES 함수

이 함수는 repo 핸들 인수로 식별된 클라우드 코드 저장소 분기의 분기를 나열합니다.

구문

FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES(
    repo           IN   CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다. 이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.

SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES (repo => l_repo);

사용법 참고

LIST_COMMITS 함수

이 함수는 repo 핸들 인수로 식별된 클라우드 코드 저장소 분기의 커밋을 나열합니다.

구문

FUNCTION DBMS_CLOUD_REPO.LIST_COMMITS(
      repo              IN  CLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      file_path         IN  VARCHAR2 DEFAULT NULL,
      commit_id         IN  VARCHAR2  DEFAULT NULL
) RETURN list_commit_ret_tab PIPELINED PARALLEL_ENABLE;

매개변수

매개변수 설명
repo

저장소 핸들을 지정합니다.

이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.

branch_name

특정 분기의 커밋을 나열합니다.

이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.

branch_name 값을 제공하지 않을 경우 branch_namemain로 설정됩니다.

file_path

저장소의 지정된 하위 폴더 경로 아래에 파일을 나열합니다.

이 매개변수는 Git 및 Azure 클라우드 제공자에 대해서만 지원됩니다.

file_path 값을 제공하지 않을 경우 file_path가 NULL 값으로 설정됩니다.

commit_id

지정된 sha/id에서 시작하는 파일을 나열합니다.

이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.

commit_id 값을 제공하지 않으면 commit_id가 NULL 값으로 설정됩니다.

SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS(repo => l_repo);
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS (
    repo        => l_repo,
    commit_id   => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
    file_path   => 'sub_dir/test11.sql'
);

사용법 참고

LIST_FILES 함수

이 기능은 클라우드 코드 저장소에서 파일을 다운로드합니다. 선택적으로 특정 브랜치, 태그 또는 커밋 이름에서 파일 콘텐츠에 액세스할 수 있습니다. 기본적으로 파일은 기본 저장소 브랜치에서 액세스됩니다. 결과에는 파일 이름과 파일에 대한 추가 메타 데이터가 포함됩니다.

구문

FUNCTION DBMS_CLOUD_REPO.LIST_FILES(
      repo              IN  CLOB,
      path              IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_id         IN  VARCHAR2  DEFAULT NULL
) RETURN list_file_ret_tab PIPELINED PARALLEL_ENABLE;

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다.
path 저장소의 지정된 하위 폴더 경로 아래에 파일을 나열합니다.
branch_name 특정 분기의 파일을 나열합니다.
tag_name 특정 태그의 파일을 나열합니다.
commit_name 특정 커밋의 파일을 나열합니다.

사용법 참고

SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES(repo => l_repo);
NAME
-------------------------
test3.sql

LIST_REPOSITORIES 함수

이 함수는 repo 핸들 인수로 식별된 모든 클라우드 코드 저장소를 나열합니다. 결과에는 저장소에 대한 저장소 이름 및 추가 메타데이터가 포함됩니다.

구문

FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES(
      repo                 IN   CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;

매개변수

매개변수 설명
repo

저장소 핸들을 지정합니다.

이 매개변수는 모든 클라우드 제공자가 지원합니다.

description

저장소에 대한 짧은 텍스트 설명입니다.

이 매개변수는 GITHUB 및 AWS 클라우드 제공자를 지원합니다.

private

저장소가 프라이빗이며 적합한 인증서를 통해서만 액세스할 수 있습니다.

이 매개변수는 GITHUB 클라우드 제공자에 대해 지원됩니다.

사용법 참고

SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES(:repo);
NAME                  DESCRIPTION
--------------------- ---------------
TestRepo1             My test repo

MERGE_BRANCH 프로시저

이 프로시저는 저장소 분기를 repo 핸들 인수로 식별된 클라우드 코드 저장소의 지정된 다른 분기로 병합합니다. MERGE_BRANCH 절차는 현재 Azure에서 지원되지 않습니다.

구문

PROCEDURE DBMS_CLOUD_REPO.MERGE_BRANCH (
    repo               IN   CLOB,
    branch_name        IN   VARCHAR2,
    parent_branch_name IN   VARCHAR2 DEFAULT NULL,
    commit_details     IN   CLOB      DEFAULT NULL
 );

매개변수

매개변수 설명
repo

저장소 핸들을 지정합니다.

이 매개변수는 필수이며 GITHUB 및 AWS 클라우드 제공자에 대해 지원됩니다.

branch_name

병합할 Git 브랜치 이름을 지정합니다.

이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.

target_branch_name

병합할 대상 브랜치 이름을 지정합니다.

이 매개변수는 필수이며 모든 클라우드 제공자에 대해 지원됩니다.

commit_details

JSON 문서로 세부정보 커밋

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

commit_details 값을 제공하지 않으면 commit_details가 현재 데이터베이스 세션 사용자 및 커밋을 수행하는 데이터베이스 이름에 대한 정보가 포함된 기본 커밋 메시지로 설정됩니다.

BEGIN
  DBMS_CLOUD_REPO.MERGE_BRANCH (
    repo               => l_repo,
    branch_name        => 'test_branch',
    target_branch_name => 'main'
    );
END;
/

사용 노트

DBMS_CLOUD_REPO.MERGE_BRANCH 프로시저를 실행하려면 ADMIN 사용자로 로그인하거나 DBMS_CLOUD_REPO에 대해 EXECUTE 권한이 있어야 합니다.

PUT_FILE 프로시저

이 프로시저는 repo 핸들 인수로 식별된 클라우드 코드 저장소에 파일을 업로드합니다. 디렉토리 객체에서 파일을 업로드하거나 BLOB에서 Repository 파일로 컨텐트를 업로드할 수 있도록 프로시저가 오버로드됩니다.

구문

PROCEDURE DBMS_CLOUD_REPO.PUT_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      contents          IN  BLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);
PROCEDURE DBMS_CLOUD_REPO.PUT_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      directory_name    IN  VARCHAR2,
      source_file_name  IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다.
file_path 저장소에 파일을 업로드할 파일 경로입니다.
contents 파일 내용을 포함하는 BLOB입니다.
directory_name 파일 이름을 포함하는 디렉토리 객체 이름입니다.
source_file_name 저장소에 업로드할 소스 파일 이름입니다.
branch_name 파일을 특정 브랜치에 넣습니다.
commit_details

JSON 문서로 커밋 세부정보:

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

BEGIN
  DBMS_CLOUD_REPO.PUT_FILE(
     repo   => l_repo,
  );
END;
/

UPDATE_REPOSITORY 프로시저

이 절차는 repo 핸들 인수로 식별된 클라우드 코드 저장소를 업데이트합니다. UPDATE_REPOSITORY는 클라우드 코드 저장소에서 지원하는 이름, 설명 또는 전용(private) 가시성 상태 갱신을 지원합니다.

구문

PROCEDURE DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
      repo                 IN OUT  CLOB,
      new_name             IN      VARCHAR2 DEFAULT NULL,
      description          IN      CLOB     DEFAULT NULL,
      private              IN      BOOLEAN  DEFAULT NULL
);

매개변수

매개변수 설명
repo 저장소 핸들을 지정합니다. 이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.
new_name 저장소에 대한 새 이름입니다. 이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.
description 저장소에 대한 짧은 텍스트 설명입니다. 이 매개변수는 GITHUB 및 AWS 클라우드 제공자에 대해 지원됩니다.
private

저장소가 프라이빗이며 적합한 인증서를 통해서만 액세스할 수 있습니다.

이 매개변수는 GITHUB 클라우드 제공자에 대해 지원됩니다.

BEGIN
  DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
     repo        => l_repo,
     new_name    => 'repo2'
  );
END;
/

관련 콘텐츠

DBMS_CLOUD_REPO 정보