利用bat批处理调用Exp、Imp自动实现Oracle数据库用户数据同步
2012-10-29 20:43
489 查看
公司需要做数据集中,某区需要建立一个完全与生产库同步的库,尽量需要减小对生产库性能的影响,同步频率为每天一次.
生产库环境:Linux下 64位的 Oracle 11G
目标库环境:win 2003、Oracle 10G
查了下资料,Oracle有高级复制和Stream实现数据库同步,但实现起来配置较复杂,而且数据库需要归档模式,对性能有较大影响。决定还是用自带的Exp、imp导出导入功能实现同步。在2003下用At命令建立一个每天晚上1点多执行Bat批处理的计划任务:
其中SynchronizeData.bat内容为:
说明:
start /b /wait sqlplus system/manager@work @DropAndCreateUser.sql为执行建用户脚本,此sql脚本的内容为
上面批处理脚本和sql脚本必须放同一目录下
生产库环境:Linux下 64位的 Oracle 11G
目标库环境:win 2003、Oracle 10G
查了下资料,Oracle有高级复制和Stream实现数据库同步,但实现起来配置较复杂,而且数据库需要归档模式,对性能有较大影响。决定还是用自带的Exp、imp导出导入功能实现同步。在2003下用At命令建立一个每天晚上1点多执行Bat批处理的计划任务:
at 01:01 /every:M,T,W,Th,F,S,SU E:\databak\SynchronizeData.bat
其中SynchronizeData.bat内容为:
rem ========================================================================================== rem 本批处理实现支持exp数据库的Oracle数据库版本的数据库逻辑备份,流程为:导出数据到 rem dump_bak 数据库目录下,然后把dmp文件以rar格式放入当天备份日期命名的目录下,便于以后按 rem 照日期恢复。 rem rem 需要配置的参数说明: rem BAT_HOME:即本批处理所在的目录; rem BKDIR:是调用本批处理时传进来的参数 dump_dir,即要备份到的数据文件目录。 rem BKFILE:备份日期 rem HHMMSS:备份时间 rem FilePrefix:备份文件名的前缀 rem UserName:备份的用户名 rem Password:备份的密码 rem NetServer:连接数据库的NET服务名 rem ========================================================================================== rem cd.. set dump_bak=e:\databak set BKFILE=%Date:~0,4%%Date:~5,2%%Date:~8,2% set HHMMSS=%time:~0,2%%time:~3,2%%time:~6,2% set FilePrefix=ff set UserName=user_from set Password=user_frompassword set NetServer=fromServer cd %dump_bak% start /b /wait exp %UserName%/%Password%@%NetServer% file=%dump_bak%\%FilePrefix%_%BKFILE%.dmp rem 还原到目标库 @echo off start /b /wait sqlplus system/manager@work @DropAndCreateUser.sql set UserName1=User_to set Password1=User_toPassword set NetServer=Work imp %UserName1%/%Password1%@%NetServer% file=%dump_bak%\%FilePrefix%_%BKFILE%.dmp fromuser=%UserName% touser=%UserName1% log=%BKFILE%imp.log
说明:
start /b /wait sqlplus system/manager@work @DropAndCreateUser.sql为执行建用户脚本,此sql脚本的内容为
conn system/manager@work as sysdba --删除用户 DROP USER User_to CASCADE / create user User_to identified by User_toPassword default tablespace estate temporary tablespace temp / grant connect,resource,dba to User_to / exit
上面批处理脚本和sql脚本必须放同一目录下
相关文章推荐
- 利用DBLink+JOB实现两个Oracle数据库之间的数据同步
- [置顶] 利用DBLink+JOB实现两个Oracle数据库之间的数据同步
- oracle 10g 利用exp 和 imp exp 移动某个用户的数据
- 利用DBLink+JOB实现两个Oracle数据库之间的数据同步
- 利用反射将数据库中的数据两表自动对接实现数据传输
- 利用数据库复制技术 实现数据同步更新
- 利用数据库复制技术 实现数据同步更新
- rsync参数详解、利用ssh、rsync 实现数据的定时同步
- 关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1
- 利用数据库复制技术实现数据同步更新_SQL SERVER
- 利用SQL Server复制技术实现数据同步更新
- [转]使用Oracle 的 imp ,exp 命令实现数据的导入导出
- rsync实现客户端自动与服务器同步数据详细过程(原创)
- 利用SQL Server复制技术实现数据同步更新
- 利用OTTER实现准实时ETL、数据同步
- 利用数据库复制技术实现数据同步更新_SQL SERVER
- android基础-利用SharedPreferences实现用户记住密码和自动登录
- 利用ORACLE存储过程与JOB结合实现对数据表自动备份
- Oracle用imp和exp实现数据的导入和导出
- 利用AT91 SARM8260 USART mulit_Drop mode 实现数据地址自动切换