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 절차를 사용하려면 다음 필요 조건을 충족해야 합니다.
아래에 설명된 대로 플리트 관리자가 NAT 게이트웨이를 사용하여 아웃바운드 접속을 구성했어야 합니다.
-
Oracle Cloud Infrastructure 문서의 NAT 게이트웨이 생성 지침에 따라 자율운영 AI 데이터베이스 리소스가 상주하는 VCN(가상 클라우드 네트워크)에 NAT 게이트웨이를 생성합니다.
-
NAT 게이트웨이를 생성한 후 자율운영 AI 데이터베이스 리소스가 상주하는 VCN의 각 서브넷에 경로 규칙 및 송신 보안 규칙을 추가하여 해당 리소스가 게이트웨이를 사용하여 Azure AD 인스턴스에서 퍼블릭 키를 얻을 수 있도록 합니다.
-
서브넷의 서브넷 세부 정보 페이지로 이동합니다.
-
서브넷 정보 탭에서 서브넷의 경로 테이블 이름을 눌러 해당 경로 테이블 세부정보 페이지를 표시합니다.
-
기존 경로 규칙의 테이블에서 다음 특성을 가진 규칙이 이미 있는지 확인합니다.
-
대상: 0.0.0.0/0
-
대상 유형: NAT 게이트웨이
-
대상: VCN에서 방금 생성한 NAT 게이트웨이의 이름입니다.
해당 규칙이 없는 경우 경로 규칙 추가를 누르고 해당 특성을 가진 경로 규칙을 추가합니다.
-
-
서브넷에 대한 서브넷 세부정보 페이지로 돌아갑니다.
-
서브넷의 보안 목록 테이블에서 서브넷의 보안 목록 이름을 눌러 해당 보안 목록 세부정보 페이지를 표시합니다.
-
사이드 메뉴의 리소스에서 송신 규칙을 누릅니다.
-
기존 송신 규칙의 테이블에서 다음 특성을 가진 규칙이 이미 있는지 확인합니다.
-
대상 유형: CIDR
-
대상:0.0.0.0/0
-
IP 프로토콜:TCP
-
소스 포트 범위:443
-
대상 포트 범위:모두
해당 규칙이 없는 경우 송신 규칙 추가를 누르고 이러한 특성을 가진 송신 규칙을 추가합니다.
-
-
사용자 환경의 HTTP 프록시 설정에서 데이터베이스가 클라우드 서비스 공급자에 액세스할 수 있도록 허용해야 합니다.
해당 설정은 콘솔을 사용하여 Cloud@Customer에서 Exadata Database Service 프로비전에 설명된 대로 Exadata Cloud@Customer 인프라를 생성하는 동안 플리트 관리자가 정의합니다.
주: HTTP 프록시를 포함한 네트워크 구성은 Exadata 인프라가 활성화 필요 상태가 될 때까지만 편집할 수 있습니다. 일단 활성화되면 해당 설정을 편집할 수 없습니다.
이미 프로비전된 Exadata 인프라에 대해 HTTP 프록시를 설정하려면 My Oracle Support에서 SR(서비스 요청)이 필요합니다. 자세한 내용은 My Oracle Support에서 서비스 요청 생성을 참조하십시오.
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_commit_id |
지정된 저장소 커밋을 사용하여 새 분기를 생성합니다. 이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.
|
예
주: 클라우드 코드 저장소에서 분기를 생성하려면 상위 분기 또는 상위 커밋 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 문서로 세부정보 커밋
|
예
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 Reference의 DBMS_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 Reference의 DBMS_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를 지정합니다. 이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.
|
branch_name |
저장소 브랜치 이름을 지정합니다. 이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.
|
commit_details |
JSON 문서로 세부정보 커밋 {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.
|
예
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 |
다음의 클라우드 코드 저장소 제공자:
|
repo_name |
저장소 이름을 지정합니다. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
GitHub 저장소 소유자. 이 매개변수는 GitHub 클라우드 제공자에만 적용할 수 있습니다. |
region |
AWS 리포지토리 리전. 이 매개변수는 AWS 클라우드 제공자에만 적용할 수 있습니다. |
organization |
Azure 조직. 이 매개변수는 Azure 클라우드 제공자에만 적용할 수 있습니다. |
project |
Azure 팀 프로젝트. 이 매개변수는 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 문 실행을 정지합니다. |
사용법 참고
-
다음을 사용하여 클라우드 코드 저장소 파일에서 중첩 SQL을 포함하는 SQL 문을 설치할 수 있습니다.
-
@: 저장소의 ROOT에 대한 상대 경로가 있는 SQL 파일을 포함합니다. -
@@: 현재 파일에 대한 상대 경로가 있는 SQL 파일을 포함합니다.
-
-
스크립트는 일반 SQL 스크립트가 아닌 스키마 설치 스크립트로 사용됩니다.
-
스크립트는 SQL*Plus 클라이언트별 명령을 포함할 수 없습니다.
-
스크립트에는 바인드 변수 또는 매개변수화된 스크립트가 포함될 수 없습니다.
-
SQL 문은 새 행(/)에서 슬래시로 종료해야 합니다.
-
스크립트는 DDL, DML PLSQL 문을 포함할 수 있지만 직접
SELECT문은 지원되지 않습니다. PL/SQL 블록 내에서 SELECT를 사용할 수 있습니다.
바인드 변수 또는 정의를 포함하지 않는 경우
EXECUTE IMMEDIATE를 사용하여 실행할 수 있는 모든 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 문 실행을 정지합니다. |
사용법 참고
-
스크립트는 일반 SQL 스크립트가 아닌 스키마 설치 스크립트로 사용됩니다.
-
스크립트는 SQL*Plus 클라이언트별 명령을 포함할 수 없습니다.
-
스크립트에는 바인드 변수 또는 매개변수화된 스크립트가 포함될 수 없습니다.
-
SQL 문은 새 행(/)에서 슬래시로 종료해야 합니다.
-
스크립트는 DDL, DML PLSQL 문을 포함할 수 있지만 직접
SELECT문은 지원되지 않습니다. PL/SQL 블록 내에서 SELECT를 사용할 수 있습니다.
EXECUTE IMMEDIATE를 사용하여 실행할 수 있는 모든 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_branch_ret_tab.인 파이프 라인 테이블 함수입니다. -
DBMS_CLOUD_REPO.LIST_BRANCHES는 클라우드 코드 저장소 분기의 이름을 나타내는name열을 반환합니다.
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 |
특정 분기의 커밋을 나열합니다. 이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.
|
file_path |
저장소의 지정된 하위 폴더 경로 아래에 파일을 나열합니다. 이 매개변수는 Git 및 Azure 클라우드 제공자에 대해서만 지원됩니다.
|
commit_id |
지정된 이 매개변수는 모든 클라우드 제공자에 대해 지원됩니다.
|
예
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_commit_ret_tab.인 파이프라인된 테이블 함수입니다. -
DBMS_CLOUD_REPO.LIST_COMMITS는commit_id열을 반환합니다.
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 |
특정 커밋의 파일을 나열합니다. |
사용법 참고
-
반환 유형이
list_file_ret_tab.인 파이프 라인 테이블 함수입니다. -
DBMS_CLOUD_REPO.LIST_FILES는id,name,url및bytes열을 반환합니다.
예
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 클라우드 제공자에 대해 지원됩니다. |
사용법 참고
-
반환 유형이
list_repo_ret_tab.인 파이프 라인 테이블 함수입니다. -
DBMS_CLOUD_REPO.LIST_REPOSITORIES는id,name,owner,description,private,url,bytes,created및last_modified열을 반환합니다.
예
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 문서로 세부정보 커밋
|
예
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 문서로 커밋 세부정보:
|
예
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;
/