Oracle数据泵同步数据方式简要步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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