oracle export命令使用浅解,Oracle import下令使用浅解

Oracle import命令使用浅解

在上一篇

oracle export

命令使用浅解

的文章中介绍了

oracle

exp

命令用来导出数据,导出的二进制文件如何使用,怎样才能导入到数据库中呢?答案就是通过

oracle

imp

命令。

该命令的很多参数和上一篇中介绍的

exp

是相对应的,所以两篇可以对比着来看。

1.

认识

imp

命令

Imp

命令可以通过输入各种参数来控制导出的运行方式,执行参数时格式如下:

IMP KEYWORD=value

KEYWORD=(value1,value2,...,valueN)

,例如

IMP SCOTT/TIGER

IGNORE=Y TABLES=(EMP,DEPT) FULL=N

。要想查看

imp

支持的所有参数,可以通过执行

Imp help=y

来查看参数的详细情况。虽说是详细情况,但是等你查看了就知道了,其实一点都不详细,要不然我也就没必要再写这边笔记博文了。

2.

参数详解

USERID

用户名/

口令。该参数在imp

命令中位置必须是第一个,

用户名

/

口令。格式为

用户名

/

密码

@

待连接的数据库。具体参考第三节中示例。

BUFFER

数据缓冲区大小。定义了插入数据的缓冲区的大小,单位是byte,

该值越大, Import

进程执行插入次数就越少,从而提高导入效率。BUFFER

的大小取决于系统应用、数据库规模,通常来说,设为百兆就足够了。

FROMUSER

所有者用户名列表。待导入的二进制文件的中的shcema

信息,如果导出的文件包含多个用户,那么该参数设定时为多个用户的子集,或者全集。如果指定了文件包含用户中的一部分,则本次导入操作只会导入已经指定的部分用户的数据。

TOUSER:

用户名列表。与FROMUSER

对应的参数,指定导入的目标用户列表。因为这个参数的存在,可以使我们轻松的把一个用户下的数据导入到另一个用户下,只需执行一个相应的touser

就可以了。前提是该用户确实存在。

FILE

输入文件。待导入的二进制文件,如果不指定的话,默认采用EXPDAT.DMP

。如果导出时设定了最大转储文件大小的话,我们得到的可能是多个文件,这时候可以指定多个文件名,如:FILE=

(file1.dmp,file2.dmp

……)。

TABLES

表名列表。指定要导入的表名。可以是多个表名,多个表名时采用如下格式:tables=(test_tab_1,test_tab_2)

。如果是在linux

或者unix

下的话,括号需要进行转义。如:tables=\(test_tab_1,test_tab_2\)

IGNORE

忽略创建错误。默认为N

,及不会忽略创建时的错误。比如在导入一个表时,目标表已经存在,那样就会导入失败,并提示错误。如果我们将IGNORE=Y

,这样就不会出现该错误了,但是你就得做好表被追加数据的心理准备了。即使重复了,也不会报错,会直接导入到表中。

RECORDLENGTH:

IO

记录的长度。指定文件的byte

长度。

INDEXES:

是否导入索引。

COMMIT

提交数组插入。默认值是N

,表示导完一张表之后进行提交。如果设置为Y

,则每次缓冲区满了之后就进行提交一次。这样可以减少占用的回滚段大小。建议设置为Y.

ROWS:

导入数据行。默认为Y

,即导入表中的记录。设置为N

的话,则只会导入表结构。

LOG

屏幕输出的日志文件。

CONSTRAINTS:

是否导入文件中包含的表的constraint

内容。

GRANTS

是否导入权限。

STATISTICS:

统计信息。统计导入过程的相关信息,可选项包括

ALWAYS

NONE

SAFE

RECALCULATE

以上只是列举了imp

的基本常用参数。要午休了,就写这些吧,基本也就够了。

3.

举例

下面是一个导入命令的示例,可以参考一下。如下:

imp scott/scottpwd@mydb file=/data/test.dmp.tmp buffer=100000 fromuser=user1 touser=user1 commit=Y tables=\(etl_test_0,etl_test_1\) ignore=Y indexes=N rows=Y grants=Y constraints=Y log=/data/imp.log

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值