最近客户异地新增了一套设备,并建了对应本地数据库,由于业务需要,需要对新库和老库上的业务进行同步处理,之前采用的是dblink方案,实际使用的网络环境没有配备专线,而是使用现有公司电信宽带资源,可想而知实时处理业务时网络成了最大瓶颈,超高的延迟影响业务正常进行。在和两地生产部门沟通后,反馈数据源每天的变化并不大,目标库上的业务处理可以接受这部分的延迟,于是我修改了原来的方案,改dblink为数据定时同步到本地。以下为具体步骤:

--远程
exp system/******@192.168.**.**:1521/AQ** file=/arch/qujin_data.dmp full=y

SYSTEM/******

#要对sh文件授权chmod u+x *.sh
--本地(曲靖),拆分成2个批处理文件,一个负责导出数据,一个负责把导出的数据传输到远程服务器
#!/bin/bash
if [ -f ~/.bash_profile ];
then
  . ~/.bash_profile
fi
set timeout -1
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
exp system/****** file=/backup_rman/qujin_data.dmp full=y
cd /backup_rman
zip -r qujin_data.zip ./qujin_data.dmp
rm -rf qujin_data.dmp

#!/usr/local/bin/expect
set timeout -1
cd /backup_rman
spawn scp qujin_data.zip root@192.**.**.**:/arch/qujin_data.zip
#spawn  scp test.txt root@192.**.**.**:/arch/test.txt
expect "*password:"
send "******\r"
expect eof
rm -rf qujin_data.zip

#添加任务
crontab -e
0 0 * * * /home/oracle/shscript/data_exp.sh
30 1 * * * /home/oracle/shscript/data_tran.sh

--689 vi data_imp.sh ,#要对sh文件授权chmod u+x *.sh
#!/bin/bash
if [ -f ~/.bash_profile ];
then
  . ~/.bash_profile
fi
    if [ ! -f "/arch/qujin_data.zip" ];then
        echo "Warning:File[/arch/qujin_data.zip] not found."
        exit
    else
        echo "Message:File[/arch/qujin_data.zip] found."
    fi;
    cd /arch
    unzip -o qujin_data.zip
    chown oracle:dba qujin_data.dmp
    echo sqlplus...
    sqlplus -s 'sys/******@aq*** as sysdba'<<EOF
    set feed off;
    set heading off;
    set feedback off;
    set verify off;
    begin
      for rec in(
              select 'alter system kill session '''||sid||','||serial#||'''' sql_text
              from v\$session t
              where username in('SAA_MES','HIS_MES','SAA_INTERFACE','ANDON')) loop
              EXECUTE IMMEDIATE rec.sql_text;
      END LOOP;
    END;
    /
    drop user SAA_MES cascade;
    drop user HIS_MES cascade;
    drop user SAA_INTERFACE cascade;
    drop user ANDON cascade;
    create user SAA_MES identified by **** default tablespace CGLMES;
    ALTER USER SAA_MES QUOTA UNLIMITED ON ANDON;
    ALTER USER SAA_MES QUOTA UNLIMITED ON MES;
    ALTER USER SAA_MES QUOTA UNLIMITED ON CGLMES;
    create user HIS_MES identified by **** default tablespace CGLMES;
    ALTER USER HIS_MES QUOTA UNLIMITED ON ANDON;
    ALTER USER HIS_MES QUOTA UNLIMITED ON MES;
    ALTER USER HIS_MES QUOTA UNLIMITED ON CGLMES;
    create user SAA_INTERFACE identified by **** default tablespace MES;
    ALTER USER SAA_INTERFACE QUOTA UNLIMITED ON ANDON;
    ALTER USER SAA_INTERFACE QUOTA UNLIMITED ON MES;
    ALTER USER SAA_INTERFACE QUOTA UNLIMITED ON CGLMES;
    create user ANDON identified by **** default tablespace ANDON;
    ALTER USER ANDON QUOTA UNLIMITED ON ANDON;
    ALTER USER ANDON QUOTA UNLIMITED ON MES;
    ALTER USER ANDON QUOTA UNLIMITED ON CGLMES;
        grant create session to SAA_MES;
        grant create session to HIS_MES;
        grant create session to SAA_INTERFACE;
        grant create session to ANDON;
        grant select any table to SAA_MES;
        grant select any table to HIS_MES;
        grant select any table to SAA_INTERFACE;
        grant select any table to ANDON;
        grant under any view to SAA_MES with admin option;
        grant under any view to HIS_MES with admin option;
        grant under any view to SAA_INTERFACE with admin option;
        grant under any view to ANDON with admin option;
        grant unlimited tablespace to SAA_MES with admin option;
        grant unlimited tablespace to HIS_MES with admin option;
        grant unlimited tablespace to SAA_INTERFACE with admin option;
        grant unlimited tablespace to ANDON with admin option;
    exit;
EOF
    echo data_import...
    imp system/abc123***@192.**.**.**/aqjdb file=/arch/qujin_data.dmp log=/arch/appdata_import1.log fromuser=SAA_MES touser=SAA_MES ignore=y
    imp system/abc123***@192.**.**.**/aqjdb file=/arch/qujin_data.dmp log=/arch/appdata_import2.log fromuser=HIS_MES touser=HIS_MES ignore=y
    imp system/abc123***@192.**.**.**/aqjdb file=/arch/qujin_data.dmp log=/arch/appdata_import3.log fromuser=SAA_INTERFACE touser=SAA_INTERFACE ignore=y
    imp system/abc123***@192.**.**.**/aqjdb file=/arch/qujin_data.dmp log=/arch/appdata_import4.log fromuser=ANDON touser=ANDON ignore=y

