https://www.ibm.com/docs/en/db2/11.5?topic=licenses-applying-db2
从这两句话可见,安装的是同一个version(比如11.5),是通过注册不同的license来区分edition的(比如AE或者SE)。
使用 db2licm -a 命令来注册license,然后可以用 db2licm -l 命令来查看结果。比如:
Product name: "Db2 Standard Edition"
License type: "Virtual Processor Core"
Expiry date: "Permanent"
Product identifier: "db2std"
Version information: "11.5"
Enforcement policy: "Hard Stop"
Features:
IBM Db2 Performance Management Offering: "Not Licensed"
https://www.ibm.com/docs/en/db2/11.5?topic=licenses-db2licm-license-management-tool-command
该命令用来注册、移除、修改license。常用选项如下:
db2licm -a :注册license。注意这里的filename是指license文件。db2licm -e HARD|SOFT :更改enforcement policy,详见下面的描述。db2licm -g :生成compliance report。注意这里的filename是指output文件。db2licm -x :Reset license compliance information。https://www.ibm.com/docs/en/db2/11.5?topic=issues-analyzing-db2-license-compliance-reports
在Db2 license compliance report里,Db2 offering的状态可能是以下值之一:
In compliance :没有violation。该功能已注册,且已被使用。Not used :该功能未被使用。Violation :该功能已被使用,但没有注册相应的license。https://www.ibm.com/docs/en/db2/11.5?topic=licenses-db2licm-license-management-tool-command
这是两种不同的enforcement policy。
可以用 db2licm -e 命令来改变enforcement policy。比如:
db2licm -e db2adv SOFT
https://www.ibm.com/docs/en/db2/11.5?topic=management-frequently-asked-questions#c0052604.dita__wlmfaq23
Db2的WLM功能需要相应的license。WLM功能包括创建service class,workload,threshold,work action set等。它需要以下的license之一:
有了license,以下功能就不受限了:
db2licm -g filename.txt 的结果如下:
......
License Compliance Report
DB2 Enterprise Server Edition In compliance
IBM DB2 Performance Management Offering: "Not used".
......
后来,结果变成了:
......
License Compliance Report
DB2 Enterprise Server Edition Violation
IBM DB2 Performance Management Offering: "Violation".
Workload Manager
......
也就是说,workload manager(WLM)的功能出现了violation。
结合前面所描述的内容分析,是因为Db2是 Enterprise Server Edition 的license,没有包含WLM的功能。之前因为没有用到WLM功能,所以显示“In compliance”。后来因为创建了一个Db2 workload,导致license compliance report里出现了“violation”。
但这里没提到enforcement policy是soft还是hard。
若想要避免在license compliance report里出现“violation”的字样,则需要升级license到一个支持WLM的edition。当然,也可以删除所添加的workload。具体步骤为:
db2 "alter workload disable"
db2 "drop workload "
然后reset license compliance信息: db2licm -x
注:这时可能需要重启一下Db2,Db2 team是这么推荐的。
然后,再重新运行 db2licm -l ,查看是否还有“violation”的字样。
可以从 SYSIBMADM.ENV_PROD_INFO 检查版本。
https://ibm-greaterchinagroup.slack.com/archives/C04BJMMN5T5/p1669116854154009
https://www.ibm.com/support/pages/db2-license-compliance-report-returns-violation-status-against-certain-feature
https://www.ibm.com/docs/en/db2/11.5?topic=configuring-db2-licenses