DBMS_LIVE_FEED 程序包参考
本章提供有关在 Data Studio 中与 Data Load Tool 一起使用的软件包的信息。DBMS_LIVE_FEED 主题还介绍了 DBMS_LIVE_FEED 软件包中包含的过程。
- DBMS_LIVE_FEED 子程序概要
DBMS_LIVE_FEED程序包简化了常见操作,例如按需、按计划运行实时表馈送,或者由于基于对象存储存储桶中的新对象对表进行通知驱动的更新。
父主题:“数据加载”页
DBMS_LIVE_FEED 子程序概要
DBMS_LIVE_FEED 程序包简化了常见操作,例如按需运行实时表馈送,或由于基于对象存储存储桶中的新对象对表进行通知驱动的更新。
DBMS_LIVE_FEED 程序包子程序
下表列出了 DBMS_LIVE_FEED 子程序并简要介绍了这些子程序。
| 子程序 | 说明 |
|---|---|
| 创建 _for_storage_link |
此过程为存储链路创建实时馈送。 |
| 创建目录 |
此过程为目录创建实时馈送。 |
| 创建 _for_url |
此过程从 URL 创建实时源。 |
| modify_live_feed |
此过程将修改实时馈送。 |
| drop_live_feed |
此过程会丢弃实时馈送。 |
| 加载新内容 |
此过程将加载现有实时馈送中的新内容。 |
| get_notification_key |
此过程从实时馈送中检索通知密钥。 |
| get_confirmation_url |
此过程从 Live Feed 接收确认 URL。 |
| get_notification_state |
此过程从实时馈送接收通知状态。 |
为存储链接创建过程
此过程从云存储链接创建实时表馈送。云存储链接是 OCI 存储桶 URI 与本地身份证明名称之间的命名关联。
procedure create_for_storage_link(live_feed_name IN VARCHAR2,
table_name IN VARCHAR2,
storage_link_name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL,
table_schema IN VARCHAR2 DEFAULT NULL,
column_list IN CLOB DEFAULT NULL,
object_type IN VARCHAR2 DEFAULT NULL,
object_format IN VARCHAR2 DEFAULT NULL,
object_filter IN VARCHAR2 DEFAULT NULL,
object_filter_type IN VARCHAR2 DEFAULT NULL,
scheduled IN BOOLEAN DEFAULT NULL,
scheduler_interval IN VARCHAR2 DEFAULT NULL,
notifications IN BOOLEAN DEFAULT NULL,
job_class IN VARCHAR2 DEFAULT NULL,
start_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
end_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL);DBMS_ LIVE_FEED 参数
如果要访问 DBMS_LIVE_FEED 过程,请使用以下参数。
| Parameter (参数) | 说明 |
|---|---|
|
|
要创建的 Live Feed 的名称。 |
|
|
云存储链接的名称。链路的名称应遵循标准的 Oracle 命名约定。 |
|
|
实时馈送将从云对象存储将数据加载到的 Autonomous Database 目标表的名称。 |
|
|
实时馈送中的数据将加载到 Autonomous Database 实例中以访问云对象存储的目标表的名称。 |
|
|
正则表达式,用于将实时表馈送仅限于存储桶中与表达式匹配的那些文件。它可以是正则表达式或 glob,具体取决于 |
|
|
默认值为 |
|
|
默认值为 |
|
|
方案的名称。 实时源的模式的名称。目前仅支持当前方案。 |
|
|
目标表的方案。 |
|
|
对象的类型。您可以加载的文件类型是 CSV、JSON 和 Parquet。 |
|
|
这是 SQL 加载程序选项之一。 它接受 |
|
|
此参数使用 |
|
|
调度程序作业类。值为 |
|
|
实时馈送作业的开始日期。 |
|
|
Live Feed 作业的结束日期。 |
注意:
上表中列出了下述所有过程的参数。范例
在此示例中,在给定 URL 上创建一个名为 MYLIVEFEED 的实时馈送。
SQL> BEGIN
dbms_live_feed.create_for_storage_link(
live_feed_name => 'MYLIVEFEED',
storage_link_name => 'DATATOOLS_LF_BUCKET',
table_name => 'MALTESE',
object_filter => 'fndcalday?.csv',
object_filter_type => 'GLOB',
scheduled => false,
notifications => false);
end;
/;
PL/SQL procedure successfully completed.为目录创建过程
此过程从目录创建实时表源。
语法
procedure create_for_directory(live_feed_name IN VARCHAR2,
table_name IN VARCHAR2,
directory_name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL,
table_schema IN VARCHAR2 DEFAULT NULL,
column_list IN CLOB DEFAULT NULL,
object_type IN VARCHAR2 DEFAULT NULL,
object_format IN VARCHAR2 DEFAULT NULL,
object_filter IN VARCHAR2 DEFAULT NULL,
object_filter_type IN VARCHAR2 DEFAULT NULL,
scheduled IN BOOLEAN DEFAULT NULL,
scheduler_interval IN VARCHAR2 DEFAULT NULL,
notifications IN BOOLEAN DEFAULT NULL,
job_class IN VARCHAR2 DEFAULT NULL,
start_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
end_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL);为 URL 创建过程
此过程从 URL 创建实时表源。
语法
procedure create_for_url(live_feed_name IN VARCHAR2,
table_name IN VARCHAR2,
url IN VARCHAR2,
credential_name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL,
table_schema IN VARCHAR2 DEFAULT NULL,
column_list IN CLOB DEFAULT NULL,
object_type IN VARCHAR2 DEFAULT NULL,
object_format IN VARCHAR2 DEFAULT NULL,
object_filter IN VARCHAR2 DEFAULT NULL,
object_filter_type IN VARCHAR2 DEFAULT NULL,
scheduled IN BOOLEAN DEFAULT NULL,
scheduler_interval IN VARCHAR2 DEFAULT NULL,
notifications IN BOOLEAN DEFAULT NULL,
job_class IN VARCHAR2 DEFAULT NULL,
start_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
end_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL);修改实时馈送过程
此过程将修改实时表馈送。
语法
procedure modify_live_feed(live_feed_name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL,
scheduled IN BOOLEAN DEFAULT NULL,
scheduler_interval IN VARCHAR2 DEFAULT NULL,
notifications IN BOOLEAN DEFAULT NULL,
job_class IN VARCHAR2 DEFAULT NULL,
start_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
end_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL);范例
在此示例中,修改了名为 MYLIVEFEED 的实时馈送。
begin
dbms_live_feed.modify_live_feed(
live_feed_name => 'MYLIVEFEED',
scheduled => true,
scheduler_interval => 'FREQ=daily;INTERVAL=1',
notifications => true);
end;
/Drop Live Feed 过程
此过程将删除实时表馈送。
语法
procedure drop_live_feed(live_feed_name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL);范例
在此示例中,删除了名为 MYLIVEFEED 的实时馈送。
begin
dbms_live_feed.drop_live_feed(live_feed_name => 'MYLIVEFEED');
end;
/加载新内容过程
此过程将在馈送中加载新内容。
语法
procedure load_new_content(live_feed_name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL);获取通知密钥过程
此过程接收实时表馈送通知密钥。它用于启用通知的实时馈送,以构建用于提供云服务的通知 URL。按照创建基于通知的实时表源一章中的说明创建基于通知的实时源。
语法
function get_notification_key(live_feed_name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL)
return VARCHAR2;获取确认 URL
此过程会收到确认 URL,验证端点是否可以接收通知。
您必须访问此 URL 才能启用从云服务接收的通知。由于数据库防火墙限制,无法确认自动启用通知。单击此 URL 以启用通知,否则您将不会收到任何通知。
语法
function get_confirmation_url(live_feed_name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL)
return VARCHAR2;获取通知状态
此过程接收实时馈送作业执行的通知状态。
语法
function get_notification_state(live_feed_name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL)
return VARCHAR2;