选择正确的预构建数据库服务名称是连接 Oracle Autonomous Data Warehouse 的关键。了解不同的预构建数据库服务名称以及应该选择哪个服务名称。
什么是预建数据库服务名称?
databasename_high
— 资源最多,并发度最低。并行运行查询。databasename_medium
— 资源较少,并发度较高。并行运行查询。databasename_low
— 资源最少,并发度最高。串行运行查询。这些名称包含在 Oracle Wallet 内的 tnsnames.ora 文件中。单击 Oracle Cloud Infrastructure 控制台中的数据库连接可查看相关字符串。
.png 的说明
关于 Oracle Resource Manager 中的使用者组
数据库服务名称映射到资源管理器中的使用者组,这些使用者组限制 Oracle Autonomous Data Warehouse 中可以同时运行的并发连接和查询数 (concurrency) 以及每个查询允许的最大并行进程数 (parallel_degree_limit)。这些限制取决于许可的 ECPU 或 OCPU 数以及是否启用了自动缩放。
下表显示了具有 32 个 ECPU 且禁用和启用了 ECPU 自动缩放的数据库的并发连接值示例。
数据库服务名 | 禁用了 ECPU 自动缩放时的并发查询数 | 启用了 ECPU 自动缩放时的并发查询数 |
---|---|---|
high | 3 | 9 |
medium | 20(0.63 × ECPU 数) | 60(1.89 × ECPU 数) |
low | 最多 4800(150 x ECPU 数) | 最多 4800(150 x ECPU 数) |
为 Oracle Analytics 选择最佳数据库服务名称
名称为 high 的数据库服务可运行的最大并发查询数如下:不启用自动缩放时三个,启用了自动缩放时九个。连接到数据库服务名称 high 的三个用户各运行一个查询,或者单个用户在一个 Oracle Analytics 仪表盘中运行三个报表时,可能会达到此限制。
服务名称 low 适用于 Oracle Analytics 的大多数 Oracle Autonomous Data Warehouse 工作量,但是要使用并行查询,请选择服务名称 medium。服务名称 low 的并行度限制为一,这意味着无并行度。如果连接到服务名称 low,即使在表或索引级别指定了并行度,并行度也会降至一,并且查询不会并行运行。服务名称 medium 和 high 的并行度限制(按查询)为许可 CPU 数的两倍。
注:连接到属于 Oracle Fusion Analytics Warehouse (Fusion Analytics) 的数据库需要使用服务名称 low,以实现最大并发查询数。
监视排队的语句
如果达到了最大并发查询数限制,则额外的查询将进行排队。Oracle Autonomous Data Warehouse 提供了用于检查排队语句的度量。
在 Oracle Cloud Infrastructure 控制台的 Oracle Autonomous Data Warehouse 页面中选择数据库操作和数据库仪表盘。
依次选择性能中心和“SQL 监视”选项卡可查看排队语句的状态,此类语句显示为灰色时钟。在此示例中,三个查询正在使用服务名称 high 运行,一个查询已排队,一个查询正在使用服务名称 medium 运行。当使用服务名称 high 运行的三个查询之一完成时,便会执行排队的语句。
监视并行度
如果超过了并行度限制,您便会在 SQL 监视报表中看到并行度 (degree of parallelism, DOP) 降级。并行度降级原因 353 意味着因最大并行度限制,资源管理器对语句进行了降级。
下表中介绍了降级原因代码(适用于 Oracle 数据库版本 18 及更高版本):
ID | 原因代码 |
352 | 因自适应 DOP 而导致 DOP 降级。 |
353 | 因资源管理器最大 DOP 而导致 DOP 降级。 |
354 | 因进程数不足而导致 DOP 降级。 |
355 | 因从属项无法联接而导致 DOP 降级。 |
资源管理器 CPU 等待事件
等待资源管理器分配 CPU 的会话会导致 resmgr:cpu quantum 等待事件增加。为了减少此等待事件的发生,请确认使用了服务名称 low 或 medium 来建立 OAC 连接,或者增加分配给 ADW 的 CPU 数。
要查看等待数和平均等待时间,请在自动工作量资料档案库 (Automatic Workload Repository, AWR) 报表的“前台等待事件”中查看 resmgr:cpu quantum 等待事件。
在此示例中,等待总数为 272,每个等待的平均等待时间为 588.91 毫秒,总等待时间为 160 秒。已经确定,原因是使用了数据库服务名称 high 来建立 OAC 连接。客户切换到名称为 medium 的服务后,这些等待时段便消失了,仪表盘的周期性运行缓慢问题得到了解决。
在 Oracle Analytics 中创建与 Oracle Autonomous Data Warehouse 的连接时适用的提示
在 Oracle Analytics 中,当您使用实例 Wallet 定义 Oracle Autonomous Data Warehouse 连接时,默认选择的是服务名称 high。将服务名称更改为 low 或 medium 可避免限制并发连接数。