DBMS_CLOUD_REPO 서브 프로그램 요약
이 절에서는 Autonomous Database와 함께 제공되는 DBMS_CLOUD_REPO
서브프로그램을 다룹니다.
DBMS_CLOUD_REPO
패키지는 다음으로 구성됩니다.
관련 항목
필요 조건
개발자는 Oracle Public Cloud, 멀티클라우드 또는 Exadata Cloud@Customer에 배포된 Autonomous Database에서 DBMS_CLOUD 절차를 사용할 수 있습니다.
배포 선택에 따라 Amazon S3, Azure Blob Storage 및 Google Cloud Storage 서비스 제공업체와 함께 DBMS_CLOUD 절차를 사용하려면 다음 필요 조건이 충족되어야 합니다.
- Oracle Cloud Infrastructure 문서의 NAT 게이트웨이 생성 지침에 따라 Autonomous Database 리소스가 상주하는 VCN(가상 클라우드 네트워크)에서 NAT 게이트웨이를 생성합니다.
- NAT 게이트웨이를 생성한 후 각 서브넷(VCN 내)에 경로 규칙 및 송신 보안 규칙을 추가합니다. 여기서 Autonomous Database 리소스는 게이트웨이를 사용하여 Azure AD 인스턴스에서 퍼블릭 키를 얻을 수 있습니다.
- 서브넷의 서브넷 세부 정보 페이지로 이동합니다.
- 서브넷 정보 탭에서 서브넷의 경로 테이블 이름을 눌러 경로 테이블 세부정보 페이지를 표시합니다.
- 기존 경로 규칙의 테이블에서 다음 특성을 가진 규칙이 이미 있는지 확인합니다.
- 대상: 0.0.0.0/0
- 대상 유형: NAT 게이트웨이
- 대상: VCN에서 방금 생성한 NAT 게이트웨이의 이름입니다.
해당 규칙이 없는 경우 경로 규칙 추가를 누르고 해당 특성을 가진 경로 규칙을 추가합니다.
- 서브넷에 대한 서브넷 세부정보 페이지로 돌아갑니다.
- 서브넷의 보안 목록 테이블에서 서브넷의 보안 목록 이름을 눌러 해당 보안 목록 세부정보 페이지를 표시합니다.
- 사이드 메뉴의 리소스에서 송신 규칙을 누릅니다.
- 기존 송신 규칙의 테이블에서 다음 특성을 가진 규칙이 이미 있는지 확인합니다.
- 대상 유형: CIDR
- 대상: 0.0.0.0/0
- IP 프로토콜: TCP
- 소스 포트 범위: 443
- 대상 포트 범위: 모두
해당 규칙이 없으면 Add Egress Rules를 누르고 이러한 특성을 가진 송신 규칙을 추가합니다.
환경의 HTTP 프록시 설정에서 데이터베이스가 클라우드 서비스 공급자에 액세스할 수 있도록 허용해야 합니다.
주:
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 문서로 {"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에서 지원하는 객체 유형입니다. 자세한 내용은 DBMS_METADATA: Object Types table in Oracle Database 19c PL/SQL Packages and Types Reference 또는 Oracle Database 23ai PL/SQL Packages and Types Reference를 참조하십시오. |
object_name |
메타데이터를 검색할 데이터베이스 객체의 이름입니다. |
object_schema |
데이터베이스 객체의 소유 스키마입니다. |
branch_name |
파일을 특정 분기에 넣습니다. |
commit_details |
JSON 문서로 커밋 세부정보: |
append |
메타 데이터 DDL을 기존 파일에 추가 |
사용법 노트
객체 DDL에 대한 사용자 정의 제어의 경우 DBMS_METADATA.GET_DDL
를 DBMS_CLOUD_REPO.PUT_FILE
과 함께 사용할 수 있습니다. 객체의 메타데이터 정의를 가져오려면 현재 사용자에게 객체 메타데이터를 검색할 수 있는 권한이 있어야 합니다. 패키지의 보안 요구사항은 DBMS_METADATA in Oracle Database 19c PL/SQL Packages and Types Reference 또는 Oracle Database 23ai 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
핸들 인수로 식별된 Cloud Code Repository 분기로 익스포트합니다.
구문
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 매개변수는 다음과 같습니다.
|
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 저장소 핸들을 초기화하고 불투명 유형을 반환합니다.This function initializes an Azure repository handle and returns an opaque type. 이 기능은 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 문 실행을 정지합니다. |
사용법 참고
-
다음을 사용하여 클라우드 코드 저장소 파일에서 중첩 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
는 Cloud Code Repository 분기의 이름을 나타내는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 |
지정된 sha/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 문서로 {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }
|
예
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는 클라우드 코드 저장소에서 지원되는 이름, 설명 또는 프라이빗 가시성 상태 업데이트를 지원합니다.
구문
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;
/