Oracle数据泵同步数据方式简要步骤

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle数据泵同步数据方式简要步骤1、Oracle数据泵简介

Data Pump 反映了整个导出/导入过程的完全革新。不使用常见的 SQL 命令,而是应用专有 API(direct path api etc) 来以更快得多的速度加载和卸载数据。

以下步骤为从容灾数据库(源端)上,按照用户或者数据表的模式将数据同步到测试数据库(目标端)上的简要步骤。

应用数据泵做数据同步的前提条件是:

1、在源端数据库主机上有足够大的空间存储导出的数据

文件,要求提前对导出的数据文件大小做评估,看预

留多少空间。

2、在目标端主机上也要保证有足够的空间存放导入的数

据文件

3、源端和目标端导入导出所用的数据库用户及密码(明

文)

2、Oracle数据泵数据表同步方式和用户同步方式

2.1.指定数据表同步方式(导出、导入)

以同步客服测试数据库为例:

源端数据库主机:10.220.33.112(存放目录:/dataapp1/expdp)

目标端数据库主机:10.220.64.71(存放目录:/oracle/imp)

导出:

1.滤出需要同步的数据表列表,评估需要同步的表大小,在源端

及目标端主机上留出所需的数据文件的空间。

2.登录(oracle/oracle)源端数据库主机(10.220.3

3.112),执行:

$sqlplus / as sysdba

登录数据库,执行如下语句:

>create directory dpdata2 as '/dataapp1/expdp ';

>grant read, write on directory dpdata2 to kf;

3.按照表名导出的语句如下:

$expdp kf/kf@rzkfdb1new tables=co_task,co_task_log,……directory=dpdata2 dumpfile=par%U.dmp parallel=15;

参数说明:tables------要导出的数据表名

Directory------数据文件导出的路径

Dumpfile---------导出的数据文件命名%为通配符,按照导出的进程数递增 Parallel----------数据泵支持多进程导出方式

4.此语句执行后观察在对应的目录是否有*.dmp类别的文件生成导入:

1.数据泵导入操作是在导出操作基础上进行的,在导入操作之前,

需要在目标数据库上建立与源端相同的表空间、schema等元素。

2.登录(oracle)目标端10.220.64.71数据库主机,执行

$Sqlplus / as sysdba

登录数据库,执行如下语句:

>create directory dpdata5 as '/oracle/imp';

>grant read, write on directory dpdata2 to kf;

3.把导出的*.dmp文件,传递到导入数据目录/oracle/imp,执行:

$impdp kf/kf@kfcsdb directory=dpdata5 dumpfile=par%U.dmp parallel=15 remap_tablespace=TS_KF:KFCSDB_DATA_TBS01,TS_KF_LOG:KFCSDB_DATA_TBS01;

参数说明:tables------要导出的数据表名

Directory------数据文件导出的路径

Dumpfile---------导出的数据文件命名%为通配符,按照导出的进程数递增 Parallel----------数据泵支持多进程导出方式

remap_tablespace----------数据泵支持指定表空间导入

4.导入过程中需要注意,数据泵在同步数据库会将表结构、表数

据、表索引全部导入,这时需要考虑表空间的问题。由于测试

数据库目前给各个数据库只建立了一个默认的表空间,所以目

前需要将从容灾导出的数据重定向到测试环境的表空间,语句

为:

remap_tablespace=TS_KF:KFCSDB_DATA_TBS01,TS_KF_LOG:KFCSDB_DATA_TBS01

2.2.指定用户同步方式(导出、导入)

以同步ESOP测试数据库为例:

源端数据库主机:10.220.33.71(存放目录:/dataapp1/expdp)

目标端数据库主机:10.220.64.69(存放目录:/oracle/imp)

导出:

1.登录(oracle/oracle)源端数据库主机(10.220.33.71),执行:

$Sqlplus / as sysdba

登录数据库,执行如下语句:

>create directory dpdata2 as '/dataapp1/expdp ';

>grant read, write on directory dpdata2 to esop;

2.按照表名导出的语句如下:

$expdp esop/esop@crmcsdb schemas=esop directory=dpdata2 dumpfile=par%U.dmp parallel=10 ;

3.此语句执行后观察在对应的目录是否有*.dmp类别的文件生成

导入:

1.登录(oracle)目标端10.220.64.69数据库主机,执行

$Sqlplus / as sysdba

登录数据库,执行如下语句:

>create directory dpdata2 as '/oracle/imp';

>grant read, write on directory dpdata2 to esop;

2.把导出的*.dmp文件,传递到导入数据目录/oracle/imp,执行:

$ impdp esop/esop@crmcsdb directory=dpdata2 dumpfile=par%U.dmp SCHEMAS=esop parallel=10 remap_tablespace=TS_TEST_01:CRMCSDB_DATA_TBS01;

3.导入过程中需要注意,数据泵在同步数据库会将表结构、表数

据、表索引全部导入,这时需要考虑表空间的问题。由于测试数据库目前给各个数据库只建立了一个默认的表空间,所以目前需要将从容灾导出的数据重定向到测试环境的表空间,语句为:

remap_tablespace=TS_TEST_01:CRMCSDB_DATA_TBS01

相关文档
最新文档