Trigger中有一种Dead Trigger,用法较多,可以参考其定义,其中一个就是恢复单向同步的表的初始负载。也就是说要发起一次初始负载,就是要创建一个Dead Trigger。
1. 创建一个channel
insert intosym_channel (channel_id,processing_order, max_batch_size, enabled, description) values('sale_transaction', 1, 100000, 1,'sale_transactional data from register and back office');
2. 创建一个Dead Trigger,将想要初始负载的表加入到channel中,初始负载的方向是单向的
insert intosym_trigger (trigger_id,source_table_name,channel_id,sync_on_insert, sync_on_update, sync_on_delete, last_update_time,create_time) values('sale_transaction_dead','sale_transaction','sale_transaction',0,0,0,current_timestamp,current_timestamp);
3. 创建一个Router
insert intosym_router (router_id,source_node_group_id,target_node_group_id,router_type,create_time,last_update_time) values('store_2_corp', 'store', 'corp','default',current_timestamp, current_timestamp);
4. 创建一个trigger-router组合
insert intosym_trigger_router (trigger_id,router_id,initial_load_order,last_update_time,create_time) values('sale_transaction_dead','store_2_corp', 200,current_timestamp, current_timestamp);
经过上边的四步之后,在一个节点注册到另一个节点的之后,下一步就是initial load的过程。要重新load一次,可以在initial load过程中输出数据的节点上运行下面的命令:
../bin/symadmin --engine corp-000reload-node 001