需要先参考上一篇文章 https://blog.csdn.net/qingsong3333/article/details/102919671
方法参考如下:
db2 attach to <实例名>
db2 update dbm cfg using WLM_DISPATCHER yes
db2 detach
db2 connect to <数据库名>
db2 "create service class APPUSER_SUPERCLASS CPU LIMIT 100"
db2 "create workload APPUSER_WORKLOAD SYSTEM_USER ('APPUSER') SESSION_USER ('APPUSER') SERVICE CLASS APPUSER_SUPERCLASS"
其中service class的名子和 workload的名子随便起。APPUSER是用户的名子
上面的例子中创建了service class以及workload。现在只需要再给service class上创建一个threshold即可:
db2 "CREATE THRESHOLD APPUSER_THRESHOLD FOR SERVICE CLASS APPUSER_SUPERCLASS ACTIVITIES ENFORCEMENT DATABASE ENABLE WHEN CONCURRENTDBCOORDACTIVITIES > 1 AND QUEUEDACTIVITIES UNBOUNDED CONTINUE"
这样如果使用appuser用户去并发执行SQL,那么只能有一个session是正在执行的,其他的状态都是UOW Queued.