千家信息网

exp和expdp导入导出 Oracle10g学习系列(8)

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,一、使用二者时应该注意的事项:1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使
千家信息网最后更新 2025年11月10日exp和expdp导入导出 Oracle10g学习系列(8)

一、使用二者时应该注意的事项:


1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。expdpimpdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。


expdp impdp导大文件比exp和imp快,可以并行导,但导小文件很慢。网上有人说一个600G的库,expdp只需要40分钟左右,exp的话要50个小时吧


imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。


二、exp和expdp的简单用法:


1、exp备份

(1)按表名导,tables=tb2,tb3,导多张表的时候,可以用逗号或空格分隔

exp bob/qazwsx@orcl tables=tb2,tb3 file=/tmp/baktb01.dmp log=/tmp/baktb01.log


(2)按用户导,owner=bob会把该用户下的所有表导出

exp bob/qazwsx@orcl owner=bob file=/tmp/baktb02.dmp log=/tmp/baktb02.log


(3)导出全库,full=y,用system或者有sysdba权限用户导

exp bob/qazwsx@orcl full=y file=/tmp/baktb03.dmp log=/tmp/baktb03.log


(4)如果导出表文件超过2G报错,可以分多个文件导出

exp bob/qazwsx@orcl filesize=1g tables=tb2,tb3 file=/tmp/tb01.dmp,/tmp/tb02.dmp log=/tmp/baktb04.log


(5)导出表结构

exp bob/qazwsx@orcl rows=n tables=tb2 file=/tmp/baktb04.dmp


(6)导出表数据

exp bob/qazwsx@orcl rows=y tables=tb2 file=/tmp/baktb05.dmp


2、imp还原

(1)还原表

imp bob/qazwsx@orcl tables=tb2,tb3 file=/tmp/baktb01.dmp log=/tmp/baktb01.log


如果表已经存在或者需要忽略表结构,ignore=y,需要用忽略参数

imp bob/qazwsx@orcl tables=tb2,tb3 file=/tmp/baktb01.dmp ignore=y log=/tmp/baktb01.log


(2)还原该用户下的所有表

imp bob/qazwsx@orcl owner=bob file=/tmp/baktb02.dmp log=/tmp/baktb02.log


(3)库还原

imp bob/qazwsx@orcl full=y file=/tmp/baktb03.dmp log=/tmp/baktb03.log


3、expdp备份

有sysdba权限的用户,在/tmp/下创建expdp目录,并且给导入导出权限

SQL>create directory expdp as '/tmp/';

SQL>grant read,write on directory expdp to bob;


(1)按表名导,tables=tb2,tb3,导多张表的时候,可以用逗号或空格分隔

expdp bob/qazwsx@orcl tables=tb2,tb3 directory=expdp dumpfile=bak01.dmp logfile=expdp01.log


(2)按用户导,schemas=bob会把该用户下的所有表导出

expdp bob/qazwsx@orcl schemas=bob directory=expdp dumpfile=bak02.dmp logfile=expdp02.log


(3)导出全库,full=y,用system或者有sysdba权限用户导

expdp bob/qazwsx@orcl full=y directory=expdp dumpfile=bak03.dmp logfile=expdp03.log

或者expdp \'sys/oracle as sysdba\' full=y directory=expdp dumpfile=full.dmp


(4)按查询条件导

expdp bob/qazwsx@orcl directory=expdp dumpfile=bak04.dmp tables=emp query='WHERE deptno=20'


(5)按表空间导

expdp bob/qazwsx@orcl directory=expdp dumpfile=tablespace.dmp tablespaces=temp,example


4、impdp还原

(1)还原表

impdp bob/qazwsx@orcl tables=tb2,tb3 directory=expdp dumpfile=bak01.dmp


(2)还原该用户下的所有表

impdp bob/qazwsx@orcl schemas=bob directory=expdp dumpfile=bak02.dmp


(3)库还原

impdp bob/qazwsx@orcl full=y directory=expdp dumpfile=bak03.dmp


(4)追加,如果表结构存在用append

impdp scott/tiger dumpfile=expdp:scott.bak tables=emp tables_exists_action=append


(5)替换,不会释放表空间

impdp scott/tiger dumpfile=expdp:scott.bak tables=emp tables_exists_action=replace



(6)截断,会释放空间,重新插入新的数据

impdp scott/tiger dumpfile=expdp:scott.bak tables=emp tables_exists_action=truncate


(7)只恢复emp表的时候,另外两个表会跳过恢复

impdp scott/tiger dumpfile=expdp:scott.bak tables=emp,dept,salgrade tables_exists_action=skip


(8)改变表的owner:

例子:impdp user/passwd direcotry=xxx dumpfile=xxx.dmp remap_schema=原schema:新schema名字 logfile=xxx.log

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;


(9)导入表空间

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;




用户 文件 权限 空间 客户 客户端 时候 结构 服务 不适 备份 多张 工具 数据 程序 空格 逗号 两个 事项 例子 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 搭建免费的服务器 软件开发公司业务怎么介绍 软件开发和土建哪个好 高职计算机网络技术基础考试 斗破苍穹服务器连接不上 路北区企业网络技术售后保障 网络安全是哪个部门管理 海康威视dns服务器填什么 数据库的cursor对象 鼎秀古籍全文数据库的文献分类 关于计算机网络技术自我认知 fmrs是哪种数据库 广州人工智能软件开发价格表 怀旧服服务器最大可以扩容多少 建立网络安全管理制度的通知 mn和ice服务器哪个好 酷家乐服务器流量太大请稍后再试 金融网络安全发展方向 数据库原理及应用实践实验报告 mes系统数据库 tbc搬砖选哪个服务器 则杨某年内不得从事网络安全管理 远程服务器多个管理软件 一个月打造数据库 国家网络安全和突发事件应急预案 天心区软件开发专业学校 手机服务器有多大 java表单保存到数据库 奇迹服务器推荐 环球之音软件开发系统
0