expdp oracle 并行_DMP文件导入ORACLE指南
今天的主题是介绍DMP文件导入ORACLE。
【1】.DMP文件的由来
我们这里说的dmp文件是从Oracle系统中导出来的备份数据,也可以认为dmp是Oracle系统中的转储文件。
【2】.exp/imp与expdp/impdp区别?
Dmp文件一般会用exp命令来导出,用imp命令来导入也就是恢复数据库;但也有用expdp导出,需要用impdp命令来导入。
具体区别如下:
[1]exp和expdp最明显的区别就是导出速度的不同。expdp导出是并行导出(如果把exp导出比喻为一个工人在挖土,那么expdp就相当于一个挖掘机在挖土)。
[2]exp 和imp是属于客户端工具,expdp和impdp 属于服务端工具,expdp只能在服务器执行;expdp/impdp在备份和恢复时间上要比exp/imp有着优势。并且expdp/impdp管理灵活。exp和expdp导出不止是速度的不同,同时导出机制也完全不同,所有用expdp导出的dmp文件只能用impdp的方式导入。
【3】.DMP文件具体导入导出方法
3.1 Expdp导出的dmp文件导入流程
1.创建文件存储目录sqlplus / as sysdbacreate directory dump_dir as '/oradataa/dump_dir'; --oradataa/dump_dir可以自己定 2.创建操作系统目录mkdir -p /oradataa/dump_dir --oradataa/dump_dir可以自己定,与上面保持一致3.然后把dmp文件放在建的目录下,并赋予目录权限chown oracle.oinstall /oradataa/dump_dir --oradataa/dump_dir可以自己定,与上面保持一致--或者 chmod -R 777 /oradataa/dump_dir (慎用) 4.赋予用户权限sqlplus / as sysdbagrant read,write on directory dump_dir to dataset;5.新建一个kswb的用户,自己定conn /as sysdbacreate user kswbidentified by kswbgrant dba to kswb;5.导入数据如果数据库和dmp文件的编码一致(编码不一致导致字符长度不对,导入的时候会报错,可以导出表结构后对varchar类型的扩大两倍长度)可以直接导入,不需要进行先导表定义,再导数据5.1 先导出表定义,content=metadata_only impdp dataset/dataset directory=dump_dir tables=kswb.temp_table1,kswb.temp_table2dumpfile=temp_table_%U.dmp content=metadata_only logfile=expdp_temp.log remap_schema=kwsb:dataset5.2 再导入表数据,ontent=DATA_ONLYimpdp dataset/dataset directory=dump_dir tables=kswb.temp_table1,kswb.temp_table2 dumpfile=temp_table_%U.dmp content=DATA_ONLY logfile=expdp_temp.log remap_schema=kwsb:dataset【备注】
caontent参数说明:
CONTENT={ALL| DATA_ONLY | METADATA_ONLY}
当设置content为all 时,将导出对象定义及其所有数据.为data_only时,只导出对象数据,为metadata_only时,只导出对象定义。
查文件编码:cat mzmx_2018.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6
3.2 Exp导出的dmp文件导入流程
dmp文件导入到服务器的oracle数据库中1.先通过WinSCP上传本地数据到服务器中,路径自己设定,比如/home/aa.dmp2.通过imp方式上传su oracleimp dataset/dataset file=/home/mzmx_2018.dmp full=y ignore=y;3.3 Exp导出流程
1.切换到数据库超级管理员su oracle 2.根据所需要采用的导出模式进行导出exp dataset/dataset file=aa.dmp log=oradb.log full=y compress=y direct=y;3.4 Expdp导出流程
1.创建dmp导出目录 create directory 目录名 as '目录路径'--例:create directory expdp_dmp as 'D:/expdp_dmp' 2.查看当前创建的所有dmp导出目录 (验证看是否创建成功)select * from dba_directories--例:select * from dba_directories 3.为创建的目录赋权限grant read,write on directory 目录名 to 需要赋值的用户名--例:grant read,write on directory expdp_dmp to aaa; 4.导出expdp 用户名/密码@数据库实例名 directory=导出目录 dumpfile=导出的文件名.dmp logfile=导出的日志名.log--例:expdp aaa/aaaa@orcl directory=expdp_dmp dumpfile=aaa20170417.dmp logfile=aaa20170417.log往期推荐阅读▽白话MCMC爬虫之scrapy框架什么是推荐系统MACD+KDJ+BOLL策略极速可视化BI——Tableau【讲故事1】用户画像之TGI指标
End
作者:是阿涛呀
半壶水全栈工程师,好读书,甚喜之
微信公众号:春秋有礼
总结
以上是生活随笔为你收集整理的expdp oracle 并行_DMP文件导入ORACLE指南的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: [云炬创业基础笔记]第五章创业机会评估测
- 下一篇: [云炬创业基础笔记]第五章创业机会评估测