安装Db2 license
https://www.ibm.com/docs/en/db2/11.5?topic=licenses-applying-db2
- Install the Db2 Version 11.5 - Server image that uses the Db2 Setup wizard.
- Run the db2licm -a command to apply the relevant licenses for either the Db2 Advanced Edition or Db2 Standard Edition.
从这两句话可见,安装的是同一个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"
db2licm
https://www.ibm.com/docs/en/db2/11.5?topic=licenses-db2licm-license-management-tool-command
该命令用来注册、移除、修改license。常用选项如下:
db2licm -a <filename>
:注册license。注意这里的filename是指license文件。db2licm -e <product-identifier> HARD|SOFT
:更改enforcement policy,详见下面的描述。db2licm -g <filename>
:生成compliance report。注意这里的filename是指output文件。db2licm -x
:Reset license compliance information。
In compliance,Not used和Violation
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。
Soft Stop和Hard Stop
https://www.ibm.com/docs/en/db2/11.5?topic=licenses-db2licm-license-management-tool-command
这是两种不同的enforcement policy。
- HARD:未注册的功能将会被限制使用
- SOFT:未注册的功能不会被限制使用,而是会被记录log在compliance report里
可以用 db2licm -e <product-identifier> HARD|SOFT
命令来改变enforcement policy。比如:
db2licm -e db2adv SOFT
Db2 workload manager(WLM)所需的license
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之一:
- IBM® Db2 11.5 Advanced Edition
- IBM Db2 11.5 Standard Edition
- IBM Db2 Version 11.5 Developer Community Edition
- IBM Smart Analytics System
有了license,以下功能就不受限了:
- Using or altering the default service classes and workloads; this includes all monitoring capabilities
- Creating, altering, or dropping histogram templates
- Using the Db2 workload management table functions or stored procedures
- Creating, activating, stopping, or dropping workload management event monitors
- Granting, altering, or revoking workload privileges
案例分析
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。
- 如果是soft,相应的WLM功能应该并没有受限,只是会在license compliance report里出现“violation”的字样。
- 如果是hard,则创建workload应该会失败。
若想要避免在license compliance report里出现“violation”的字样,则需要升级license到一个支持WLM的edition。当然,也可以删除所添加的workload。具体步骤为:
db2 "alter workload <XXXXXX> disable"
db2 "drop workload <XXXXXX>"
然后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