oracle数据导入导出,备份还原命令expdp&impdp(只导出元数据,不导出表数据,最全,最完善的步骤)
感谢金龙鱼先生分享,原文来自https://blog.csdn.net/kou869929526/article/details/125791113
一,编码要求以及数据库版本要求
检查数据库版本(用于决定导出时生成为哪个版本的dmp头文件)
select version from v$instance;
检查字符集是否一致(字符集不一致,不能导入)
select userenv('language') from dual;
检查数据量及磁盘空间(决定采取什么样的方式导出及导入)
二、expdp和exp的区别
1、EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。
2、EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用,客户端只能用来连接服务器启动导入导出操作,导出文件只存储在服务端。
3、IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
4、EXPDP/IMPDP在备份和恢复时间上要比EXP/IMP有着优势,而且文件要小的多。
5、使用EXPDP/IMPDP管理更加灵活。支持并行;可中断;可以修改元数据文件名字、表空间名;支持元数据导入导出;估算导出数据所需空间;指定导入数据库版本等。
三、导出示例与解释
1、创建expdp导出目录,默认导出目录为(其中前面为Oracle安装目录)。
登录服务器,root权限,创建一个导出目录。
mkdir /DATA/dump_dir
2、数据库目录指定。
create or replace directory 目录名 as '目录路径'
create directory DUMP_DIR as '/DATA/dump_dir';
注意:目录路径必须是已经存在的目录,如果目录不存在,也会显示目录常见成功(语句不会自动去常见目录),在执行expdp时候会报以下错误:
ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。
3、给目录赋予权限,否则也会报2的错误。
chown -R oracle:oinstall /DATA/dump_dir
4、导出脚本
进入oracle用户,导出数据
expdp samecrow/111111 schemas=samecrow dumpfile=samecrow_20220715.dmp directory=DUMP_DIR logfile=samecrow_20220715_imp.log CONTENT=METADATA_ONLY job_name=my_job;
其中samecrow 是数据的用户名 111111是数据库的密码 samecrow是所要导出用户的用户名,其他解释,我会放到最后。导出成功后,会在固定目录生成两个文件。这两个文件就是数据备份文件,里面只有建表数据,并不包含实际数据。
四、导入示例
前置条件与导出一样,先设置目录,再赋予权限,最后把dump文件放置到固定目录里,最后进入oracle账户,执行导入脚本,脚本如下:
impdp samecrow/111111 DIRECTORY=dump_dir DUMPFILE=samecrow_20220714.dmp LOGFILE=samecrow_20220714_imp.log SCHEMAS=samecrow REMAP_SCHEMA=samecrow:samecrow job_name=my_job
五、常用的导出命令
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参数说明 更多内容参考原文...
Oracle数据库expdp用法以及注意事项 (itxueyuan.com)
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/kou869929526/article/details/125791113