在上一篇
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
分享到:
相关推荐
ORACLE_HOME=$ORACLE_BASE/oracle ORACLE_SID=hsj PATH=$ORACLE_HOEM/bin:$PATH; LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH 3...
Oracle SQLPLUS命令的使用大全.doc
oracle 常用命令_oracle 命令大全_oracle命令集合_oracle基本命令 非常方便,带查询功能,能很方便的查询你要找的oracle命令写法
ORACLE SQLPLUS 命令大全ORACLE SQLPLUS 命令大全ORACLE SQLPLUS 命令大全ORACLE SQLPLUS 命令大全ORACLE SQLPLUS 命令大全
你要的都有!Oracle命令
ORACLE常用命令ORACLE常用命令ORACLE常用命令
ORACLE SQL*PLUS命令的使用大全
学习资料 Oracle归档模式命令
oracle 常用命令大全 oracle dba 常用命令 1 运行 SQLPLUS 工具 sqlplus 2 以 OS 的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入 SQLPLUS 命令提示符 sqlplus /nolog 5 在命令提示符以 OS 身份...
oracle常用命令oracle常用命令oracle常用命令oracle常用命令oracle常用命令oracle常用命令oracle常用命令oracle常用命令oracle常用命令oracle常用命令oracle常用命令oracle常用命令oracle常用命令oracle常用命令...
ORACLE常用命令.doc ORACLE常用命令.doc ORACLE常用命令.doc
Oracle 常用命令举例.pdf Oracle 常用命令举例.pdf
Mysql与Oracle常用命令比较 Mysql与Oracle常用命令比较
oracle数据库导入导出,创建表空间,用户名等常见命令
Oracle常见命令操作
oracle常用命令汇总,一些ORACLE管理工作中经常需要采用到的命令行。可供平常复习或查询之用。
Oracle Rman命令详解,包括rman命令和rman语句解析。
很实用的oracle常用命令及用法,包含用户权限分配及权限设置,数据库备份还原等命令
oracle 字符集修改命令oracle 字符集修改命令oracle 字符集修改命令oracle 字符集修改命令
Linux下ORACLE使用命令Linux下ORACLE使用命令