2. 新增的表
▼▼▼create table TTUSER.BS_SPSE( KEY_ID NUMBER(18) not null, SYNC_SRC_KEY VARCHAR2 (50 BYTE) not null, ATTROID NUMBER(14) not null, ATTRID VARCHAR2(32 BYTE) not null, ATTRVALUE VARCHAR2(128 BYTE), STARTDATE DATE, ENDDATE DATE, SPSERVID VARCHAR2(32 BYTE), CANCELOID NUMBER(14))
3. 新建表加索引
▼▼▼create unique index TTUSER.IDX_BS_SPSE_UIDon TTUSER.BS_SPSE (KEY_ID,ATTRID,SYNC_SRC_KEY,ATTROID);
▼▼▼
Command> call ttconfiguration;----查看当前参数< CacheAwtMethod, 1 >< CacheAwtParallelism, 1 >< CkptFrequency, 0 >< CkptLogVolume, 256 >< CkptRate, 0 >< CkptReadThreads, 1 >< CommitBufferSizeMax, 10 >< ConnectionCharacterSet, US7ASCII >< ConnectionName, sampledb >< Connections, 245 >< DDLReplicationAction, INCLUDE >< DDLReplicationLevel, 2 >< DataBaseCharacterSet, AL32UTF8 >< DataStore, timesten/ttuser/datads/sampledb >< DynamicLoadEnable, 1 >< DurableCommits, 0 >
create table TTUSER .BS_SP_0507 as select * from TTUSER .BS_SP;
2. 核对数据:
▼▼▼select count(1)from (SELECT *FROM TTUSER .BS_SPminus SELECT *FROM TTUSER .BS_SP_0507);select count(1)from (SELECT *FROM TTUSER .BS_SP_0507minus SELECT *FROM TTUSER .BS_SP);
3. 添加字段:
添加字段用删除表后修改建表语句将新字段加入重新建表的方式
alter session set ddl_replication_level=2;
DDLReplicationLevel 连接属性可以控制复制对象的行为。DDLReplicationLevel = 1:不复制表,索引和同义词的create 和 drop,只复制复制表的添加和删除列操作DDLReplicationLevel = 2: 缺省,复制表,索引和同义词的create 和 drop;DDLReplicationAction 必须设置为INCLUDE(缺省)DDLReplicationLevel = 3:除了2 的所有行为外,还复制视图,序列,ttCacheUidPwdSet,以及可以为一个表加一个非空的列alter session set ddl_replication_action='EXCLUDE';truncate table TTUSER.BS_SP; drop table TTUSER.BS_SP;
▼▼▼create table TTUSER.BS_SP ( KEY_ID TT_BIGINT NOT NULL, SP_ID VARCHAR2(64 BYTE) NOT INLINE, SP_BIZ_ID VARCHAR2(64 BYTE) NOT INLINE, BIZ_TYPE VARCHAR2(32 BYTE) INLINE, PACKAGE_ID VARCHAR2(4 BYTE) INLINE, STATUS TT_TINYINT, THRD_NUM VARCHAR2(20 BYTE) INLINE, AVAILTIME DATE NOT NULL, EXPIRETIME DATE, OID TT_BIGINT NOT NULL DEFAULT 0, PRODUCT_OID TT_BIGINT, SYNC_SRC_KEY VARCHAR2(50 BYTE) );create unique index TTUSER.PK_BS_SP on TTUSER.BS_SP (KEY_ID, OID);-----添加字段新建表之后,主库表结构及索引几分钟的时间内自动同步到备库当中。create table TTUSER.BS_SPSE( KEY_ID NUMBER(18) not null, SYNC_SRC_KEY VARCHAR2 (50 BYTE) not null, ATTROID NUMBER(14) not null, ATTRID VARCHAR2(32 BYTE) not null, ATTRVALUE VARCHAR2(128 BYTE), STARTDATE DATE, ENDDATE DATE, SPSERVID VARCHAR2(32 BYTE), CANCELOID NUMBER(14));create unique index TTUSER.IDX_BS_SPSE_UID on TTUSER.BS_SPSE (KEY_ID,ATTRID,SYNC_SRC_KEY,ATTROID);------新建表之后,表结构会自动同步到备库。
▼▼▼
alter session set ddl_replication_level=2;alter session set ddl_replication_action='EXCLUDE';alter active standby pair include table TTUSER.BS_SP; ---调整asp关系同步alter active standby pair include table TTUSER.BS_SPSE; ---调整asp关系同步
——主库已修改过的两个表放开asp关系中的同步为include之后,会自动同步到备库asp关系中(无需两边都执行)。
▼▼▼
insert into TTUSER.BS_SP (KEY_ID,SP_ID,SP_BIZ_ID,BIZ_TYPE,PACKAGE_ID,STATUS,THRD_NUM,AVAILTIME,EXPIRETIME,OID,PRODUCT_OID) select KEY_ID,SP_ID,SP_BIZ_ID,BIZ_TYPE,PACKAGE_ID,STATUS,THRD_NUM,AVAILTIME,EXPIRETIME,OID,PRODUCT_OID from TTUSER .BS_SP_0507; commit;
注:主库insert之后,不会立即同步到备库,因为数据量大提交后会在备库产生大量的锁(如下),经过一段时间后(十分钟左右)锁会自动消失,之后查询备库数据会与主库一致,主备数据自动同步完成。
▼▼▼41982 0x2cf00f0 2030.1426 Active Database 0x01312d0001312d00 IX 0 Row BMUFVUAAACvjgcABiU Xn 0 TTUSER.BS_SP Row BMUFVUAAACvjgcAAiU Xn 0 TTUSER.BS_SP Row BMUFVUAAACvjgcAPiT Xn 0 TTUSER.BS_SP Row BMUFVUAAACvjgcAOiT Xn 0 TTUSER.BS_SP Row BMUFVUAAACvjgcANiT Xn 0 TTUSER.BS_SP Row BMUFVUAAACvjgcAMiT Xn 0 TTUSER.BS_SP Row BMUFVUAAACvjgcALiT Xn 0 TTUSER.BS_SP Row BMUFVUAAACvjgcAKiT Xn 0 TTUSER.BS_SP Row BMUFVUAAACvjgcAJiT Xn 0 TTUSER.BS_SP
▼▼▼
select count(1) from (SELECT * FROM TTUSER .BS_SP minus SELECT * FROM TTUSER .BS_SP_0507);select count(1) from (SELECT * FROM TTUSER .BS_SP_0507 minus SELECT * FROM TTUSER .BS_SP);
▼▼▼
call ttOptEstimateStats('TTUSER.BS_SP',1,'51 PERCENT');call ttOptEstimateStats('TTUSER.BS_SPSE',1,'51 PERCENT');

更多精彩干货分享
点击下方名片关注
IT那活儿





