异平台异版本oracle数据导入导出

来源:互联网 发布:图片 js 点击放大 wap 编辑:程序博客网 时间:2024/05/16 11:36

数据同步要求:
1、减少对业务的影响,尽量夜晚进行
2、要求自动数据同步,不同平台,不同版本数据同步
3、数据量比较大,不要求实时同步

环境概况:
源库:
系统:windows 2003
数据库:oracle 10g 10.2.0

目标库:
系统:centos6.6
数据库:oracle 11g 11.2.0

需求:
要求在 centos 6.6上把oracle 11.2.0 数据定时同步到windows 2003 oracle 10.2.0。
需求分析:
现在是把不同版本数据同步,所以duplicate不适用。由于数据量比较大,所以物化视图不可行。由于是把高版本往低版本同步,所以exp/imp不适用,rman不适用。但是我们可以考虑下 expdp/impdp数据泵工具,数据泵工具有个version参数。
操作步骤:
备份源库数据
使用10g expdp客户端导出11g数据,并把版本设置为10.2.0

create directory mydir as ' /home/oracle/dbscript ';grant read,write on directory mydir to ecims_aio;expdp ECIMS_AIO/ECIMS_AIO@10.37.2.32:1521/jhdb directory=mydir schemas=ECIMS_AIO dumpfile=ecims_expdp_10.2.0_%date:~0,4%%date:~5,2%%date:~8,2%.dmp logfile=ecims_%date:~0,4%%date:~5,2%%date:~8,2%.log version=10.2.0 ;

定时同步dump文件到目标服务器
因为使用的expdp数据泵工具,这个是服务端的工具,使用服务器导出/导入,生成的dump文件当然也在服务端,现在时需要把每次生成dump文件拷贝到目标服务器(windows 2003),所以现在需要定时同步文件到目标服务器。

mount -t cifs -o sername="Administrator",password="Mc4063366"//10.37.2.21/DataSync  /home/oracle/mydir

crontab -e 编辑linux定时任务,添入如下任务列表:

    30 23 * * * mv /home/oracle/dbscript/*.dmp /home/oracle/mydir

导入备份数据到目标 shutdown immediate;
startup restrict;
drop user ECIMS_AIO cascade;
CREATE USER ECIMS_AIO IDENTIFIED BY ECIMS_AIO ACCOUNT UNLOCK;
GRANT create SESSION,RESOURCE,DBA TO ECIMS_AIO;
CONN ECIMS_AIO/ECIMS_AIO;
drop tablespace ECIMSAIO_DATA including contents and datafiles;
CREATE TABLESPACE ECIMSAIO_DATA DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\eCIMS\ECIMSAIO_DATA.DBF’ SIZE 500M AUTOEXTEND ON NEXT 50M;
drop tablespace ECIMSAIO_INDEX_DATA including contents and datafiles;
CREATE TABLESPACE ECIMSAIO_INDEX_DATA DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\eCIMS\ECIMSAIO_INDEX_DATA.DBF’ SIZE 500M AUTOEXTEND ON NEXT 50M;
alter user ECIMS_AIO default tablespace ECIMSAIO_DATA;
alter system disable restricted session;“`

impdp ECIMS_AIO/ECIMS_AIO directory=mtdir schemas=ECIMS_AIO remap_tablespace=ECIMSAIO_DATA:USERS table_exists_action=replace dumpfile=ecims_expdp_10.2.0_%date:~0,4%%date:~5,2%%date:~8,2%.dmp logfile=ecims_%date:~0,4%%date:~5,2%%date:~8,2%_imp.log
“`

在目标服务器(windows 2003)定义好定时任务,注意时间间隔。

原创粉丝点击