oracle怎么用工具导入器,oracle导出/导入工具

1.1 EXPDP/IMPDP 参数说明

新的导出工具/导入工具也都是命令行工具,调用的方法与传统的导出工具/导入工具相同,新的命令分别是EXPDP和IMPDP。从表面来看,EXPDP/IMPDP 命令与 EXP/IMP 命令最显著的不同就是参数变复杂了!本节将从与 EXP/IMP 命令对比的角度,讲述我在使用新命令(参数)时的一些心得体会。userid:无变化,用于指定用户名/口令。依然支持 3 种写法,依然必须是第一个参数,依然可以省略参数名不写。

directory:新增,供转储文件和日志文件使用的目录对象。新命令产生的转储文件只能被存放在 directory 对象对应的 OS 目录中,不能直接指定转储文件存放的 OS 目录,因此在执行命令之前需要先创建 directory 对象。如要把转储文件存放在 D 盘的 dump 目录,示例:CREATE OR REPLACE DIRECTORY dump AS ‘D:dump’;。至少要确保在执行命令时 D 盘存在名为 dump 目录,因为 EXPDP/IMPDP 不会自动创建 OS 目录。很多帖子里都说创建 directory 对象之后还得给导出账户赋读写权限,示例:GRANT READ, WRITE ON DIRECTORY dump TO demo;。我从未这样赋权也能导出!也许是那些帖子抄袭了相同的错误,当然,也可能是我遗漏了什么。事实上,directory 参数有个默认值:DATA_PUMP_DIR(Oracle 预定义的 directory 对象),当不显示给 directory 参数赋值时,就会启用该默认值。可通过 all_directories 视图查询与 DATA_PUMP_DIR 实际映射的 OS 目录。示例:SELECT t.directory_path FROM all_directories t WHERE t.directory_name=’DATA_PUMP_DIR’;。

dumpfile:新增,目标转储文件名的列表。若不显示指定,默认值为:EXPDAT.DMP。

logfile:新增,日志文件名。若不显示指定,默认值为:export.log。

nologfile:新增,不写入日志文件。可选值 y/n,默认为 n,表示写入,即自动在转储文件所在的目录创建日志文件。

content:新增,指定要卸载的数据。可选值 all/data_only/metadata_only,默认为 all,表示业务数据和元数据都导出。

exclude:新增,排除特定类型对象。下面给出几个典型的排除表达式写法供大家参考:

exclude=statistics 排除统计信息。

exclude=sequence,trigger 排除序列和触发器。

exclude=table:"= 'T_STAFF'" 排除 T_STAFF 表。

exclude=table:"IN ('T_STAFF','T_COURSE')" 排除 T_STAFF 表和 T_COURSE 表。

exclude=table:"> 'T'" 排除开头字母大于 T 的表。

exclude=procedure:"LIKE 'SP_%'" 排除以 SP_开头的存储过程。

exclude=index,view,table:"= 'T_STAFF'" 排除索引、视图和 T_STAFF 表。

include:新增,包含特定类型对象。参数值表达式写法请参考 exclude 参数。

full:无变化,导出/入整个数据库。可选值 y/n,默认为 n,表示非全库导出/入。

schemas:相当于 owner,要导出/入的方案的列表。

tables:无变化,标识要导出/入表的列表。

query:无变化,用于导出/入表的子集的谓语子句。

tablespaces:无变化,标识要导出/入表空间的列表。相对来说比较少用。

estimate:新增,计算作业估计值。可选值 blocks/statistics,默认为 blocks,表示通过数据块数量估算, statistics 表示通过统计信息中记录的内容估算。

estimate_only:新增(仅导出),在不执行导出的情况下计算作业估计值。

parallel:更改当前作业活动的 worker 的数目。

job_name:新增,要创建的导出/入作业的名称。

remap_schema:新增(仅导入),将一个方案中的对象加载到另一个方案。

remap_tablespace:新增(仅导入),讲表空间对象重新映射到另一个表空间。

table_exists_action:新增(仅导入),导入对象已存在时执行的操作。可选值 skip/append/truncate/replace。默认为 skip,表示跳过。append 表示在原基础上增加数据,truncate 表示先 truncate 表,再插入数据,replace 表示先 drop 表,再创建表并插入数据。

reuse_datafiles:新增(仅导入),如果表空间已存在,则将其初始化。可选值 y/n,默认为 n。

sqlfile:新增(仅导入),将所有 DDL 语句写入指定文件。

1.2 EXPDP/IMPDP 用法示范

1、全库导出/导入

expdp demo/test directory=dump dumpfile=dat1.dmp logfile=log1.log full=y

impdp demo/test directory=dump dumpfile=dat1.dmp logfile=log1.log full=y

2、按用户导出/导入

expdp demo/test directory=dump dumpfile=dat2.dmp logfile=log2.log schemas=demo

impdp demo/test directory=dump dumpfile=dat2.dmp logfile=log2.log schemas=demo

3、按表空间导出/导入

expdp demo/test directory=dump dumpfile=dat3.dmp logfile=log3.log tablespaces=users

impdp demo/test directory=dump dumpfile=dat3.dmp logfile=log3.log tablespaces=users

4、按表导出/导入

expdp demo/test directory=dump dumpfile=dat4.dmp logfile=log4.log tables=t_staff,t_course

impdp demo/test directory=dump dumpfile=dat4.dmp logfile=log4.log tables=t_staff,t_course

5、按查询条件导出/导入

expdp demo/test directory=dump dumpfile=dat5.dmp tables=t_staff query=" WHERE birthday>=TO_DATE('1990-01-01','yyyy-mm-dd')"

impdp demo/test directory=dump dumpfile=dat5.dmp tables=t_staff query=" WHERE birthday>=TO_DATE('1990-01-01','yyyy-mm-dd')"

6、导出 demo 方案,且不写日志

expdp demo/test directory=dump dumpfile=nolog.dmp schemas=demo nologfile=y

7、导出 demo 方案的业务数据

expdp demo/test directory=dump dumpfile=data.dmp logfile=data.log schemas=demo content=data_only

8、在不执行导出的情况下,估算 demo 方案

expdp demo/test directory=dump logfile=estimate.log schemas=demo estimate=statistics estimate_only=y

9、导出 t_staff 表定义

expdp demo/test directory=dump dumpfile=staff.dmp logfile=staff.log tables=t_staff content=metadata_only

10、并行导出 demo 方案,并指定作业名称为 parallel

expdp demo/test directory=dump dumpfile=parallel.dmp logfile=parallel.log schemas=demo parallel=2 job_name=parallel

11、导入前先清空表空间(不可同时指定 reuse_datafiles 和 schemas 或 tablespaces)

impdp demo/test directory=dump dumpfile=dat2.dmp reuse_datafiles=y

12、按用户导入,且把所有 DLL 语句写入 dat2.sql 文件

impdp demo/test directory=dump dumpfile=dat2.dmp schemas=demo sqlfile=dat2.sql

13、也可以把常用的 EXPDP/IMPDP 命令写到批处理文件中,方便日后快速搞定导出/导入。具体操作可参考 EXP/IMP 使用技巧。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值