oracle+imp+参数忽略,ORACLE EXP/IMP 参数详解(转载)

USERID

运行导出命令的帐号的用户名/口令

BUFFEER

用来取数据行的缓冲区的大小

FILE

导出转储文件的名字

COMPRESS

导出是否应该压缩有碎片的段成一个范围,这将会影响STORAGE子句

GRANTS

导出时否要导出数据库对象上的授权

INDEXES

是否要导出表上的索引

ROWS

是否应导出行。如它为‘N’,那么在导出文件中仅生成数据库对象的DDL

CONSSTRAINTS

是否导出表旧的约定条件

FULL

如设为‘Y’,那么将执行一个整个数据库导出操作

OWNER

要导出的一系列数据库帐号,然后执行这些帐号的USER导出操作

TABLES

要导出的一系列表;执行这些表的TABLE导出操作

RECORDLENGTH

转储导出文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导出文件

INCTYPE

正在执行的导出操作的类型(有效值有COMPLETE(缺省值),CUMULATIVE和IVCREMENTAL)

RECORD

在增量导出类型中的一个标记,标明是否将日志存储到数据字典中日志导出的表中

PARFILE

要传递给导出的参数文件的名字。这个文件将包含所有参数的入口项

ANALYZE

标明是否将移对象的统计信息写入导出转储文件中

CONSISTENT

标明是否保留所有导出对象的读取一致复制

LOG

导出日志将要写入的文件的名字

MLS

标明是否要导出MLS 标号

MLS_LABEL

规定了MLS标号的格式

IMP导入选项

关键字

内容

USERID

运行导入命令的帐号的用户名/口令

BUFFEER

用来取数据行的缓冲区的大小

FILE

导入转储文件的名字

SHOW

规定文件内容是否被显示,而不是被执行

EGNORE

标明在执行‘CREATE’命令时,是否忽略遇到的错误。如果正在导入的对象已经存在时,应使用这个参数

FULL

如设为‘Y’,那么将执行一个整个数据库导入操作

FROMUSER

在FULL=N的情况下,才有参数。它是一系列的数据库帐号,其对象应从导出转储文件中读取

TOUSER

一系列数据库帐号,导出转储文件扣的对象将要导入这些帐号

GRANTS

导入时否要导入数据库对象上的授权

INDEXES

是否要导入表上的索引

ROWS

是否应导入行。如它为‘N’,那么在导入文件中执行数据库对象的DDL

TABLES

要导入的一系列表

RECORDLENGTH

转储导入文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导入文件

INCTYPE

正在执行的导入操作的类型(有效值有COMPLETE(缺省值),CUMULATIVE和IVCREMENTAL)

PARFILE

要传递给导入的参数文件的名字。这个文件将包含所有参数的入口项

ANALYZE

标明是否将移对象的统计信息写入导入转储文件中

LOG

导入日志将要写入的文件的名字

MLS

标明是否要导入MLS 标号

INDEXFILE

不执行导入动作,只生成建索引的文本

下面介绍的是导入导出的实例。

exp

将数据库内的各对象以二进制方式下载成dmp文件,方便数据迁移。

buffer:下载数据缓冲区,以字节为单位,缺省依赖操作系统

consistent:下载期间所涉及的数据保持read only,缺省为n

direct:使用直通方式 ,缺省为n

feeback:显示处理记录条数,缺省为0,即不显示

file:输出文件,缺省为expdat.dmp

filesize:输出文件大小,缺省为操作系统最大值

indexes:是否下载索引,缺省为n,这是指索引的定义而非数据,exp不下载索引数据

log:log文件,缺省为无,在标准输出显示

owner:指明下载的用户名

query:选择记录的一个子集

rows:是否下载表记录

tables:输出的表名列表

导出整个实例

exp dbuser/oracle file=oradb.dmp log=oradb.log full=y consistent=y

direct=y

user应具有dba权限

导出某个用户所有对象

exp dbuser/oracle file=dbuser.dmp log=dbuser.log owner=dbuser

buffer=4096000 feedback=10000

导出一张或几张表

exp dbuser/oracle file=dbuser.dmp log=dbuser.log

tables=table1,table2 buffer=4096000 feedback=10000

导出某张表的部分数据

exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1

buffer=4096000 feedback=10000 query=\”where col1=\’…\’ and col2

\

不可用于嵌套表

以多个固定大小文件方式导出某张表

exp dbuser/oracle file=1.dmp,2.dmp,3.dmp,… filesize=1000m

tables=emp buffer=4096000 feedback=10000

这种做法通常用在:表数据量较大,单个dump文件可能会超出文件系统的限制

直通路径方式

direct=y,取代buffer选项,query选项不可用

有利于提高下载速度

consistent选项

自export启动后,consistent=y冻结来自其它会话的对export操作的数据对象的更新,这样可以保证dump结果的一致性。但这个过程不能太长,以免回滚段和联机日志消耗完

imp

将exp下载的dmp文件上载到数据库内。

buffer:上载数据缓冲区,以字节为单位,缺省依赖操作系统

commit:上载数据缓冲区中的记录上载后是否执行提交

feeback:显示处理记录条数,缺省为0,即不显示

file:输入文件,缺省为expdat.dmp

filesize:输入文件大小,缺省为操作系统最大值

fromuser:指明来源用户方

ignore:是否忽略对象创建错误,缺省为n,在上载前对象已被建立往往是一个正常现象,所以此选项建议设为y

indexes:是否上载索引,缺省为n,这是指索引的定义而非数据,如果上载时索引已建立,此选项即使为n也无效,imp自动更新索引数据

log:log文件,缺省为无,在标准输出显示

rows:是否上载表记录

tables:输入的表名列表

touser:指明目的用户方

导入整个实例

imp dbuser/oracle file=oradb.dmp log=oradb.log full=y

buffer=4096000 commit=y ignore=y feedback=10000

导入某个用户所有对象

imp dbuser/oracle file=dbuser.dmp log=dbuser.log fromuser=dbuser

touser=dbuser2 buffer=2048000 commit=y ignore=y

feedback=10000

导入一张或几张表

imp dbuser2/oracle file=user.dmp log=user.log tables=table1,table2

fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y

feedback=10000

以多个固定大小文件方式导入某张表

imp dbuser/oracle file=\(1.dmp,2.dmp,3.dmp,…\) filesize=1000m

tables=emp fromuser=dbuser touser=dbuser2 buffer=4096000 commit=y

ignore=y feedback=10000

备注:

同版本导入时,比如9i的,导入操作时应该先导入表结构再导入数据.不然后触发,约束不能导入.

例如:

先导表结构

imp "'sys/**** as sysdba'" file=/home/orcl/daily.dmp

log=/home/orcl/daily.log full=y rows=n indexes=n

statistics=none

后导数据

imp "'sys/**** as sysdba'" file=/home/orcl/daily.dmp

log=/home/orcl/daily.log statistics=none ignore=y full=y

参数文件-用户导入

imp parfile=cams_imp.par

cams_imp.par 文件的内容为:

userid=cams/cams@cams

fromuser=cams

touser=cams

file=(/tmp/2004020601.dmp, /tmp/2004020602.dmp,

/tmp/2004020603.dmp)

log=/tmp/20040206.log

该命令使用了参数文件,导入文件中cams 用户的所有数据,导入过程记录日志.

说明:

(1) cams 用户保存了CAMS 系统的重要数据,为了不暴露cams 用户的密码可以将上面的userid

的值写为cams@cams,此时imp 会提示用户输入密码,输入的密码不会显示出来.

你可能感兴趣的:(oracle+imp+参数忽略)