GBase 8a 运维—— 4(多vc镜像配置)
1、创建distribution后,先初始vc1,再向vc1看齐初始化vc2
initnodedatamap from vc1;
2、对比hashmap是否相同(注意如果多次操作,distribution id要多写几个)
select distinct(res.r), count(res.r) from (select count(*) r from
gbase.nodedatamap t where t.data_distribution_id in (1,2) group by
t.hashkey, t.nodeid) res group by res.r;
+---+--------------+
| r | count(res.r) |
+---+--------------+
| 2 | 65536 |
+---+--------------+
3、设置创建镜像表并发数,session级别参数,比如2。
set gcluster_mirror_parallel_count=2;
4、创建镜像
#主/镜 库存在,主表存在,镜表不存在
alter table vc1.testdb.test create mirror to vc2;
#主/镜 库表存在,以下会删除重建镜库下表。
alter table vc1.testdb.test create mirror to vc2 force;
#主库表存在,镜库存在。批量给主库的表创建镜像表。可加force。
alter database vc1.testdb create mirror to vc2;
alter database vc1.testdb create mirror to vc2 force;
#主/镜库存在,已有对象无影响,后续对象会镜像
alter database vc1.testdb set default mirror = vc2;
#建表时候创建比如
create table vc1.testdb.t1(id int) mirror to vc2;
create table vc1.testdb.t1 mirror to vc2 as select * from vc1.testdb.t2;
5、查看镜像表和默认镜像vc
select vc_id,index_name,mirror_vc_id from gbase.table_distribution where dbname='***';
show mirror databases;
6、删除镜像表
#按照表为对象删除,数据不动
alter table vc1.testdb.t1 delete mirror;
#针对库删除所有镜像关系,但数据不动
alter database vc1.testdb delete mirror;
#原有镜像表镜像关系依然存在,后续不产生新的镜像表。
alter database vc1.testdb set default mirror=null;
评论
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526