rm -rf qujin_data.dmp
    #rm -rf qujin_data.zip
/*
创建表空间
create tablespace MES datafile '/oracle/oradata/aqjdb/MES01.dbf' size 30720M;
alter tablespace MES add datafile '/oracle/oradata/aqjdb/MES02.dbf' size 30720M;
alter tablespace MES add datafile '/oracle/oradata/aqjdb/MES03.dbf' size 30720M;
alter tablespace MES add datafile '/oracle/oradata/aqjdb/MES04.dbf' size 30720M;
alter tablespace MES add datafile '/oracle/oradata/aqjdb/MES05.dbf' size 30720M;

create tablespace ANDON datafile '/oracle/oradata/aqjdb/ANDON01.dbf' size 30720M;

create tablespace CGLMES datafile '/oracle/oradata/aqjdb/CGLMES01.dbf' size 30720M;
alter tablespace CGLMES add datafile '/oracle/oradata/aqjdb/CGLMES02.dbf' size 30720M;
alter tablespace CGLMES add datafile '/oracle/oradata/aqjdb/CGLMES03.dbf' size 30720M;

*/

#添加任务
crontab -e
[oracle@mesoracle ~]$ crontab -e
0 16 * * * /arch/data_imp.sh

【完成】

oracle异地数据库定时同步相关推荐

  1. mysql备份至cos_宝塔面板网站文件/数据库定时同步备份至腾讯云COS设置

    本来老蒋这篇文章是要分享张戈同学关于利用腾讯云COS备份网站和数据库脚本工具的整理的,但是翻看之前的博文发现我们能用到的面板和工具包大部分都自带第三方云存储接口快速备份的.所以这篇文章延期到后面再去分 ...

  2. 数据库同步复制|sqlserver同步工具|sqlserver数据库定时同步

    SyncNavigator v8.6.2 SyncNavigator是一款功能强大的数据库同步软件,适用于SQL SERVER, MySQL,具有自动/定时同步数据.无人值守.故障自动恢复.同构/异构 ...

  3. 主备MySQL数据库定时同步

    我没有做Mysql实时同步,因为不受监管的情况下我根本不知道同步结果,有没有报错.我试过,也确实能达到即时同步效果,但一出错就停掉了,我也懒得查资料看如何解决,所以就改为定时用命令同步了,这样还可以搭 ...

  4. oracle数据库定时同步工具,[每天自动同步一个数据库表的数据]sql server定时同步oracle数据表...

    –*********************************************************************** –Copyright (c) 2003 Microso ...

  5. Oracle 12c数据库定时备份和清理脚本

    RMAN除了可以像sqlplus一样通过SSH执行命令之外,还可以与crontab配合执行预先写好的脚本,实现Oracle数据库的定时自动备份和清理备份数据和归档日志. 本文基于Oracle 12c ...

  6. oracle实时异地同步,异地Oracle数据库数据同步

    一.行动目的: 在服务器甲的数据库的A中的表TBL_TB数据发生改变时,服务器乙的数据库B中的表TBL_TB也发生相应变化.(假设两个表的结构相同,都只含有ID,NAME两列) 二.执行步骤: 1)建 ...

  7. Oracle数据库定时备份脚本

    Oracle数据库定时备份脚本 一.编写脚本 vim /home/backup/oraclebk.sh #! /usr/bin #路径名,指定备份的路径 FILEPATH=/home/backup/o ...

  8. Navicate在同步oracle数据,不同数据库之间同步

    下载网站:www.SyncNavigator.CN   客服QQ1793040 ---------------------------------------------------------- 关 ...

  9. Oracle数据库数据同步方案,ORACLE数据库热备方案

    ORACLE数据库热备方案 相关指标 1.数据库秒级.事务级热备(可跨操作系统平台) 实时监控数据库,将数据库变化后的数据以秒级别的时间备份到备库,同时只备份主数据库已成功的事务. 2.备用数据库在线 ...

