当前位置:  数据库>oracle

Linux余Windows系统Oracle数据库简单冷备同步

    来源: 互联网  发布时间:2017-06-16

    本文导语: 我们有一个财务系统比较看重财务数据的安全性,同时我们拥有两套系统,一个生产环境(Linux),一个应急备份环境(Windows)。备份环境对生产环境实行实时备份同步,备份方式也有两种:热备冷备。Oracle热备一般用Oracle DG服务即...

我们有一个财务系统比较看重财务数据的安全性,同时我们拥有两套系统,一个生产环境(Linux),一个应急备份环境(Windows)。备份环境对生产环境实行实时备份同步,备份方式也有两种:热备冷备。Oracle热备一般用Oracle DG服务即可,但Oracle DG服务是要另行收费的,这对于客户来说也是一笔不小的开支。于是我们采用Oracle冷备的方式,基本流程是:数据库定时通过expdp方式导出,然后通过ftp传到应急备份环境,应急备份环境然后执行impdp导入,这样既可完成冷备。

一、Linux Oracle数据库端:

1、添加crontab定时时间

2、编写shell脚本,实现数据库导出

#!/bin/bash
yy=`date +%Y`
mm=`date +%m`
dd=`date +%d`
time=$yy$mm$dd

ORACLE_BASE=/oracle/app/oracle;
export ORACLE_BASE;
ORACLE_HOME=$ORACLE_BASE/product/11.2;
export ORACLE_HOME;
PATH=$ORACLE_HOME/bin:$PATH;
export PATH;

f_dmp="FDB_${time}.DMP"
f_log="_F${time}.LOG"

echo "expdp ods/ods@dw1 directory=backup_db dumpfile=$f_dmp logfile=$1$f_log SCHEMAS=meta,ods,mid,app reuse_dumpfiles=y;"
echo "exporting data ..."
expdp ods/ods@dw1 directory=backup_db dumpfile=$f_dmp logfile=$1$f_log SCHEMAS=meta,ods,mid,app reuse_dumpfiles=y;
echo "expdp user data success!"

二、应急备份环境使用ftp传输dmp文件,当然生产环境linux必须得支持ftp

