您可以通过激活功能级别并指定应用程序兼容级别来控制 Db2 12 中新功能的激活和采用。 您也可以在不采用新功能的情况下继续进行纠正性和预防性服务。
准备工作
限制 :在运行CATMAINT为功能级别502或更高定制 Db2 目录之前,必须先激活功能级别500或501。 也就是说,DISPLAY GROUP命令输出必须显示HIGHEST ACTIVATED FUNCTION LEVEL (V12R1M500)或更高版本。 此限制使得无法为高于500的功能级别定制 Db2 目录,但仍可以回退到 Db2 11 。 但是,稍后激活较低的功能级别(如功能级别100*)不会限制CATMAINT操作。
关于本任务
ACTIVATE命令用于控制 Db2 中新功能的激活。 您可以通过运行 Db2 安装CLIST来定制更新 Db2 目录和激活 Db2 功能级别的工作。
过程
要激活 Db2 功能级别引入的功能和增强功能,请完成以下步骤:
- 如果 Db2 12 处于功能级别100,请按照迁移时激活 Db2 12个新功能的步骤操作。
- 发出显示组命令,检查 Db2 子系统或每个数据共享组成员的代码级别是否支持您的目标功能级别。
- 如有必要,请执行维护操作,例如PTF和RSU,以使您的 Db2 子系统或数据共享组成员达到目标功能所需的代码级别。
- 为CATMAINT和功能级别激活步骤生成定制的JCL作业。 您可以使用 Db2 installation CLIST。
在面板 DSNTIPA1 上,指定 ACTIVATE(激活)、INPUT MEMBER(输入成员)和 OUTPUT MEMBER(输出成员)字段中的值。
- 在“安装类型”字段中,指定“激活”。
- 在“输入成员”字段中,指定您在安装或迁移到 Db2 12 时创建的CLIST输出成员的名称,或最近激活的 Db2 12 功能级别的名称。
- 在输出成员字段中,指定一个新的成员名称,保存您的更改以备将来使用。

