DBMS_CLOUD_REPO 子程序摘要
Prerequisites
作为开发人员,您可以将 DBMS_CLOUD 过程与部署在 Oracle Public Cloud 、 Multicloud 或 Exadata Cloud@Customer 上的 Autonomous Database 结合使用。
根据部署选择,必须满足以下先决条件,才能将 DBMS_CLOUD 过程与 Amazon S3 、Azure Blob Storage 和 Google Cloud Storage 服务提供商一起使用。
- 按照 Oracle Cloud Infrastructure 文档中的创建 NAT 网关中的说明,在 Autonomous Database 资源所在的虚拟云网络 (Virtual Cloud Network,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
- 目标端口范围:全部
如果不存在此类规则,请单击添加出站规则并添加具有这些特征的出站规则。
环境中的 HTTP 代理设置必须允许数据库访问云服务提供商。
注意:
只有在 Exadata 基础结构处于 Requires Activation 状态之前,才能编辑包括 HTTP 代理的网络配置。一旦激活,就无法编辑这些设置。为已预配的 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
);
参数
Parameter (参数) | 说明 |
---|---|
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
);
参数
Parameter (参数) | 说明 |
---|---|
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
);
参数
Parameter (参数) | 说明 |
---|---|
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
);
参数
Parameter (参数) | 说明 |
---|---|
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
);
参数
Parameter (参数) | 说明 |
---|---|
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
);
参数
Parameter (参数) | 说明 |
---|---|
repo |
指定系统信息库句柄。 |
file_path |
用于在资料档案库中上载对象元数据的文件路径。 |
object_type |
DBMS_METADATA 支持的对象类型。有关详细信息,请参阅 Oracle Database 19c PL/SQL Packages and Types Reference 或 Oracle Database 23ai PL/SQL Packages and Types Reference 中的 DBMS_METADATA:对象类型表。 |
object_name |
要检索元数据的数据库对象的名称。 |
object_schema |
拥有数据库对象的方案。 |
branch_name |
将文件放置到特定分支。 |
commit_details |
以 JSON 文档形式提交详细信息: |
append |
将元数据 DDL 附加到现有文件。 |
使用说明
要对对象 DDL 进行定制控制,可以将 DBMS_METADATA.GET_DDL
与 DBMS_CLOUD_REPO.PUT_FILE
一起使用。要获取对象的元数据定义,当前用户必须具有检索对象元数据的权限。有关程序包的安全要求,请参阅 Oracle Database 19c PL/SQL Packages and Types Reference 或 Oracle Database 23ai PL/SQL Packages and Types Reference 中的 DBMS_METADATA 。
范例
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
);
参数
Parameter (参数) | 说明 |
---|---|
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
);
参数
Parameter (参数) | 说明 |
---|---|
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;
参数
Parameter (参数) | 说明 |
---|---|
credential_name |
指定 AWS CodeCommit 访问密钥/密钥的身份证明对象。 |
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;
参数
Parameter (参数) | 说明 |
---|---|
credential_name |
指定 Azure 的身份证明对象,带有用户名和个人访问令牌 (PAT)。 |
repo_name |
指定资料档案库名称。 |
organization |
指定 Azure DevOps 组织。 |
project |
Azure Team Project 名称。 |
范例
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;
参数
Parameter (参数) | 说明 |
---|---|
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 过程
此过程将 SQL 语句从由 repo
句柄参数标识的云代码资料档案库中的文件安装。
语法
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
);
参数
Parameter (参数) | 说明 |
---|---|
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。
如果任何 SQL 语句不包含绑定变量或定义,则可以使用
EXECUTE IMMEDIATE
运行该语句。
范例
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
);
参数
Parameter (参数) | 说明 |
---|---|
content |
CLOB 包含要运行的 SQL 语句。 |
stop_on_error |
在出现第一个错误时停止执行 SQL 语句。 |
使用说明
-
这些脚本用作模式安装脚本,而不是通用 SQL 脚本:
- 脚本不能包含特定于 SQL*Plus 客户端的命令。
- 脚本不能包含绑定变量或参数化脚本。
- SQL 语句必须以新行 (/) 上的斜杠终止。
- 脚本可以包含 DDL 和 DML PLSQL 语句,但不支持直接
SELECT
语句。支持在 PL/SQL 块中使用 SELECT。
如果任何 SQL 语句不包含绑定变量或定义,则可以使用
EXECUTE IMMEDIATE
运行该语句。
范例
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;
参数
Parameter (参数) | 说明 |
---|---|
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;
参数
Parameter (参数) | 说明 |
---|---|
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;
参数
Parameter (参数) | 说明 |
---|---|
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;
参数
Parameter (参数) | 说明 |
---|---|
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
句柄参数标识的云代码资料档案库中的另一个指定分支中。Azure 当前不支持 MERGE_BRANCH
过程。
语法
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
);
参数
Parameter (参数) | 说明 |
---|---|
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 上载到资料档案库文件。
语法
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
);
参数
Parameter (参数) | 说明 |
---|---|
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
);
参数
Parameter (参数) | 说明 |
---|---|
repo |
指定系统信息库句柄。
所有云提供商都支持此参数。 |
new_name |
资料档案库的新名称。
所有云提供商都支持此参数。 |
description |
资料档案库的简短文本说明。
GITHUB 和 AWS 云提供商支持此参数。 |
private |
资料档案库是专用的,只能使用有效身份证明进行访问。 GITHUB 云提供商支持此参数。 |
范例
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY
(
repo => l_repo,
new_name => 'repo2'
);
END;
/