使用 Autonomous Database 在云代码资料档案库中管理和存储文件
Autonomous Database 提供了在云代码 (Git) 存储库中管理和存储文件的例程。支持的云代码资料档案库包括:GitHub、AWS CodeCommit 和 Azure 资料档案库。
相关主题
关于使用 Autonomous Database 的云代码资料档案库
DBMS_CLOUD_REPO
程序包提供了用于从 Autonomous Database 访问云代码资料档案库的单个接口。
支持的云代码资料档案库提供以下功能:
-
Git 版本控制系统: Git 是用于跟踪任何文件集更改的软件,通常用于协调程序员在软件开发期间协作开发源代码的工作。其目标包括速度、数据完整性以及对分布式非线性工作流的支持。
-
Git 资源库:Git 资源库是项目的虚拟存储。它允许您保存代码的版本,您可以在需要时访问这些版本。
DBMS_CLOUD_REPO
API 使用系统信息库句柄(REPO
对象)。资料档案库句柄是不透明的 JSON 对象,表示特定云提供商的云代码资料档案库。可以将 REPO
对象传递到不同的 DBMS_CLOUD_REPO
API。此不透明对象可确保 DBMS_CLOUD_REPO
过程和函数与多云兼容;当您从一个云代码资料档案库提供程序迁移到另一个云代码资料档案库时,不必更改代码。
-
使用资料档案库初始化操作可以初始化资料档案库。
有关详细信息,请参阅初始化云代码资料档案库。
-
可用于创建、列出、更新或删除资料档案库的资料档案库管理操作。
有关详细信息,请参阅创建和管理云代码资料档案库。
-
用于在资料档案库中创建、列出、合并或删除分支的资料档案库分支管理操作。
有关详细信息,请参阅在云代码资料档案库中创建和管理分支。
-
将方案中所有对象的元数据 DDL 导出到资料档案库。
有关更多信息,请参见 Export Schema Objects to the Cloud Code Repository Branch 。
-
用于上载、下载、更新和删除文件的资料档案库文件管理操作。
有关更多信息,请参见 Use File Operations with a Cloud Code Repository 。
-
SQL 安装操作,可用于将数据库对象元数据 DDL 导出到资料档案库,并将 SQL 语句从云代码资料档案库安装到数据库中。
有关详细信息,请参阅将 SQL 安装操作与云代码资料档案库结合使用。
初始化云代码资料档案库
DBMS_CLOUD_REPO
初始化例程将初始化云代码资料档案库。获取云代码资料档案库句柄后,可以使用该句柄访问云代码资料档案库。
要初始化云代码资料档案库,请执行以下操作:
有关初始化函数的详细信息,请参见 DBMS_CLOUD_REPO Initialization Operations 。
创建和管理云代码资料档案库
DBMS_CLOUD_REPO
管理例程允许您通过创建、列出、更新或删除资料档案库来管理云代码资料档案库。
首先,获取 Cloud Code Repository(云代码资料档案库)句柄以提供对资料档案库的访问。有关详细信息,请参阅初始化云代码资料档案库。
有关详细信息,请参阅 DBMS_CLOUD_REPO 资料档案库管理操作。
在云代码资料档案库中创建和管理分支
使用 DBMS_CLOUD_REPO
管理例程,可以通过在资料档案库中创建、列出、合并或删除分支来管理云代码资料档案库分支。
要执行云代码资料档案库分支管理操作,必须首先:
-
创建身份证明。
有关详细信息,请参见CREATE_CREDENTIAL Procedure 。
-
获取句柄。
有关详细信息,请参阅初始化云代码资料档案库。
-
创建资料档案库。
有关详细信息,请参阅创建和管理云代码资料档案库。
-
以 ADMIN 用户身份登录,或者对
DBMS_CLOUD_REPO
具有EXECUTE
权限。
将方案对象导出到云代码资料档案库分支
DBMS_CLOUD_REPO
管理例程允许您将方案中对象的元数据导出到 Cloud Code Repository(云代码资料档案库)分支。您可以根据对象名称或对象类型筛选列表。
要导出方案元数据,必须首先执行以下操作:
-
创建身份证明。
有关详细信息,请参见CREATE_CREDENTIAL Procedure 。
-
获取句柄。
有关详细信息,请参阅初始化云代码资料档案库。
-
创建资料档案库。
有关详细信息,请参阅创建和管理云代码资料档案库。
-
以 ADMIN 用户身份登录,或者对
DBMS_CLOUD_REPO
具有EXECUTE
权限。
使用 EXPORT_SCHEMA
过程将方案中对象的元数据导出到云代码资料档案库分支:
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;
/
此示例将 USER1
方案的元数据导出到 l_repo
系统信息库中。导出包括表 EMPLOYEE_SALARY
和 EMPLOYEE_ADDRESS
的元数据以及包含 OFFICE
的任何表名。它还导出 EMPLOYEE_RECORD_SEQ
序列并排除方案中的视图。
将文件操作与云代码资料档案库结合使用
DBMS_CLOUD_REPO
文件操作允许您在云代码资料档案库中创建、获取、列出、更新或删除文件。
在使用文件操作之前获取 Cloud Code Repository(云代码资料档案库)句柄。有关详细信息,请参阅初始化云代码资料档案库。
在处理文件之前,还需要创建资料档案库。有关详细信息,请参阅创建和管理云代码资料档案库。
有关更多信息,请参见DBMS_CLOUD_REPO File Operations 。
将 SQL 安装操作与云代码资料档案库结合使用
DBMS_CLOUD_REPO
SQL 安装操作允许您从云代码资料档案库存储和下载 SQL 脚本。
在使用 SQL 安装操作之前,获取云代码资料档案库句柄。有关详细信息,请参阅初始化云代码资料档案库。
在使用 SQL 安装操作之前,还需要创建资料档案库。有关详细信息,请参阅创建和管理云代码资料档案库。
这些脚本用作模式安装脚本,而不是通用 SQL 脚本:
- 脚本不能包含特定于 SQL*Plus 客户端的命令。
- 脚本不能包含绑定变量或参数化脚本。
- SQL 语句必须以新行 (/) 上的斜杠终止。
- 脚本可以包含 DDL 和 DML PLSQL 语句,但不支持直接
SELECT
语句。支持在 PL/SQL 块中使用 SELECT。
如果任何 SQL 语句不包含绑定变量或定义,则可以使用 EXECUTE IMMEDIATE
运行该语句。
有关更多信息,请参见 DBMS_CLOUD_REPO SQL 安装操作。