数据库openGauss的逻辑复制怎么样

数据库openGauss的逻辑复制怎么样,第1张

openGauss对数据复制能力的支持情况为: 支持通过数据迁移工具定期向异构数据库(如Oracle等)进行数据同步,不具备实时 数据复制能力。不足以支撑与异构数据库间并网运行实时数据同步的诉求。

openGauss提供了逻辑解码功能,通过反解xlog的方式生成逻辑日志。目标数据库解 析逻辑日志以实时进行数据复制。具体如图所示:

逻辑复制降低了对目标数据库 的形态限制,支持异构数据库、同构异形数据库对数据的同步,支持目标库进行数据同步期间的数据可读写,数据同步时延低。

具体请参考社区官方文档《开发者指南》

不同的数据库语法不同(SQL Server和Oracle为例),且复制包括目标表已存在和目标表不存在的情况,分别回答:

SQL Server中,如果目标表存在:

1

insert into 目标表 select from 原表;

SQL Server中,,如果目标表不存在:

1

select into 目标表 from 原表;

Oracle中,如果目标表存在:

1

2

insert into 目标表 select from 原表;

commit;

Oracle中,如果目标表不存在:

1

create table 目标表 as select from 原表;

sqlserver复制数据库为了简洁起见, 源库以下简称为 S , 目标库简称为 T。

方法中需要用到 SqlDelta

1 在 源S 上右键, 产生创建数据库的脚本;

2 修改脚本用以创建目标库T,主要是将原来的数据库名、文件路径改为实际的 。

3 sqlserver2014支持直接查看分区函数和分区方案, 直接右键产生相关的创建语句再在T上执行即可。

4 打开 SqlDelta 的下图界面, Source为旧DB, Target为新DB。注意源的连接权限至少应该是 dbowner , 否则存储过程之类的无法产生脚本。

配置完成没有问题, 点击右上角的 Run 。

5 如下图, 去掉不需要的项(如 users ), 然后点击右上角产生脚本。

6 将产生的脚本复制到新的DB的“新建查询”窗口, 开始执行就完成一半了。

7 执行完成之后, 点击上图中的 Refresh 按钮, 再次对比表、视图之等信息, 看是否有不同的项。

如果有区别, 则复制相应的脚本重新执行, 直到两次完全一致为止。

首先 SQL2008可以复制

*** 作:

1右击你要复制的数据库 任务-复制数据库

2选择原服务器,我使用的是本地SqlServer身份验证 输入正确

3选择目标服务器 我使用的是本地的 远程没试过

4一直下一步,在选择数据库(您要移动或复制那些数据库)中,对要复制的数据库划上对号 就是选中 单机下一步

5在配置目标数据库中,输入目标数据库名字,这个名字在DB中没有的哈 下一步

一直下一步 直到立即执行

6立即执行会有好几个项目,如果报错,把服务打开就行

ok 亲测

首先,打开并连接Sql Server,在源数据库Source_db(源数据库名称)上右键,然后依次点击“编写表脚本为”→“CREATE到”→“新查询编辑器窗口”。

在第1步产生的编辑器中按”crtl+a“组合键全选内容,然后右键“复制“(或按"crtl+c"键)。

新建查询,然后右键”粘贴“(或ctrl+v);如图所示,将代码中Source_db(源数据库名)改为target_db(目标数据库名)。接着右键单击”执行“执行代码。

然后,在目标数据库的表结构中就可以看到被复制过来的表了。

以上就是关于数据库openGauss的逻辑复制怎么样全部的内容,包括:数据库openGauss的逻辑复制怎么样、如何实现SQL中同一数据库中表与表之间的数据复制、sqlserver怎么复制数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9804517.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存