在 DSNTIPT 面板上,验证 SAMPLE LIBRARY 字段值,即要创建的输出数据集的名称。 如果数据集已经存在,则此字段的最左侧会出现一个星号。 如果数据集已经存在,CLIST 将替换为激活新功能级别而定制的成员。
- 在面板 DSNTIP00 上,在TARGET FUNCTION LEVEL(目标功能级别)字段中指定 V12R1M5nn ,其中
5nn 是您要激活的功能级别。 格式为 VvvRrMmmm ,其中 vv 是版本号, r 是发行号, mmm 是修改级别。 该值用于DSNTIJAF作业中的ACTIVATE命令和DSNTIJTC作业中的CATMAINT实用程序控制语句。
- 如果所有 Db2 应用程序都能在目标函数级别绑定并运行,请修改APPLCOMPAT和SQLLEVEL子系统的参数设置。 否则,请保持这些字段不变。
继续浏览其余面板,等待 CLIST 为激活过程定制作业。 输出数据集包含为激活过程量身定制的工作。
- 运行DSNTIJIC作业,获取 Db2 目录和目录的图像副本。
- 运行定制的DSNTIJTC作业,使用 LEVEL V12R1M5nn 运行CATMAINT实用程序,将目录更新到适当的目录级别。
您可以使用一个指定目标功能级别的CATMAINT作业。 如果目标功能级别需要多次目录级别更新,CATMAINT作业将按顺序处理每次更新。 如果序列中的后续更新失败,则不会回滚之前成功的更新,目录级别将保持在达到的最高级别。 如果出现这种情况,您可以更正故障原因,然后重新提交相同的CATMAINT工作。重要提示: 在CATMAINT工作任何部分完成后,请勿尝试在较低代码级别启动 Db2 ,以获得更高的功能级别。 只有在您确认 Db2 能够以必要的代码级别继续运行后,才能运行CATMAINT作业。 允许目录变更的代码包含在执行CATMAINT任务的代码级别中。
限制 :在运行CATMAINT为功能级别502或更高定制 Db2 目录之前,必须先激活功能级别500或501。 也就是说,DISPLAY GROUP命令输出必须显示HIGHEST ACTIVATED FUNCTION LEVEL (V12R1M500)或更高版本。 此限制使得无法为高于500的功能级别定制 Db2 目录,但仍可以回退到 Db2 11 。 但是,稍后激活较低的功能级别(如功能级别100*)不会限制CATMAINT操作。
目录级别更改完成后, Db2 会在 SYSIBM.SYSLEVELUDPATES 目录表中记录更改,并向控制台发送信息。 DSNG014I 到控制台。
- 如果CATMAINT实用程序将任何修改过的 Db2 目录对象置于REORG-pending(AREO*)咨询状态,请为这些对象运行REORG实用程序。
- 可选: 测试 Db2 代码级别和目录级别,以准备激活功能级别
- 运行定制的DSNTIJAF作业,或发出以下ACTIVATE命令,将 V12R1M5nn 更改为您要激活的功能级别。
-ACTIVATE FUNCTION LEVEL (V12R1M5nn)
重要提示: 不要试图在低于最高激活功能级别的任何代码级别启动 Db2 ,即使是在较低的星号(*)功能级别。 只有在您确认 Db2 能够继续在所需的代码级别运行后,才能激活功能级别。
如果命令成功执行,
Db2 会发送消息
DSN9022I。 消息
DSNU757I 指示激活命令的结果。
在成功完成激活命令后,还需要执行更多操作,才能使用大多数类型的新功能和功能层面的增强功能。 例如,新的SQL功能要求应用程序使用适当的应用程序兼容性级别,优化增强功能仅在SQL语句完全准备就绪后才适用。
- 当您准备好使用功能级别的新功能时,请在相应的应用程序兼容级别重新绑定它们。 更多信息,请参阅控制 Db2 应用程序兼容性级别。
提示 :仅当所有 Db2 应用程序都能绑定并在目标功能级别运行时,才继续执行以下步骤。
当您准备好让所有应用程序使用目标功能级别的新功能时,您可以选择运行以下任务:
- 运行DSNTIJUZ,使用面板 DSNTIP00 上指定的APPLCOMPAT值修改子系统参数模块。
- 运行DSNTIJOZ作业,发出SET SYSPARM命令,使APPLCOMPAT子系统的参数更改生效。
- 运行DSNTIJUA作业,使用在面板 DSNTIP00 上指定的SQLLEVEL值修改 Db2 数据专用应用程序默认模块。
后续操作
完成下列任何操作:
- 如果新功能级别包括优化增强功能,则 Db2 必须先进行完整的准备,然后才能使用任何SQL语句。 是否需要进行完全准备取决于语句类型:
- 对于静态SQL语句,在绑定或重新绑定包之后
- 对于非稳定的动态 SQL 语句,立即执行,除非语句在动态语句缓存中
- 对于稳定的动态 SQL 语句,在失效、可用或更改应用程序兼容性级别后
- 如果您在确认 Db2 在目标功能级别稳定后,没有运行更新APPLCOMPAT和SQLLEVEL子系统参数、解决任何应用程序不兼容问题以及提高应用程序兼容性的操作, 请按照控制 Db2 应用程序兼容性级别中的说明进行操作。
- 如果您在激活 Db2 12 功能级别时遇到回退或其他问题,请按照 Db2 12中描述的一般方法解决问题,同时尽量减少对应用程序的影响。
- 您可能需要更新“复制”、“恢复”和“重建索引”实用程序作业,以添加新的或删除过时的 Db2 目录对象。 当实用程序遇到以下 Db2 目录对象的情况时,会发出消息 DSNU1530I:
- 该物品不再使用或已不存在。
- 对象是在更高的目录级别或功能级别创建的。
为了获得最佳效果,请在激活支持更改的功能级别后,将这些更新作为实用程序任务。 有关 Db2 12 中目录更改的更多信息,请参阅 Db2 12 中的目录更改。