@echo off
SET P_YEAR=%date:~0,4%
SET P_MONTH=%date:~5,2%
SET P_DAY=%date:~8,2%
SET P_DATE=%P_YEAR%%P_MONTH%%P_DAY%
echo oracle> autoftp.txt
echo oracle>> autoftp.txt
echo prompt>>autoftp.txt
echo bin>> autoftp.txt
echo get /home/oracle/FDB_%P_DATE%.DMP D:data_backupdbDB_%P_DATE%.DMP>> autoftp.txt
echo get /home/oracle/_F%P_DATE%.LOG D:data_backupdb_F%P_DATE%.log>> autoftp.txt
echo mdel /home/oracle/*.DMP>>autoftp.txt
echo mdel /home/oracle/_F*.LOG>>autoftp.txt
echo bye>> autoftp.txt
ftp -s:"autoftp.txt" 127.0.0.1(IP地址)

exit

 

 ftp一般使用ftp -s ftp.txt文本的方式执行ftp操作,以上操作先根据当前时段生成对应的ftp.txt文本

oracle
oracle
prompt
bin
get /home/oracle/FDB_20140729.DMP D:data_backupdbDB_20140729.DMP
get /home/oracle/_F20140729.LOG D:data_backupdb_F20140729.log
mdel /home/oracle/*.DMP
mdel /home/oracle/_F*.LOG
bye
get /home/oracle/*.dmp C:20141119.DMP

三、dmp文件既然传输到Windows系统中了,就可以使用impdp来进行导入操作了,导入操作当然也要用Windows的定时服务来启动

@echo off
REM
REM 

SET P_YEAR=%date:~0,4%
SET P_MONTH=%date:~5,2%
SET P_DAY=%date:~8,2%
SET P_DATE=%P_YEAR%%P_MONTH%%P_DAY%
impdp ods/ods@dw directory=backup_db dumpfile=DB_%P_DATE%.dmp  SCHEMAS=meta,ods,mid,app  table_exists_action=REPLACE
pause

这种方式有几个明显的缺点:

1、exp导出,导入对数据库性能会有一定的影响

2、数据库不能实时同步,对于数据同步要求高和数据安全性高的自然不适用

3、导出传输导入,时间点需要错开,这个时间点不好控制

Oracle数据库的冷备及完全恢复 


    
 
 

您可能感兴趣的文章:

  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • linux时钟为何与BIOS时钟不同步?如何使其同步?
  • Linux下用ntpdate同步时间及date显示设置时间
  • linux虚拟机时间与windows时间如何同步
  • linux服务器之间如何实现时间同步?
  • 送分:LINUX 下如何实现双机的备份和同步?
  • 请问Linux数据库编程是否也可以支持通用的SQL语言进行数据库编写. iis7站长之家
  • linux下的同步问题
  • window系统的东东如何及时同步到linux系统上?
  • 老板要用linux服务器共享一些CAD文件,并且要同步更新,linux有这功能吗?
  • linux 多线程sys_read同步问题
  • samba性能配置问题:linux和window如何能保持同步
  • linux管道问题,管道建立后如何同步?
  • 关于Linux下线程同步的小疑问
  • linux 如何实现两台服务器文件的同步?
  • 谁能给一个linux/unix下多线程同步的例子
  • 多台linux服务器,如何同步用户名和密码?
  • 如何在LINUX实现同步录音和放音
  • 请教:如何把一台Linux机器设置为时间同步服务器
  • linux下进程同步有mutex吗?
  • linux 下,实时同步两台机器上的数据用什么技术好?
  • Windows和Linux下C++类成员方法作为线程函数方法介绍
  • x-windows如何安装在linux(rdehat9)上面呢,是不是x-windows也分windows和linux版本的吗?
  • tar.xz如何解压:linux和windows下tar.xz解压命令介绍
  • windows 和linux双系统,重装windows后,无法启动linux?
  • MTU介绍以及在windows和linux下怎么设置MTU值
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • Linux和windows下用mysql c++ library操作Mysql数据库
  • 请问windows 2000怎么访问linux?我要从linux下拷文件到windows下
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • windows,linux如何实现文件共享(windows,linux安在同一台机)?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问在红旗Linux多功能服务器版上(不是数据库服务器版)能否正常安装使用Oracle?红旗Linux数据库服务器版要比红旗Linux多功能服务器版贵
  • 请问Linux数据库编程是否也可以支持通用的SQL语言进行数据库编写.
  • Linux下Oracle数据库,dbstart持续不动,数据库无法启动解决
  • 请教在linux系统开发环境下,有没有db和dbf数据库引擎,如何使用这个数据库?
  • linux小白提问linux备份oracle数据库的问题
  • 装linux enterprise3 ,没有选择数据库,自行安装了mysql-max-5.0.22-linux-i686,请问
  • Linux不是免费的嘛,怎么在红旗的网站只有桌面版下载?没有server版下载?哪有红旗Linux数据库服务器3.0版下载?
  • 【急……】求助linux数据库相关问题
  • linux下不知有什么小型的数据库?要求速度比较快,开销最小。并且支持单文件数据库及多表的
  • linux上安装oracle 数据库后,是否能写shell程序实现数据库的自动启动。
  • 千分求Linux 下数据库编程的问题!急!
  • 刚接触linux,公司要一个web服务器和一个数据库服务器,请问现在用linux哪个版本好,给点建议吧
  • 关于Linux与Windows之间数据库互相访问的问题。
  • linux下用什么办法连接oracle数据库并且读取数据呢?(用c++代码实现时)
  • 求教,LINUX里用C语言读取微型数据库文件方法
  • linux开机自启动程序可以访问数据库吗?
  • linux下能调用*.sql备份的数据库数据么?
  • 嵌入式linux下数据库使用
  • Linux 下的C语言实现数据库连接池操作。
  • linux数据库,高手指点
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3