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那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129896.html
摘要:以前一直想写一篇总结开发经验的文章,估计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟见肘。在需求都还没完成的时候把大量时间花在优化上是本末倒置的优化要用实际数据说话,借助测试工具进行检测如网易的腾讯的和,科大讯飞的,的。 以前一直想写一篇总结 Android 开发经验的文章,估计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟见肘。近日,思路较为明朗,于是重新操起键盘开始码...
摘要:是什么官方文档说道是一个专为应用程序开发的状态管理模式。触发之别名篇触发之对象展开运算符篇触发之对象展开运算符别名篇先引用官方文档的说法类似于,不同在于提交的是,而不是直接变更状态。 Vuex是什么 官方文档说道:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化 什么是状态管理模式...
摘要:而组件在创建时,又怎么会去调用呢这是由于将自身作为一个插件安装到了,通过注册了一个钩子函数,从而在之后所有的组件创建时都会调用该钩子函数,给了检查是否有参数,从而进行初始化的机会。 vue-router 是 Vue.js 官方的路由库,本着学习的目的,我对 vue-router 的源码进行了阅读和分析,分享出来给其他感兴趣的同学做个参考吧。 参考 源码:vuejs/vue-route...
摘要:和联合总裁及董事会成员将在下周宣布更多的战略。曾在去年月的大会上宣布了公共云计划,其中包含了和的相关功能,以及云服务和数据库云服务。目前已经表示将会把和整合进自身的公有云之中。但截至到目前,这些组件仍然处在预览阶段。 在当前的云计算时代,PaaS领域已经成为各大巨头必争之地。PaaS提供应用服务引擎,用户基于该应用服务引擎可构建该类的应用,典型的案例有Google App Engine、...
摘要:基于此,我们很自然的就想到中有监听作用的两个功能。正如在所说小结一下文章开头的问题是一个关于基本数据类型和引用数据类型赋值的问题在初始化时被递归遍历转化是用于实现双向绑定这么看来,二者是没有任何关系的。想当然和不加深究实为大忌,引以为戒。 2018-11-28更:文章发布后因为存在理解错误,经@Kim09AI同学提醒后做了调整,在此深表感谢。其他不足之处,还望不吝赐教。 前言 前段时间...
阅读 1346·2023-01-11 13:20
阅读 1684·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4100·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3597·2023-01-11 13:20