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

posted @ 2024-04-29 15:34  lybingyu  阅读(401)  评论(0编辑  收藏  举报