Oracle Spatial
Amazon RDS 通过使用 SPATIAL
选项支持 Oracle Spatial。Oracle Spatial 提供了一个 SQL 架构和一些功能,可帮助在 Oracle 数据库中存储、检索、更新和查询空间数据集合。有关更多信息,请参阅 Oracle 文档中的 Spatial 概念
重要
如果您使用 Oracle Spatial,则在存在以下任何一种情况时,Amazon RDS 会自动将数据库实例更新为最新的 Oracle PSU:
-
通用漏洞评分系统 (CVSS) 得分为 9+ 的安全漏洞
-
其他已宣布的安全漏洞
Amazon RDS 仅在 Oracle Enterprise Edition (EE) 和 Oracle Standard Edition 2 (SE2) 中支持 Oracle Spatial。下表显示了支持 EE 和 SE2 的数据库引擎版本。
Oracle 数据库版本 | Enterprise Edition | Standard Edition 2 |
---|---|---|
21.0.0.0(所有版本) |
支持 |
是 |
19.0.0.0(所有版本) |
是 |
是 |
注意
在 Oracle Database 19c 中,Spatial 补丁包与数据库补丁集更新(PSU)和版本更新(RU)相分离。RDS for Oracle 不支持应用 Spatial 批次捆绑包。
使用 Oracle Spatial 的先决条件
以下是使用 Oracle Spatial 的先决条件:
-
确保您的数据库实例具有足够的实例类。db.t3.micro 或 db.t3.small 数据库实例类不支持 Oracle Spatial。有关更多信息,请参阅“RDS for Oracle 数据库实例类”。
-
确保您的数据库实例已启用自动次要版本升级。该选项允许数据库实例在次要数据库引擎版本升级可用时自动接收这些升级,这对于安装 Oracle Java 虚拟机(JVM)的任意选项是必需的。Amazon RDS 使用该选项将数据库实例更新为最新的 Oracle 补丁集更新(PSU)或版本更新(RU)。有关更多信息,请参阅“修改 Amazon RDS 数据库实例”。
Oracle Spatial 的最佳实践
以下是使用 Oracle Spatial 的最佳实践:
-
为了实现最高安全性,可将
SPATIAL
选项与安全套接字层 (SSL) 结合使用。有关更多信息,请参阅“Oracle 安全套接字层”。 -
配置数据库实例以限制对它的访问。有关更多信息,请参阅“在 VPC 中访问数据库实例的场景”和“在 VPC 中使用数据库实例”。
添加 Oracle Spatial 选项
下面是将 SPATIAL
选项添加到数据库实例的一般过程:
-
创建新的选项组,或者复制或修改现有选项组。
-
将 选项添加到该选项组。
-
将选项组与数据库实例相关联。
如果数据库实例上未 安装 Oracle Java 虚拟机 (JVM),则添加 SPATIAL
选项时会出现短暂中断。如果数据库实例上已安装 Oracle Java 虚拟机 (JVM),则不会出现中断。在添加 选项后,您无需重新启动数据库实例。只要选项组处于活动状态,Oracle Spatial 就可用。
注意
在该中断期间,将短暂禁用密码验证功能。您还可能会在中断期间看到与密码验证功能相关的事件。在 Oracle 数据库实例变得可用之前,将再次启用密码验证功能。
将 SPATIAL
选项添加到数据库实例
-
确定您要使用的选项组。您可以创建新的选项组,或使用现有选项组。如果您想使用现有选项组,请跳到下一步。或者,通过以下设置创建自定义数据库选项组:
-
对于引擎,请选择适用于您的数据库实例的 Oracle 版本。
-
对于主引擎版本,选择数据库实例的版本。
有关更多信息,请参阅“创建选项组”。
-
-
将 SPATIAL 选项添加到该选项组。有关添加选项的更多信息,请参阅 将选项添加到选项组。
-
将选项组应用到新的或现有的数据库实例:
-
对于新数据库实例,您可以在启动实例时应用选项组。有关更多信息,请参阅“创建 Amazon RDS 数据库实例”。
-
对于现有数据库实例,您可以通过修改实例并附加新的选项组来应用选项组。有关更多信息,请参阅“修改 Amazon RDS 数据库实例”。
-
删除 Oracle Spatial 选项
删除使用 SPATIAL
选项提供的数据类型的所有对象后,可以从数据库实例中删除该选项。如果数据库实例上未 安装 Oracle Java 虚拟机 (JVM),则删除 SPATIAL
选项时会出现短暂中断。如果数据库实例上已安装 Oracle Java 虚拟机 (JVM),则不会出现中断。删除 SPATIAL
选项后,您无需重新启动数据库实例。
删除 SPATIAL
选项
-
备份您的数据。
警告
如果实例使用作为选项一部分启用的数据类型,并且您删除了
SPATIAL
选项,则可能会丢失数据。有关更多信息,请参阅“备份、还原和导出数据”。 -
检查是否有任何现有对象引用了
SPATIAL
选项的数据类型或功能。如果存在
SPATIAL
选项,则在应用无SPATIAL
选项的新选项组时,实例可能会卡住。您可以使用以下查询标识对象:SELECT OWNER, SEGMENT_NAME, TABLESPACE_NAME, BYTES/1024/1024 mbytes FROM DBA_SEGMENTS WHERE SEGMENT_TYPE LIKE '%TABLE%' AND (OWNER, SEGMENT_NAME) IN (SELECT DISTINCT OWNER, TABLE_NAME FROM DBA_TAB_COLUMNS WHERE DATA_TYPE='SDO_GEOMETRY' AND OWNER <> 'MDSYS') ORDER BY 1,2,3,4; SELECT OWNER, TABLE_NAME, COLUMN_NAME FROM DBA_TAB_COLUMNS WHERE DATA_TYPE = 'SDO_GEOMETRY' AND OWNER <> 'MDSYS' ORDER BY 1,2,3;
-
删除引用了
SPATIAL
选项的数据类型或功能的任何对象。 -
请执行下列操作之一:
-
从
SPATIAL
选项所属的选项组中删除该选项。此更改会影响使用该选项组的所有数据库实例。有关更多信息,请参阅“从选项组中删除选项”。 -
修改数据库实例并指定不包含
SPATIAL
选项的另一个选项组。此更改会影响单个数据库实例。您可以指定默认 (空) 选项组,或指定其他自定义选项组。有关更多信息,请参阅“修改 Amazon RDS 数据库实例”。
-