copy自:Oracle数据库expdp用法以及注意事项
一、导出注意事项
检查数据库版本(用于决定导出时生成为哪个版本的dmp头文件) select version from v$instance; 也可以用sqlplus -v 查看。
检查字符集是否一致(字符集不一致,不能导入) select userenv('language') from dual;
检查数据量及磁盘空间(决定采取什么样的方式导出及导入)
二、expdp和exp的区别
在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP:
1、EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。
2、EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用,客户端只能用来连接服务器启动导入导出操作,导出文件只存储在服务端。
3、IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
4、EXPDP/IMPDP在备份和恢复时间上要比EXP/IMP有着优势,而且文件要小的多。
5、使用EXPDP/IMPDP管理更加灵活。支持并行;可中断;可以修改元数据文件名字、表空间名;支持元数据导入导出;估算导出数据所需空间;指定导入数据库版本等。
三、expdp使用方法
1、创建expdp导出目录,默认导出目录为D:\app\Administrator/admin/orcl/dpdump/(其中前面为Oracle安装目录)。
create or replace directory 目录名 as '目录路径' --例:create or replace directory dmp as 'D:/app/dmp'
注意:目录路径必须是已经存在的目录,如果目录不存在,也会显示目录常见成功(语句不会自动去常见目录),在执行expdp时候会报以下错误:
ORA-39002: 操作无效 ORA-39070: 无法打开日志文件。
2、查看当前创建的所有dmp导出目录 (验证看是否创建成功)
3、为创建的目录赋权限,需要以其他用户运行,建议在sys用户下执行。
grant read,write on directory 目录名 to 需要赋值的用户名
--例:grant read,write on directory dmp to GISDATA;
4、导出(这里使用最简单的导出方式)
expdp 用户名/密码@数据库实例名 directory=导出目录 dumpfile=导出的文件名.dmp logfile=导出的日志名.log
--例:expdp GISDATA/GISDATA@LOCALHOST/orcl directory=dmp dumpfile=GISDATA20200921.dmp logfile=GISDATA20200921.log
四、常用导出命令
1、按用户导
expdp GISDATA/GISDATA@localhost/orcl schemas=GISDATA dumpfile=expdp.dmp directory=dmp logfile=expdlog.log;
2、并行进程parallel
expdp GISDATA/GISDATA@localhost/orcl directory=dmp dumpfile=expdp.dmp parallel=40 job_name=expdpjob logfile=expdlog.log
3、按表名导
expdp GISDATA/GISDATA@localhost/orcl TABLES=test1,test2 dumpfile=expdp.dmp directory=dmp logfile=expdlog.log;
4、按查询条件导
expdp GISDATA/GISDATA@localhost/orcl directory=dmp dumpfile=expdp.dmp Tables=test query='WHERE id<20' logfile=expdlog.log;
5、按表空间导
expdp GISDATA/GISDATA directory=dmp dumpfile=expdp.dmp TABLESPACES=GIDDATA,YWDATA logfile=expdlog.log;
6、导整个数据库
expdp GISDATA/GISDATA directory=dmp dumpfile=expdp.dmp FULL=y logfile=expdlog.log;
五、expdp参数说明
可以输入expdp help=y命令查看其参数说明。