Oracle LiveLabs实验:Introduction to Oracle Spatial Studio
Posted dingdingfish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle LiveLabs实验:Introduction to Oracle Spatial Studio相关的知识,希望对你有一定的参考价值。
本实验介绍了适用于 Oracle Spatial Studio。他既可以在云上,也可以在本地作为Java应用部署。介绍详见这里。
此实验申请地址在这里,时间为120分钟。
此实验的帮助见这里。
本实验使用的地图为OpenStreetMap,即免费的维基世界地图。
此实验会自动创建一个ADW,需要通过OCI Console完成初始化配置,然后可以通过网页访问Spatial Studio
简介
在本次研讨会中,您将探索 Spatial Studio 用于自助式空间分析和可视化的功能。 使用交通事故、警察局和警察局服务区的数据集,您将加载和可视化空间数据,并分析它们的空间关系,如下所示。
Oracle Spatial Studio (Spatial Studio) 提供对 Oracle 数据库空间功能的无代码访问。 虽然这些功能过去需要编码和/或使用 第三方工具,但 Spatial Studio 允许业务用户使用自助式 GUI 创建和共享空间分析和交互式 Web 地图。
Spatial Studio 对 Oracle 数据库中的空间数据进行操作,这意味着包含 Oracle 几何数据类型的表和视图。 这些数据可以是预先存在的空间数据或使用 Spatial Studio 准备的非空间数据,以添加基于属性的几何图形。 Spatial Studio 的最终用户功能可总结如下:
访问和准备空间数据:
- 访问 Oracle 数据库中的空间/非空间数据
- 从常见格式加载数据
- 通过地理编码地址或索引纬度/经度列来准备非空间数据
- 预缓存大型数据集
分析和可视化空间数据:
- 拖放地图可视化
- 数据驱动的样式
- 执行空间分析
- 分享结果
Spatial Studio 还为开发人员提供了集成功能,并为应用程序管理员提供了配置选项,这超出了本介绍研讨会的范围。
有关更多信息,请访问 https://oracle.com/goto/spatialstudio
本实验的目标为了解 Spatial Studio 的功能:
- 加载空间数据
- 可视化空间数据
- 执行空间分析
本实验需要访问 Spatial Studio 和 Oracle 数据库。
实验 1:访问 Spatial Studio
介绍
本实验介绍了从 Oracle LiveLabs Reservation 访问 Oracle Spatial Studio (Spatial Studio) 的过程。 您的环境包括 Spatial Studio 和自治数据库。 首次登录 Spatial Studio 时,您将提供自治数据库的连接信息。
任务 1:为您的自治数据库下载云钱包
位置为:OCI Console>ADW主页>Database Connection>Download client credentials (Wallet)
任务 2:Spatial Studio 首次登录
- 访问https://[your Spatial Studio IP address]:4040/spatialstudio (Spatial Studio的IP即实例IP)
- 输入用户名admin和口令welcome1
- 首次登录 Spatial Studio 会提示您输入 Spatial Studio 元数据存储库的数据库连接信息。 单击自治数据库,然后单击下一步。 在下一个屏幕上,拖放您之前下载的钱包文件,然后单击确定。
- 输入用户名studio_repo和口令Welcome1Welcome1;服务级别选择medium。Spatial Studio 现在正在自治数据库中构建其元数据表。 这大约需要 30 秒。
- 当 Spatial Studio 打开时,首次登录已完成,您已准备好继续实验。
实验 2:加载空间数据
介绍
Spatial Studio 对存储在 Oracle 数据库中的数据进行操作。 在 Spatial Studio 中,您使用“数据集”,它们是通过数据库连接访问的数据库表和视图。 数据集是指向数据库表和视图的指针,并且可以被赋予友好的名称,以便比基础数据库表或视图名称更具自我描述性。
用户通常需要合并从各种来源获取的数据。 为了支持这一点,Spatial Studio 提供了将数据从标准格式加载到 Oracle 数据库的功能。 这包括加载 2 种最常见的空间数据交换格式:Shapefile 和 GeoJSON 文件。 本实验将引导您完成使用 Spatial Studio 以这些格式加载空间数据的步骤。
除了加载空间格式,Spatial Studio 还支持加载电子表格。 在这种情况下,需要进行额外的准备以从空间属性(例如地址(“地址地理编码”)和纬度/经度坐标(“坐标索引”)导出几何图形。 这些案例不包含在本实验室中,未来将成为单独实验主题。
本节实验约15分钟,目标为:
- 了解如何从 Shapefile 和 GeoJSON 加载空间数据
- 了解如何为数据集设置关键字段
任务 1:加载事故数据
您首先从 GeoJSON 文件加载一组交通事故数据。 这些数据是虚构的,是为南非道路沿线的随机位置生成的。
-
将 GeoJSON 文件下载到方便的位置:accidents.geojson
-
在 Spatial Studio 中,从左侧面板菜单导航到数据集页面,单击创建数据集,然后拖放文件。
-
将显示 GeoJSON 数据的预览。 选择此上传的目标连接。 在本次研讨会中,我们将使用 SPATIAL_STUDIO 连接(Spatial Studio 元数据存储库),但在生产场景中,您将拥有与元数据存储库分开的此类业务数据的其他连接。 单击Submit以启动上传。
-
上传的 ACCIDENTS 数据集将列出一个小的警告图标,表示需要一个准备步骤。 在这种情况下,我们需要添加一个 Dataset 键。 虽然这对于基本映射不是必需的,但我们现在将添加密钥,因为我们将需要它来进行后续研讨会部分的分析。 单击警告图标,然后单击链接Go to Dataset Columns
-
如果我们的 ACCIDENTS 数据有一个唯一标识符列,我们可以将其分配为键。 但是这个虚构的数据没有这样的列,所以我们将让 Spatial Studio 创建一个。 单击 Create Key Column,将名称设置为 ACCIDENT_ID,然后单击 Apply。
-
观察现在列出的没有警告的 ACCIDENTS 数据集,这意味着它已准备好用于制图和空间分析。
任务 2:加载警察局数据
接下来,您从存储在单个 zip 文件中的 Shapefile 加载南非警察局 (SAPS) 和警局边界。这一个ZIP文件包含了2个数据集。
-
将包含 Shapefile 的 zip 文件下载到方便的位置:SAPS_police.zip
-
导航到 Datasets 页面,单击 Create Dataset,然后拖放 SAPS_police.zip文件。 Spatial Studio 将从 zip 文件中提取 Shapefile 并单独处理它们。
-
提取的第一个 Shapefile 将是警察局边界,即警局巡逻的地理区域。 选择目标连接,并将表和数据集名称设置为 POLICE_BOUNDS。
-
提取的第二个 Shapefile 将是警察局。 选择目标连接,并将表和数据集名称设置为 POLICE_POINTS。
-
由于需要定义键,现在列出的 POLICE_BOUNDS 和 POLICE_POINTS 数据集均带有警告。 单击 POLICE_BOUNDS 的警告图标,然后单击链接Go to Dataset Columns。
-
本例我们有一个现有的唯一列用作键。 对于列 COMPNT_NAME选择Use as Key,单击Validate key,然后单击Apply;重复步骤 5 和 6 以设置数据集 POLICE_POINTS 的键。
-
现在所有数据集都已准备好进行制图和空间分析
实验 3:创建项目
介绍
在 Spatial Studio 中,项目是您可视化和分析数据的地方。 可以保存项目,以便您可以继续工作,也可以发布它们,以便您可以与他人分享您的结果。 在本实验中,您将创建并保存您的第一个项目。
预计实验室时间:30 分钟
目标
- 了解如何创建和保存项目
- 了解如何将数据集添加到项目
- 了解如何可视化数据集
任务 1:创建项目
- 从左侧面板菜单中,导航到 Projects 页面并单击 Create Project。
- 单击 ‘Add Dataset’ 按钮并选择添加数据集。
- 选择ACCIDENTS并单击确定。
- 将 ACCIDENTS 数据集拖放到地图上。 这将创建一个地图图层。(注:要在地图中移动,您可以使用鼠标滚轮放大/缩小并单击并拖动以平移。)
- 您可以选择配置地图设置,包括标签、导航控件小部件、比例尺和图例。 单击齿轮图标以访问地图设置。 选择选项并单击确定以启用选择。
- 在“Layers List”面板中,单击“ACCIDENTS”的三明治图标并选择“Settings”。
- 从这里您可以控制图层显示和交互设置。 您将在后面的部分中试验这些功能。 目前,只需更新图层的半径(大小)、颜色和不透明度,然后单击Back链接。
任务 2:添加数据集
- 接下来,将 2 个警察数据集添加到项目中。 单击数据元素面板顶部的 ‘Add Dataset’ 按钮,选择添加数据集,使用 shift-enter 选择两个警察数据集,然后单击确定。
- 正如您之前对 ACCIDENTS 所做的那样,将 POLICE_POINTS 数据集从 Data Elements 面板拖放到 POLICE_POINT 图层的三明治菜单并选择 Settings。 更新半径、颜色、不透明度。 然后单击“图层”面板顶部的“Back”链接。
- 随着图层被添加到地图中,它们会呈现在现有图层的顶部。 因此,POLICE_POINTS 当前位于 ACCIDENTS 之上。 要重新排列图层以使 POLICE_POINTS 位于 ACCIDENTS 下方,请将鼠标移到图层列表中的 POLICE_POINTS 上,单击并按住(您将看到光标变为十字准线),然后在 ACCIDENTS 下方拖动。
- 将 POLICE_BOUNDS 数据集拖放到地图上。 正如您对 POLICE_POINTS 所做的那样,重新排序图层,使 POLICE_BOUNDS 位于底部(即呈现在其他图层下方)。 您现在已将 3 个数据集作为地图图层添加到我们的项目中。(注:可以通过单击图层名称旁边的蓝色眼球图标来关闭/打开各个图层。)
- 单击 POLICE_BOUNDS 图层的三明治菜单并选择设置。 更新填充和轮廓的颜色和不透明度。 请注意,使用白色轮廓可以减少较暗轮廓的杂乱效果。
最终效果如下,注意图层顺序。本节大部分的工作都在设置演示,透明度等。
任务 3:添加可视化
- Spatial Studio 允许您将数据集显示为地图和表格。 要添加可视化,请单击左侧的可视化按钮,然后将表格拖放到现有地图视图的边缘。 当表格可以放入时,您将看到一个灰色条。
- 将地图拖放到现有地图上方。 当您将鼠标悬停在现有地图的边缘并可以放入新地图时,将出现灰色条。
- 单击左上角的 Datasets 按钮,然后将 ACCIDENTS 拖放到表中。
- 将 ACCIDENTS 拖放到新地图中。
- 要折叠 Data Elements 面板并提供更多屏幕空间,请将鼠标悬停在右边缘并单击灰色箭头。
- 要展开“数据元素”面板,请将鼠标悬停在左边缘并单击灰色箭头。
- 您可以通过单击右上角的 X 图标来删除可视化。 我们将在本次研讨会中仅使用我们的初始地图,因此请删除您刚刚创建的新表格和地图。
任务 4:保存项目
- 单击右上角的保存按钮以保存项目并提供名称,例如 LiveLabs Spatial Intro。
- 从左侧导航栏导航到 Projects 页面并观察我们现在列出的项目。
实验 4:应用地图样式和交互性
介绍
Spatial Studio 允许您自定义地图图层的“外观”和交互性。 为地图图层设置样式包括颜色、透明度等选项,如果是点,还包括标记。 样式也可以由数据值自动控制(“数据驱动样式”),使得颜色和/或标记大小基于数据值。 例如,这允许您根据收入使用颜色呈现销售区域。 交互性是指当用户单击或悬停在地图图层中的项目上时发生的情况。 这包括显示工具提示和/或打开带有项目数据值的弹出窗口。 在本实验中,您将探索其中一些样式和交互功能。
目标
- 理解渲染风格
- 理解数据驱动的样式
- 了解如何使用配色方案
- 了解如何配置地图图层的交互性
任务 1:导航到样式
要专注于 ACCIDENTS 图层,请通过单击可见性控件(即蓝色眼球图标)关闭地图中的 2 个警察图层。
任务 2:应用集群样式
可以使用各种渲染样式渲染点图层,例如 ACCIDENTS。 每种渲染样式都有自己的设置。 将渲染样式从 Circle(默认)更改为 Cluster。
地图现在使用圆圈显示事故,以表示聚集在区域中的许多点。 聚类圆的大小基于每个区域中聚类的点数。 您可以试验代表每个集群中点数的文本标签的颜色和样式。
请注意,当您放大(旋转鼠标滚轮)时,集群会爆炸成更小的集群,而当您缩小时,反之亦然。
任务 3:应用热图样式
将渲染样式从集群更改为热图。 现在,地图会根据点的集中度以连续颜色呈现 ACCIDENTS。 热色代表点集中,冷色代表点稀少。 热图样式的一个关键参数是半径,它控制每个点周围的距离以定义浓度。 默认半径太大,以至于初始热图仅显示道路沿线的点对比,这不是很有帮助。
要将我们的热图集中在更局部的收缩上,请将半径从默认值减小到 10,并观察点集中度的更局部视图。
任务 4:应用数据驱动风格
将渲染样式从热图更改为圆形。 使用圆形渲染样式时,半径和颜色都可以由数据值控制。 下拉颜色菜单并选择“基于数据”。
您现在选择用于控制样式的列。 选择 NR_VEHICLES 列(即事故中涉及的车辆数量)并观察 ACCIDENTS 变成颜色编码。 您可以接受其他默认值,然后单击样式详细信息面板顶部的返回链接。
现在您已经根据数据值分配了颜色,通过将半径设置为 3 并将不透明度设置为 90% 来完成样式。 此外,更新描边(即轮廓)值:将宽度设置为 0.5,颜色设置为灰色,不透明度设置为 90%。 如果您愿意,您当然可以为这些选择您自己的值。 然后单击返回链接返回到图层列表。
任务 5:应用符号样式
接下来,您将对 POLICE_POINTS 图层使用剩余的点样式选项 Symbol。 打开 POLICE_POINTS 图层并通过单击可见性控件(即蓝色眼球图标)关闭地图中的其他 2 个图层。然后单击 POLICE_POINTS 的汉堡包图标并选择设置。
将渲染样式更改为符号,然后在图像文本框内单击以打开符号选择对话框。 选择 marker-11 并将不透明度更新为 90%,将大小因子更新为 0.6。 如果您愿意,您当然可以为这些选择您自己的值。 然后单击返回链接返回到图层列表。
任务 6:应用交互性
然后单击图层 POLICE_BOUNDS 的汉堡图标,然后选择设置。 然后单击交互选项卡。 我们为层配置的第一种交互类型是选择项目的能力。 选择用于分析,例如我们想要识别选定区域中包含的项目。 默认情况下,可选选项是关闭的。 单击 POLICE_BOUNDS 区域并观察未选择任何内容。 然后打开允许选择,在 POLICE_BOUNDS 区域内单击并观察突出显示的选择。
接下来,您配置工具提示,即,将鼠标悬停在项目上时显示的弹出窗口。 默认情况下,工具提示被禁用。 将鼠标悬停在 POLICE_BOUNDS 区域上并观察到没有任何反应。 然后打开显示工具提示,选择一个工具提示栏,将鼠标悬停在一个区域上,然后观察工具提示。
最后,您配置信息窗口,即单击项目时显示的弹出窗口。 默认情况下,此选项处于关闭状态。 单击 POLICE_BOUNDS 区域并观察未显示任何信息窗口。 然后打开显示信息窗口,选择要显示的列,在 POLICE_BOUNDS 区域内单击并观察显示的信息窗口。
任务 7:保存更改
单击 Back 链接,然后单击 Save 按钮以保存我们的项目以及样式更改。
实验 5:执行空间分析
介绍
Spatial Studio 无需编写代码即可访问 Oracle 数据库的空间分析功能。 为空间分析提供了简单的用户界面,所有底层数据库语法都在后台自动处理。 Spatial Studio 中的空间分析操作分为几类:
-
筛选
包含:“我的哪些资产位于危险区域内?”
邻近性:“我们的哪些站点位于预计风暴路径的 5 英里范围内?”
… -
结合
按位置加入:“根据遏制将销售线索与销售区域相关联。”
合并项目:“将多个县合并为 1 个销售区域”
… -
转换
缓冲区:“创建围绕火场 10 英里的形状。”
质心:“在每个火区的中间创建点。”
… -
测量
面积:“以平方公里为单位的风暴潮区域的面积是多少?”
距离; “从我们的每个资产到预计的风暴路径的最小距离是多少?”
… -
分析
按区域总结:“每个规划区域内建筑物的平均年龄是多少?”
每个项目最近:“离每个分店最近的仓库是什么,距离多远?”
…
在本实验中,您将探索其中的几种空间分析。
预计实验室时间:45 分钟
目标
- 了解 Spatial Studio 中的空间分析类别
- 了解如何执行空间分析和可视化结果
任务 1:按邻近度过滤
在此步骤中,您将使用空间过滤器来识别所选警察局指定距离内的事故。
首先点击警察局。 在下图中,我点击了红框中的警察局。 这将选择警察局用于邻近分析。 如果在进行选择时出现任何问题,请确认已为 POLICE_POINTS 图层启用了允许选择,如实验 3 步骤 6 中所述。
单击 ACCIDENTS 图层的汉堡菜单并选择空间分析
单击 Filter 选项卡,选择Return shapes within a specific distance of another。然后,输入参数:
分析结果只是 Spatial Studio 中的另一种数据集。 正如您将在后面的实验中看到的那样,分析结果可以添加到其他地图/表格中,用于其他项目,通过 REST 或 SQL 以编程方式访问,或导出为文件。
分析结果列在“数据元素”面板的“分析”下。 将分析结果拖放到地图上。 这将创建一个新的地图图层,仅显示所选警察局指定距离内的事故。
您不再需要地图中的此分析结果。 因此,为避免混乱,您接下来将其从地图中删除。 右键单击 Layers List 中的分析结果,然后选择 Remove
任务 2:按包含过滤
在此步骤中,您将使用空间过滤器来识别选定警察区域内的事故。
首先单击 POLICE_BOUNDS 图层中的一个区域。 所选区域将用于过滤事故。 在下图中,红色框中的区域被选中。
正如您在第 1 步中对先前分析所做的那样,单击 ACCIDENTS 图层的汉堡菜单并选择空间分析。 这一次,我们按“包含”过滤。 所以选择Return shapes that are inside another
把数据集加入地图,放大后显示如下:
任务 3:通过包含Join
在这里,您根据空间关系Join数据集。 您将根据包含ACCIDENTS 和 POLICE_BOUNDS进行Join。 您可以认为这是用包含它的警察区域来丰富或标记每个事故。
与之前的分析一样,单击图层列表中 ACCIDENTS 图层的汉堡菜单,然后选择空间分析。 选择组合选项卡,然后选择 Spatial Join。
在 Spatial Join 对话框中,为结果输入名称 ACCIDENTS_JOIN_POLICE_BOUNDS。 对于其他条目,您将根据内部空间关系将 ACCIDENTS 中的项目连接到 POLICE_BOUNDS 中的项目。 此操作将生成一个包含 ACCIDENTS 的新数据集,其中包含每个项目的 POLICE_BOUNDS 区域的唯一 ID。 POLICE_BOUNDS 的唯一 ID(即键列)是 COMPNT_NM,因此我们希望在结果中看到该列。 单击运行。
结果列在“数据元素”面板的“分析”下。 展开结果以查看其列; ACCIDENTS 中的所有原始列,以及预期的 COMPNT_NM(即警察区域名称)。
您现在已使用每个项目的警察区域名称来扩充事故数据。 结果可用于 Spatial Studio 的进一步分析,或由其他工具和应用程序(如 Oracle Analytics Cloud)访问以进行更广泛的分析。
任务 4:按地区汇总项目
在上一步中,您使用警察区域增加了事故项目。 在此步骤中,您执行相反的操作:您使用事故信息摘要来扩充警察区域。
单击图层列表中 POLICE_BOUNDS 图层的汉堡菜单,然后选择空间分析。 选择分析选项卡,然后选择Summarize by Region
在按区域汇总对话框中,您可以保留默认结果数据集名称 POLICE_BOUNDS SUMMARIZE。 在对话框中输入其他项目:对于 POLICE_BOUNDS 中的每个项目,您正在根据 Count 汇总 ACCIDENTS。 输入 NUM_ACCIDENTS 作为要添加事故计数的列。 单击运行。
将结果 POLICE_BOUNDS SUMMARIZE 拖到地图上。 然后在图层列表中单击 POLICE_BOUNDS SUMMARIZE 的汉堡菜单并选择设置。 在样式下,将颜色更改为基于数据。
对于列,选择 NUM_ACCIDENTS。 用 1、5、10、15、20 更新值。在任何单元格中输入每个值,因为它们将在值列表中自动排序。 输入值后,单击编辑图标以设置调色板并选择一个调色板。 观察地图显示的警察区域,根据您的值和调色板条目按事故数量进行颜色编码。
单击或悬停在警察区域上时,您可以自行添加带有事故计数的信息窗口或工具提示。 正如您在实验 2/步骤 3 中所做的那样,您还可以添加一个表格视图并拖动 POLICE_BOUNDS SUMMARIZE 以查看表格形式的信息。
任务 5:识别距离最近的项目
在本例中,最近的项目表示只显示一个。
在此步骤中,您确定离每个警察局最近的事故。 结果包含每个警察局,并增加了 id 和与最近事故的距离。 该分析还提供了一个选项,包括最近项目的所有列,而不仅仅是 id 和距离。
单击图层列表中 POLICE_POINTS 图层的汉堡菜单,然后选择空间分析。 选择Analytics选项卡,然后单击Nearest per item。
将结果命名为 POLICE_POINTS WITH NEAREST ACCIDENT(或您选择的名称)。 对于 POLICE_POINTS 中的每个项目,您都在 ACCIDENTS 中找到最近的项目。 展开高级部分。 启用在结果中包含距离的选项。 对于距离列名称,输入 DISTANCE_TO_ACCIDENT(或您选择的名称)。 将距离单位更改为公里(或您选择的其他单位)。
在图层列表中,关闭 POLICE_POINTS 图层。 将 POLICE_POINTS WITH NEAREST ACCIDENT 分析拖到地图上。
转到 POLICE_POINTS WITH NEAREST ACCIDENT 图层的设置并设置您选择的样式。 然后转到交互选项卡并启用信息窗口。 选择您选择的列,包括此分析添加的列:ACCIDENT_ID 和 DISTANCE_TO_ACCIDENT。 单击 POLICE_POINTS 项目并观察信息窗口显示 ID 和到最近项目的距离 ACCIDENTS。
现在,您可以自行根据与最近事故的距离、颜色或大小随意设置警察局的样式。
最后,保存您的项目以保留您的更改。
任务 6:访问 SQL 代码和 GeoJSON 端点 [可选]
此可选步骤适用于对以编程方式访问结果感兴趣的开发人员。 Spatial Studio 允许您查看用于空间分析的 SQL 代码,并提供一个以 GeoJSON 形式返回结果的 Web 端点。 此信息在数据集属性中可用,可在项目中或从数据集页面访问。 您将从您的项目中访问信息。
在 Data Elements 面板中,单击其中一项分析的汉堡菜单,例如 ACCIDENTS INSIDE 并选择 Properties
观察带有 SQL 代码和 GeoJSON 端点的部分。
其中GeoJSON端点:
https://130.61.147.125:4040/spatialstudio/api/v1/jsonstream/207424dbd9ae56055e138f720602b998
SQL为:
SELECT
"t4"."SEVERITY" AS "SEVERITY",
"t4"."NR_VEHICLES" AS "NR_VEHICLES",
"t4"."DATE_TIME" AS "DATE_TIME",
"t4"."GEOM" AS "GEOM",
"t4"."ACCIDENT_ID" AS "ACCIDENT_ID"
FROM
"ACCIDENTS" "t4"
WHERE
"t4"."ACCIDENT_ID" IN (
SELECT
"t2"."ACCIDENT_ID" AS "key"
FROM
"ACCIDENTS" "t2", (
SELECT
"t1".*
FROM
"POLICE_BOUNDS" "t1"
WHERE
"t1"."COMPNT_NM" IN ( 'BELMONT' )
) "t3"
WHERE
sdo_inside("t2"."GEOM", "t3"."GEOM") = 'TRUE'
)
自行将 GeoJSON 端点粘贴到浏览器中并观察以 GeoJSON 形式返回的结果。 同样,您可以将 SQL 代码复制并粘贴到 SQL Developer Web 中以直接运行分析。
Oracle Spatial Studio 简介研讨会到此结束。
致谢
本实验的作者为David Lapp,数据库产品经理。
以上是关于Oracle LiveLabs实验:Introduction to Oracle Spatial Studio的主要内容,如果未能解决你的问题,请参考以下文章
Oracle LiveLabs实验:Oracle RAC Fundamentals
Oracle LiveLabs实验:Install Oracle Database 21c
Oracle LiveLabs实验:DB Security - Oracle Label Security (OLS)
Oracle LiveLabs实验:Oracle Label Security (OLS)