- 使用所有服务器定义和包装器定义设置 DB2 联合数据库。
- 在远程服务器中设置复制控制表和 Capture 程序。这就是昵称的源表驻留的地方。请参阅《DB2 复制指南和参考版本 8》的第
2 章『对复制进行设置』。如果 DB2 不自动创建昵称,则必须使用下列表的一个模式名以在联合
DB2 数据库中创建昵称:
- IBMSNAP_SIGNAL
- IBMSNAP_PRUNE_SET
- IBMSNAP_PRUNCNTL
- IBMSNAP_REGISTER
- IBMSNAP_REG_SYNC(仅适用于非 DB2 远程源)
在执行此步骤之后,复制控制表的昵称是作为 DB2 联合数据库上的一种“捕获控制模式”中的昵称提供的。此模式名对于 DB2TEXT CREATE INDEX 命令很重要。
- 将表注册为复制源。有关详细信息,请参阅《DB2 复制指南和参考版本 8》 中的第 3 章『将表和视图注册为复制源』。有关注册要对其创建索引的昵称的限制,请参阅第 *** 页。
- 如果在注册步骤中 DB2 未自动创建昵称,则在联合数据库中为复制捕获表创建昵称。复制捕获表可以是“更改数据”(CD)表,也可以是“一致更改数据”(CCD)表。此昵称是 DB2TEXT CREATE INDEX 命令的一个参数。
注意,一定不能更改列名 IBMSNAP_OPERATION、IBMSNAP_COMMITSEQ、IBMSNAP_INTENTSEQ 和主键列的名称。
- 如果正在使用 DB2 复制源,则确保 Capture 程序正在运行。强烈建议不要对 Capture 程序使用冷启动。如果使用冷启动,则必须重新插入 APPLY_QUAL LIKE 'NSE%' 的 IBMSNAP_SIGNAL 表中的所有行。在以下
SQL 语句中,可以看到这是如何完成的:
INSERT INTO <capture control schema>.IBMSNAP_SIGNAL
SELECT CURRENT TIMESTAMP, 'CMD', 'CAPSTART', MAP_ID, 'P'
FROM <capture control schema>.IBMSNAP_PRUNCNTL
WHERE APPLY_QUAL LIKE 'NSE%';
- 可以使用以下示例来通过使用复制对昵称创建文本索引:
DB2TEXT
CREATE INDEX <indexname> FOR TEXT ON <nickname> (< text column>)
REPLICATION CAPTURE TABLE <capture nickname>
CONTROL TABLE SCHEMA <capture control schema>