最新文章

  1. CSDN 厦门大学线下编程比赛第一题:求和(同余定理)
  2. 1.7 元注解作用及使用
  3. 张正友相机标定Opencv实现以及标定流程标定结果评价图像矫正流程解析(附标定程序和棋盘图)
  4. Android高级开发-布局渲染流程与优化
  5. 句句真研—每日长难句打卡Day12
  6. 阻塞与非阻塞 异步 与同步
  7. Broadcom Wi-FiWl及brcmfmac驱动程序含有众多安全漏洞
  8. 操作系统:磁盘调度实验之扫描和循环扫描调度算法(含源码和文档)
  9. Cisco路由器配置dhcp服务器
  10. 嵌入式大佬 | 嵌入式C语言知识点万字总结
  11. 润乾报表v4-统计图中如何弹出超链接窗口
  12. 2010爆牙笑话第一季!【转】
  13. lxr-0.3.1 源码阅读 How To.
  14. Gradually Vanishing Bridge for Adversarial Domain Adaptation
  15. 十进制转为二十六进制
  16. linux firefox打不开网页,FireFox网页打不开(火狐)
  17. python子列表_关于python:创建子列表
  18. Docker安装和部署
  19. “FlipFlo“.它从1计数到100,遇到3的倍数就替换为单词 Flip”,5的倍数就替换为单词“Flop”,既为3的倍数又为5的倍数则替换为单词 ―FlipFlop”其余情况下输出当前数字.
  20. BGS本地局域网视频系统源码

热门文章

  1. 鲁棒与最优控制 周克敏 高清中文版pdf
  2. java jettison_java – 使用Jettison进行JSON解析
  3. Python图像处理丨5种图像处理特效
  4. 数独游戏前端学习笔记及后续解数独方法
  5. vuecli配置babel-polyfill
  6. 【个人疑惑】中移动称转发“黄段子”短信功能将被停
  7. mysql econnreset_如何在Node.js中调试错误ECONNRESET?
  8. 盘点当前各大品牌手机优缺点,哪一款值得你入手
  9. 17 类蓝图实现灯光开关效果
  10. vyos - pbr study