作者:IT邦德 中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造 现拥有 Oracle 11g OCP/OCM、Mysql、Oceanbase(OBCA)认证 分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证 从业8年DBA工作,在数据库领域有丰富的经验 B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007 微信:jem_db QQ交流群:168797397
复制
更多数据泵使用方法使用请关注B站(搜索jeames007) 网址:https://www.bilibili.com/video/BV1Rw41197wU/
复制
1. 数据泵技术
简称:expdp/impdp
1.1 数据泵组成部分
①数据泵核心部分程序包:DBMS_DATAPUMP ②提供元数据的程序包:DBMS_MATADATA ③命令行客户机(实用程序):EXPDP,IMPDP
复制
1.2 数据泵文件
①转储文件:此文件包含对象数据 ②日志文件:记录操作信息和结果 ③SQL 文件: 将导入作业中的 DDL 语句写入 SQLFILE 指定的参数文件中
复制
1.3 数据泵的目录及文件位置
以 sys 或 system 用户完成数据泵的导入导出时,可以使用缺省的目录 DATA_PUMP_DIR 如果设置了环境变量 ORACLE_BASE,则 DATA_PUMP_DIR 缺省目录位置是: $ORACLE_BASE/admin/database_name/dpdump 否则是: $ORACLE_HOME/admin/database_name/dpdump 也可以指定自定义创建的 directory SYS@PROD>col directory_name for a25 col DIRECTORY_PATH for a80 select directory_name,directory_path from dba_directories;
复制
2. 备份恢复实战
#创建目录 [oracle@MES ~]$ mkdir -p /home/oracle/dmpbak #建立directory SYS@PROD> create or replace directory dmpbak as '/home/oracle/dmpbak'; SYS@PROD> drop directory dmpbak; --删除目录 #确认是否创建 SYS@PROD> select directory_name,directory_path from dba_directories; #授权 SYS@PROD> grant read,write on directory dmpbak to scott; grant all on directory dmpbak to public; --所有用户授权 #确认授权 select * from dba_tab_privs where GRANTEE = 'SCOTT'; #dump job执行查询 select * from dba_datapump_jobs
复制
2.1 表的备份恢复
#导出 scott 的 的 emp dept 表 expdp scott/tiger directory=dmpbak dumpfile=expdp_emp_dept.dmp logfile=expdp_emp_dept.log tables=emp,dept
复制
#模拟故障恢复表 表误删除: SCOTT@PROD>drop table emp purge; SCOTT@PROD>drop table dept purge; 导入恢复: [oracle@MES ~]$ impdp scott/tiger directory=dmpbak dumpfile=expdp_emp_dept.dmp logfile=impdp_emp_dept.log
复制
#拓展 导出表中部分行 expdp scott/tiger directory=dmpbak dumpfile=expdp_emp.dmp tables=emp query="'where deptno = 10'" #remap_table impdp scott/tiger directory=dmpbak dumpfile=expdp_emp.dmp logfile=impdp_remap.log remap_table=emp:emp10
复制
2.2 用戶的备份恢复
#导出 scott用户 [oracle@MES ~]$ expdp system/oracle directory=dmpbak dumpfile=scott.dmp logfile=scott.log schemas=scott
复制
#恢复用户 方法1: [oracle@MES ~]$ impdp system/oracle directory=dmpbak dumpfile=scott.dmp logfile=impdp_scott.log remap_schema=scott:jeame 以上操作会创建新用户
复制
SYSTEM@PROD> select a.username from dba_users a where a.username ='JEAME'; SYSTEM@PROD> conn jeame/tiger JEAME@PROD> select table_name from user_tables;
复制
方法2: drop user scott cascade; impdp system/oracle directory=dmpbak dumpfile=scott.dmp logfile=impdp_scott.log schemas=scott SYS@PROD> select a.username from dba_users a where a.username ='SCOTT';
复制
##拓展 #system默认:manager,sys默认:change_on_install SYS,SYSTEM用户的密码都忘记,怎么办? sqlplus /nolog; connect / as sysdba alter user sys identified by newpassword; alter user system identified by newpassword;
复制
2.3 数据库的备份恢复
#导出整个数据库 [oracle@MES ~]$ expdp system/oracle directory=dmpbak dumpfile=full.dmp full=y logfile=full.log
复制
#导入整个数据库(向其他数据库做迁移) [oracle@MES ~]$ impdp system/oracle directory=dmpbak dumpfile=full.dmp logfile=impdp_full.log full=y
复制
本文如有错误或不完善的地方请大家多多指正,请关注公众号:IT邦德
留言微信:jem_db 或 QQ:2243967774 皆可,您的批评指正是我写作的最大动力!
大家多多点赞,转发,谢谢
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
当你知道一件事情很难,但依然选择去做,你就已经在成长了。
9月前

评论
感谢大佬分享,新手小白学到了!!!
1年前

评论
👍
1年前

评论
感谢大佬分享,新手小白学到了,希望后面更新参数最全,哈哈哈
1年前

评论
这也叫史上最详细???
3年前

评论
我之前分享过一个文档,讲了很多参数
3年前

1
查看更多 >
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1222次阅读
2025-03-13 11:40:53
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
739次阅读
2025-03-17 11:33:53
Oracle+Deepseek+Dify 实现数据库数据实时分析
bicewow
653次阅读
2025-03-06 09:41:49
【ORACLE】ORACLE19C在19.13版本前的一个严重BUG-24761824
DarkAthena
544次阅读
2025-03-04 14:33:31
Oracle避坑指南|同名表导出难题:如何精准排除指定用户下的表?
szrsu
503次阅读
2025-03-05 00:42:34
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
440次阅读
2025-03-13 14:38:19
Ogg23ai高手必看-MySQL Innodb Cluster跟oracle的亲密接触
曹海峰
437次阅读
2025-03-04 21:56:13
【ORACLE】char类型和sql优化器发生的“错误”反应
DarkAthena
399次阅读
2025-03-04 23:05:01
什么,oracle 主机用户被删了?原来是虚惊一场!
Lucifer三思而后行
394次阅读
2025-03-03 21:12:09
Oracle 如何修改 db_unique_name?强迫症福音!
Lucifer三思而后行
326次阅读
2025-03-12 21:27:56