以下操作需要数据库
服务器上操作,如果需要远程操作请参阅http://blog.itpub.net/24486203/viewspace-2132814/
1.源库创建directory目录
sqlplus / as sysdba
create directory dumpdir as '/u01/dumpdir'; ---/u01/dumpdir为系统已经创建好的目录
2.源库相关数据查询
查询源库的表空间
select tablespace_name from dba_segments where owner='TEST' group by tablespace_name;---TEST为需要迁移的用户
查询源库的用户对象数据量
select count(*),object_type from dba_objects where owner='TEST' group by object_type; ---统计迁移用户对象数据量
3.源库导出
expdp directory=dumpdir dumpfile=test20170905.dmp logfile=test20170905.log schemas=TEST
输入 / as sysdba
相关参数说明
dumpdir 为之前创建directory目录
dumpfile为导出文件名,导出后文件路径在/u01/dumpdir下也就是之前创建directory目录下
logfile 导出日志名,可查看是否导出成功
schemas导出schema名可理解为用户名
另还有以下常用参数可供使用
tables 可指定导出表名如导出test下的aa表,这里参数为tables=test.aa用逗号分开
content 可指定只需要导出数据(content=data_only)或只需要导出表结构(content=metadata_only)
exclude 可过滤不需要导出数据
exclude=index 不导出索引
exclude=statistics 不导出统计信息
parallel=4 指定并行度为4 数据库过大可以加快导出速度要跟filesize 结合使用如果导出数据为10G parallel =4那么filesize=2G 文件名dumpfile=test%U.dmp %U有递增生成的文件名
version 指定导出版本,如果高版本导入到低版本一般要加低版本对应的 version如果12c导入到11g 指定version=11.2.0
还可以将这些参数写入到parfile文件
cat test.par
directory=dumpdir1
dumpfile=product_20170821.dmp
logfile=product_20170821.log
tables=(pwb.CATEGORY_CORPORATION_RELATION,pwb.test,pwb.order_detail)
expdp parfile=test.par
导入端数据库操作
创建表空间可与源表空间不一致
create tablespace tbs_test datafile '/u01/app/oracle/oradata/orcl/tbs_test01.dbf' size 2G autoextend on next 20M maxsize 8G;
创建目录
create directory dumpdir '/u01/dumpdir'--这个目录随意。但是oralce系统用户一定要有写权限
导入数据
将源服务器/u01/dumpdir/test20170905.dmp拷贝到新服务器/u01/dumpdir(刚刚创建directory目录)下
impdp directory=dumpdir dumpfile=test20170902.dmp logfile=test20170902.log
/ as sysdba
如果新表空间名称跟原来不一致
impdp directory=dumpdir dumpfile=test20170902.dmp logfile=test20170902.log remap_tablespace=tbs_old:tbs_new
tbs_old为从源库查出来的表空间名,如果有多个都要写一下,中间逗号分隔
tbs_new为新表空间名
本文名称:expdp迁移测试
文章位置:
http://kswjz.com/article/ijjdgc.html