WLM 队列分配规则
当用户运行查询时,WLM 基于 WLM 队列分配规则将查询分配给第一个匹配的队列。
-
如果用户以超级用户身份登录并在带有超级用户标签的查询组中运行某个查询,则该查询会分配到超级用户队列。
-
如果用户属于某个角色、属于所列的用户组或在所列查询组中运行某个查询,则该查询会分配给第一个匹配队列。
-
如果某个查询不满足任何条件,则该查询会分配给默认队列,即 WLM 配置中定义的最后一个队列。
下图说明这些规则的工作方式。
![Flowchart showing decision process for assigning users to queues based on superuser status and matching criteria.](images/queue-assignment-rules-with-rbac.png)
队列分配示例
下表列出了具有超级用户队列和四个用户定义队列的 WLM 配置。
Queue | 并发 | 用户角色 | 用户组 | 查询组 |
---|---|---|---|---|
Superuser |
1 |
超级用户 |
||
1 |
5 |
test_db_rw |
UG_1 |
|
2 |
5 |
QG_B |
||
3 |
5 |
UG_2 |
QG_C |
|
默认 |
5 |
下面的插图介绍系统如何根据用户组和查询组将查询分配给前一个表中的队列。有关如何在运行时将查询分配给用户组和查询组的信息,请参阅本节后面的为队列分配查询。
![Diagram showing query assignments to different queues based on user groups and query groups.](images/queues-assignment-2.png)
在本示例中,WLM 进行以下分配:
-
第一组语句介绍将用户分配给用户组的三种方式。这些语句由用户
adminuser
运行,该用户不是任何 WLM 队列中所列用户组的成员。未设置任何查询组,因此,系统将这些语句路由到默认队列。 -
用户
adminuser
是超级用户,查询组设置为'superuser'
,因此,该查询分配给超级用户队列。 -
为用户
test_user
分配了队列 1 中所列的角色test_db_rw
,因此,该查询分配给队列 1。 -
用户
admin1
是队列 1 中所列用户组的成员,因此,该查询分配给队列 1。 -
用户
vp1
不是任何所列用户组的成员。查询组设置为'QG_B'
,因此,该查询分配给队列 2。 -
用户
analyst1
是队列 3 中所列用户组的成员,但'QG_B'
匹配队列 2,因此,该查询分配给队列 2。 -
用户
ralph
不是任何所列用户组的成员,且查询组被重置,因此,不存在任何匹配队列。该查询分配给默认队列。