精华内容
下载资源
问答
  • dblink创建与数据同步

    2013-06-03 22:40:19
    该存储过程实现源数据库按照时间同步更新计算库的过程 实现表的同步以及动态表某期间的数据同步。 该存储过程主要演示了: 1.dblink创建和dblink使用;...2.如何使用字典表和游标实现选择性数据同步
  • 在线QQ客服:1922638专业的SQL Server、MySQL数据库同步软件http://bbs.csdn.net/topics/330104541用dblink、触发器实现两个数据库的同步。在本地数据库中,有一张带clob字段的表,新增的记录无法同步到远程数据库。...

    在线QQ客服:1922638

    专业的SQL Server、MySQL数据库同步软件

    http://bbs.csdn.net/topics/330104541

    用dblink、触发器实现两个数据库的同步。

    在本地数据库中,有一张带clob字段的表,新增的记录无法同步到远程数据库。

    触发器不可以直接访问远程数据库表中的clob字段。

    在本地数据库中,创建一个结构相同的全局临时表。

    将新增的记录插入到临时表。

    将临时表中的记录以insert into tableName@dblinkName select * from temp的形式插入到远程数据库。

    —创建全局临时表

    create global temporary table temp as select *from t_office_messages;

    —创建触发器

    create orreplace

    trigger “T_OFFICE_MESSAGES_TRIGGER”

    after insert on T_OFFICE_MESSAGES —触发事件

    for eachrow

    —行级触发器

    begin

    if inserting then

    insert into temp

    (message_id,

    msg_title,

    accessory,

    msg_send_per_id,

    msg_send_per_name,

    msg_send_date,

    msg_is_enable,

    msg_content,

    msg_already_date,

    msg_receivers,

    msg_isold,

    isdel,

    isstarmark)

    values

    (:new.message_id,

    :new.msg_title,

    :new.accessory,

    :new.msg_send_per_id,

    :new.msg_send_per_name,

    :new.msg_send_date,

    :new.msg_is_enable,

    :new.msg_content,

    :new.msg_already_date,

    :new.msg_receivers,

    :new.msg_isold,

    :new.isdel,

    :new.isstarmark);

    insert into dzzw.t_office_messages@dzzwdblink

    select * from temp where message_id=

    :new.message_id;

    end if;

    end;

    展开全文
  • 话题:数据库同步为什么建议使用dblink方式回答:其实 dblink同步的情况非常常见。但是在Oracle的一些版本(如11.2.0.3)中有一个特别大的隐患。可能会导致scn增长过快,无法同步,并且该症状会通过dblink传染到与之...

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。

    话题:数据库同步为什么不建议使用dblink方式回答:其实 dblink同步的情况非常常见。但是在Oracle的一些版本(如11.2.0.3)中有一个特别大的隐患。可能会导致scn增长过快,无法同步,并且该症状会通过dblink传染到与之相关的所有数据库中。16年11月全国范围内就爆发了大范围的该。我当时所的也出现了很多这种故障。经过我本人的测试,除了重建库之外无解,网上说的升级啥的可以解决其实无效(升级到11.2.0.4可以预防,但已经发生的不能解决)。所以要分情况对待,如果该数据库版本有隐患且连接到它的其它数据库非常多非常复杂,dblink不建议。可以搜索错误码 ora-19706 可以详细了解该问题的具体情况

    参考回答:原因是:数据量多的话,oracle应该不知道断点续传功能的,如果数据库出问题(undo表空间不足、临时表空间不足、其他错误等)、网络处问题的话,无断点续传需要重新同步数据,牵扯到一个效率的问题。如果只是一点数据,用dblink没什么大问题。 但是如果涉及到有ddl一类的,整个级的,或者什么则的,这个时候就要自定义大量的触发器来实现。效率和准确都要花大量时间去验证。得不偿失,不如直接用现成的方去同步。

    话题:dblink怎么让两个数据库的数据同步回答:为方便完成指定数据表的同步作,可以采用dblink与merge结合的方法完成。作环境: 此数据库器ip为192.168.196.76,有center与branch两个库,一般需要将center的表数据同步到branch,center为源库,branch为目标库,具体步骤如下:1.在源库创建到目标库的dblinkcreate database link branch --输入所要创建dblink的名称,自定义 connect to dbuser identified by “password” --设置连接远程数据库的名和 using '192.168.196.76/branch'; --指定目标数据库的连接方式,可用tns名称在创建dblink时,要注意,有时候可能会报名和错误,但实际们所输入的账户是正确的,此时就注意将的大小写按器上所设置的输入,并在前号加上双引号(器版本不同造成的)。2.成功后验证dblinkselect * from tb_bd_action@branch; --创建好rach库正常情况下,如果创建dblink成功,可采用该方式访问到远程数据库的表.3.通过merge语句完成表数据同步此例中需要将center库中的tb_sys_sqlscripe表同步到branch,简单的语法如下:merge into tb_sys_sqlscripe@branch b using tb_sys_sqlscripe c on (b.pk=c.pk) --从center将表merge到branch,同步的依据是两个表的pkwhen matched then update set b.sqlscripe=c.sqlscripe,b.author=c.author --如果pk值是相同则将指定表的值更新到目标表when not matched then --如果pk值不一至,则将源表中的数据整条入到目标表中insert values (c.pk, c.fk, c.createtime, c.lastmodifytime,c.author,c.module,c.deleteflag, c.scripttype);commit; --记得merge后必须commit,否则更改未能提交4.为方便每次需要同步时自动完成同步,可将该语句做成存储过程或脚本来定时执行或按要求手动执行,简单说一下创建脚本的方法:a.创建merge夹b.先将merge语句写完整后,存到merge.sql中c.merge,后写入以下内容sqlplus user/password@serverip/database @"%cd%\merge.sql"话题:数据库同步为什么不建议使用dblink方式回答:原因是:数据量多的话,oracle应该不知道断点续传功能的,如果数据库出问题(undo表空间不足、临时表空间不足、其他错误等)、网络处问题的话,无断点续传需要重新同步数据,牵扯到一个效率的问题。如果只是一点数据,用dblink没

    参考回答:展开全部 原因是:数据量多的话,oracle应该不知道断点续传功能的,如果数据库出问题(undo表空间不足、临时表空间不足、其他错误等)、网络处问题的话,无断点续传需要重新同步数据,牵扯到一个效率的问题。如果只是一点数据,用dblink没什么大问题。 但是如果涉及到有ddl一类的,整个级的,或者什么则的,这个时候就要自定义大量的触发器来实现。效率和准确都要花大量时间去验证。得不偿失,不如直接用现成的方去同步。话题:请教一下高手,同步数据为什么不用dblink而要用etl工具呢?回答:ETLETL即数据抽取(Extract)、转换(Tranorm)、装载(Load)的过程。它是构建数据仓库的重要环节。数据仓库是面向主题 的、集成的、稳定的且随时间不断变化的数据集合,用以支持经营管理中的决策制定过程。数据仓库系统中有可能存在着大量的dblink,etlETLETL即数据抽取(Extract)、转换(Tranorm)、装载(Load)的过程。它是构建数据仓库的重要环节。数据仓库是面向主题 的、集成的、稳定的且随时间不断变化的数据集合,用以支持经营管理中的决策制定过程。数据仓库系统中有可能存在着大量的

    话题:使用DBLink方式同步远程数据库中含Blob、Clob字段表的问题解决回答:lob类的字段在plsql developer和sqlplus里是不能直接显示的 如果是10g或者是以上版本的话 clob 应该是可以用to_char()进行转换lob类型的话 可以用utl_raw.cast_to_varchar2进行转换 你试试!话题:dblink怎么让两个数据库的数据同步回答:为方便完成指定数据表的同步作,可以采用dblink与merge结合的方法完成。作环境: 此数据库器ip为192.168.196.76,有center与branch两个库,一般需要将center的表数据同步到branch,center为源库,branch为目标库,具体步骤如下:1

    参考回答:展开全部 为方便完成指定数据表的同步作,可以采用dblink与merge结合的方法完成。作环境: 此数据库器ip为192.168.196.76,有center与branch两个库,一般需要将center的表数据同步到branch,center为源库,branch为目标库,具体步骤如下:1.在源库创建到目标库的dblinkcreate database link branch --输入所要创建dblink的名称,自定义 connect to dbuser identified by “password” --设置连接远程数据库的名和 using '192.168.196.76/branch'; --指定目标数据库的连接方式,可用tns名称在创建dblink时,要注意,有时候可能会报名和错误,但实际们所输入的账户是正确的,此时就注意将的大小写按器上所设置的输入,并在前号加上双引号(器版本不同造成的)。2.成功后验证dblinkselect * from tb_bd_action@branch; --创建好rach库正常情况下,如果创建dblink成功,可采用该方式访问到远程数据库的表.3.通过merge语句完成表数据同步此例中需要将center库中的tb_sys_sqlscripe表同步到branch,简单的语法如下:merge into tb_sys_sqlscripe@branch b using tb_sys_sqlscripe c on (b.pk=c.pk) --从center将表merge到branch,同步的依据是两个表的pkwhen matched then update set b.sqlscripe=c.sqlscripe,b.author=c.author --如果pk值是相同则将指定表的值更新到目标表when not matched then --如果pk值不一至,则将源表中的数据整条入到目标表中insert values (c.pk, c.fk, c.createtime, c.lastmodifytime,c.author,c.module,c.deleteflag, c.scripttype);commit; --记得merge后必须commit,否则更改未能提交4.为方便每次需要同步时自动完成同步,可将该语句做成存储过程或脚本来定时执行或按要求手动执行,简单说一下创建脚本的方法:a.创建merge夹b.先将merge语句写完整后,存到merge.sql中c.merge,后写入以下内容 sqlplus user/password@serverip/database @"%cd%\merge.sql"话题:oracle dblink scn值会相互同步吗回答:这个问题只在打了2012年1月份CPU补丁才会出现,A的SCN是100 ,B 是500 ,步成500打上最新的PSU就不会有这个BUG

    话题:只需要的情况下,为什么数据库之间要进行数据同步?为什么不直回答:dblink使用与跨库的, 这里的跨库通常是指不同的器上的数据库, 而不是同一个器上的不同实例, 因此使用dblink通常会产生网络IO, 这个速度就会很慢了dblink明显的优势就是你到的数据是即时的数据库同步一般有两个原因, 一个是为了,一个是为了减轻网络压力, 在A数据库上可以做很多业务, 但是最终的结果同步到B上去, 仅仅进行(A可以不对外), 这样即使B遭受了也不会造成什么损失或者, A器上主要进行业务处理, 如果和业务处理同在A上进行,势必会导致带宽紧的问题,因此可以将数据同步到其他器上,这样可以分流一大部分带宽占用

    展开全文
  • oracle数据库之间同步数据 dbLink +job方式
  • 程序同步到执行结束时的目标表所有数据按任何字段排序,只判断并记录row_number()到日志表,中断后重新执行可继续同步,如果目标表频繁读写,保证数据完全正常,故最好是目标表变动情况下执行同步。...
  • 昨天在搞这个关于oracle创建bdlink,并且进行跨库数据同步的问题,记录一下。 1、首先是要分清楚是用哪个库连接哪个库; 比如说:现在又两个数据库A和B,要用B库连接A库,那么就是在B库上进行操作; 2、之前看其他的...

    昨天在搞这个关于oracle创建bdlink,并且进行跨库数据同步的问题,记录一下。
    1、首先是要分清楚是用哪个库连接哪个库;
    比如说:现在又两个数据库A和B,要用B库连接A库,那么就是在B库上进行操作;

    2、之前看其他的文章说需要先看是否权限,

    select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
    

    但经过我的捣鼓,发现不用权限就可以创建dblink,所以查看权限的步骤省略,直接开始创建dblink;
    如下是在数据库DATA_HD上面创建dblink连接数据库DATA_LL:

    create public database link DL_DBLINK    
    connect to DATA_LL identified by datall
    using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.17.254)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
    
    • 其中DL_DBLINK 为dblink名字,
      connect to 需要连接的用户名 identified by 密码
      HOST=需要连接数据库的ip
      SERVICE_NAME=数据库实例

    3、查看是否创建成功

    select * from dba_db_links;
    select owner,object_name from dba_objects where object_type='DATABASE LINK';
    

    4、同步数据语句
    如在DATA_HD数据库中创建表同步DATA_LL中对应表中的数据

    CREATE TABLE student AS SELECT
    * 
    FROM
    student@DL_DBLINK;
    

    5、删除dblink

    drop  public database link  DL_DBLINK;
    
    展开全文
  • 场景:从Oracle A 同步表到Oracle B一、创建database link(B端)Sql代码createpublicdatabaselinkdblink_nameconnecttoA_user_nameidentifiedbyA_user_passwordusing'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=...

    场景:从Oracle A  同步表到Oracle B

    一、创建database link(B端)

    Sql代码

    createpublicdatabaselink dblink_name

    connecttoA_user_name identifiedbyA_user_password

    using '(DESCRIPTION =

    (ADDRESS_LIST =

    (ADDRESS = (PROTOCOL = TCP)(HOST = aa.bb.com)(PORT = 1521))

    )

    (CONNECT_DATA =

    (SERVICE_NAME = orcl)

    )

    )';create public database link dblink_name

    connect to A_user_name identified by A_user_password

    using '(DESCRIPTION =

    (ADDRESS_LIST =

    (ADDRESS = (PROTOCOL = TCP)(HOST = aa.bb.com)(PORT = 1521))

    )

    (CONNECT_DATA =

    (SERVICE_NAME = orcl)

    )

    )';

    二、创建snapshot(B端)

    Sql代码

    Createsnapshot tb_nameasselect*fromtb_name@dblink_name;Create snapshot tb_name as select * from tb_name@dblink_name;

    三、修改snapshot刷新时间(B端)

    Sql代码

    Altersnapshot tb_name refresh complete Startwithsysdatenexttrunc(sysdate+1)+20/24;

    --每天20点刷新Alter snapshot tb_name refresh complete Start with sysdate next trunc(sysdate+1)+20/24;

    --每天20点刷新

    要手动刷新的话

    Sql代码

    dbms_refresh.refresh('"B"."TB_NAME"');dbms_refresh.refresh('"B"."TB_NAME"');

    查看最后一次刷新时间

    Sql代码

    SELECTNAME,LAST_REFRESHFROMALL_SNAPSHOT_REFRESH_TIMES;

    展开全文
  • A和B里有都有testable表,结构一样,Oracle数据库同步在两台oracle数据库之间测试成功,下面就总结一下吧:需求:现有两台oracle数据库服务器A和B(A,B可以是在同一内网,也可以是在互联网上的两台独立机器)。...
  • 在a实例中创建dblink连接到b实例,在a中插入,更新,删除a1数据时,对b1的数据进行插入更新删除。 括号里边的中文要删掉 创建dblink 需要全局dblink,代码连接用的用户私有即可 createdatabase link 连接名称...
  • 这段时间负责某个项目开发的数据库管理工作,这个项目中开发库与测试数据库分离,其中某些系统表数据与基础资料数据经常需要进行同步,为方便完成指定数据表的同步操作,可以采用dblink与merge结合的方法完成,简单...
  • create table table1 ...数据量有六百万,这样导了几个表都没问题,到最后一个报错了, 请问这是什么问题 错误如下: ERROR at line 18: ORA-12592: TNS:bad packet ORA-02063: preceding line from DBLINK_DSS
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼第三步:建立JOB任务,定时同步数据在PL/SQL的command window输入以下语句:beginsys.dbms_job.submit(job => :job,what => 'TEST_JOB_SCOTT;',next_date => to_...
  • 从另一个机器上的数据库A同步一张表的所有数据到本地数据库B,B上建有A的dblink,但没有A中的任何对应的表。 在 B 机器上执行以下语句: CREATE TABLE table_to AS SELECT * FROM table_sorc@HRUSER; 相关说明:...
  • Oracle 使用DBlink数据

    2021-02-02 13:38:59
    Oracle 使用DBlink数据 第一步:创建dblink连接(如果从生产导到测试 那么登录上测试数据库,下面的连接配置是生产数据库) create database link linkorcl1 connect to 用户名 identified by “密码” using ‘...
  • 目录 12.3 dblink 命令同步数据 12.3.1 dblink使用说明 12.3.2 dblink 同步相同集群不同数据库的数据 ...Dblink 可以实现同数据库之间同步数据,也可不同数据库之间同步数据,甚至不同集群之间同步数据,只需...
  • oracle数据库之间数据同步 DBLINK

    千次阅读 2014-03-10 16:41:33
    这段时间负责某个项目开发的数据库管理工作,这个项目中开发库与测试数据库分离,其中某些系统表数据与基础资料数据经常需要进行同步,为方便完成指定数据表的同步操作,可以采用dblink与merge结合的方法完成,简单...
  • 最近在做接口开发的时候,先要梳理ERP系统的物料表,字段很多,与我们系统很多字段需要对应起来,就考虑在本地同步这样一张表结构以及对应的数据。...在同步数据的时候,sql develop自带的数据导出功能,但感觉...
  • 在做上一个项目的时候,涉及到数据同步问题,本地需要引用远程库中的一张表的数据,表明和表字段以及表数据完全一模一样,公司没有好用的工具,所以就想到了使用DBLink来做数据同步操作。
  • oracle dblink-数据同步使用trigger)

    千次阅读 2016-07-12 16:25:14
    用户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的:开发人员无需关心网络的链接细节、无需关心数据在网络接点中的具体分布情况、也无需关心...
  • dblink、触发器实现两个数据库的同步。 问题 在本地数据库中,有一张带clob字段的表,新增的记录无法同步到远程数据库。 原因 触发器可以直接访问远程数据库表中的clob字段。 解决办法 在本地数据库中,创建一个...
  • 为什么80%的码农都做了架构师?>>> ...
  • 不会的可以看我之前那篇postgresql9.1.1手动编译) 好接下来进入本文的正题 首先就是要安装编译一下postgresql DBlink 进入到目录/usr/local/posgresql-9.1.1(tar 解压出来的目录) cd /usr/local/posgresql-9...
  • 把10.10.17.2数据库上的TEST表定时同步到10.10.17.3数据库1.在10.10.17.3上创建DBLINK指向10.10.17.2数据库配置TNS信息如下:[oracle@june3 admin]$ cat tnsnames.ora# tnsnames.ora Network Configuration File: /...
  • 主要介绍了PostgreSQL中使用dblink实现跨库查询的方法,需要的朋友可以参考下
  • 利用Oracle的dbLink进行表同步

    千次阅读 2018-10-26 09:42:22
    场景:从ORACLE A 同步表到ORACLE B 一、创建database link(B端) create public database link dblink_name connect to A_user_name identified by A_user_password using '(DESCRIPTION = (ADDRESS_LIST = ...
  • dblink同步数据

    2013-09-30 10:38:52
    declare n_count number:=0;begin  for c in (select rowid rid from occobj_company@link_audaque) loop n_count := n_count+1; insert into occobj_company select * from occobj_company@link_auda...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,337
精华内容 1,334
关键字:

不使用dblink同步数据