posts - 68, comments - 19, trackbacks - 0, articles - 1

Oracle中用exp/imp命令参数详解

Posted on 2018-08-30 08:45 viery 阅读(165) 评论(0)  编辑  收藏 所属分类: Oracle

【用 exp 数 据 导 出】:
1  将数据库TEST完全导出,用户名system 密码system导出到D:\daochu.dmp中
   exp 
system/manager@TEST   rows=y  indexes=y compress=n buffer=65536   feedback=100000 full=y  file=d:\daochu.dmp  log=d:\daochulog.txt   owner=(ECC_BIZ,ECC_CUSTOMER)
EXP的所有参数(括号中为参数的默认值):
USERID        用户名/口令      如: USERID=duanl/duanl      
FULL          导出整个数据库 (N)
BUFFER        数据缓冲区的大小         
OWNER        所有者用户名列表,你希望导出哪个用户的对象,就用owner=username
FILE           输出文件 (EXPDAT.DMP)    
TABLES        表名列表 ,指定导出的table名称,如:TABLES=table1,table2
COMPRESS     导入一个extent (Y)   
RECORDLENGTH   IO 记录的长度
GRANTS        导出权限 (Y)            
INCTYPE        增量导出类型
INDEXES        导出索引 (Y)           
RECORD        跟踪增量导出 (Y)
ROWS           导出数据行 (Y)        
PARFILE        参数文件名,如果你exp的参数很多,可以存成参数文件.
CONSTRAINTS   导出约束 (Y)    
CONSISTENT    交叉表一致性
LOG            屏幕输出的日志文件    
STATISTICS     分析对象 (ESTIMATE)
DIRECT         直接路径 (N)              
TRIGGERS      导出触发器 (Y)
FEEDBACK      显示每 x 行 (0) 的进度
FILESIZE        各转储文件的最大尺寸
QUERY          选定导出表子集的子句
下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TABLESPACES 将传输的表空间列表

2 将数据库中system用户与sys用户的表导出
   exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)


3 将数据库中的表table1 、table2导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)


4 将数据库中的表table1中的字段filed1以”00″打头的数据导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\” where filed1like '00%'\”

上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。不过在上面命令后面 加上 compress=y   就可以了。

【用 imp 数 据 导 入】:
IMP的所有参数(括号中为参数的默认值):
USERID    用户名/口令           
FULL      导入整个文件 (N)
BUFFER    数据缓冲区大小         
FROMUSER      所有人用户名列表
FILE      输入文件 (EXPDAT.DMP)    
TOUSER        用户名列表
SHOW      只列出文件内容 (N)
TABLES       表名列表
IGNORE    忽略创建错误 (N)    
RECORDLENGTH   IO 记录的长度
GRANTS   导入权限 (Y)          
INCTYPE       增量导入类型
INDEXES 导入索引 (Y)          
COMMIT        提交数组插入 (N)
ROWS     导入数据行 (Y)       
PARFILE       参数文件名
LOG       屏幕输出的日志文件   
CONSTRAINTS   导入限制 (Y)
DESTROY   覆盖表空间数据文件 (N)
INDEXFILE 将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES   跳过不可用索引的维护 (N)
ANALYZE   执行转储文件中的 ANALYZE 语句 (Y)
FEEDBACK 显示每 x 行 (0) 的进度
TOID_NOVALIDATE   跳过指定类型 id 的校验
FILESIZE 各转储文件的最大尺寸
RECALCULATE_STATISTICS 重新计算统计值 (N)
下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
TABLESPACES 将要传输到数据库的表空间
DATAFILES 将要传输到数据库的数据文件
TTS_OWNERS 拥有可传输表空间集中数据的用户

将D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST   ignore=y  full=y   file=d:\daochu.dmp  log=d:\daoru.txt

1. 获取帮助

imp help=y

2. 导入一个完整数据库

imp system/manager file=bible_db log=dible_db full=y ignore=y

3. 导入一个或一组指定用户所属的全部表、索引和其他对象

imp system/manager file=seapark log=seapark fromuser=seapark

imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)

4. 将一个用户所属的数据导入另一个用户

imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy

imp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1)

5. 导入一个表

imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)

6. 从多个文件导入

imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck,filesize=1G full=y

7. 使用参数文件

imp system/manager parfile=bible_tables.par

bible_tables.par参数文件:

#Import the sample tables used for the Oracle8i Database Administrator's

#Bible.

fromuser=seapark touser=seapark_copy file=seapark log=seapark_import

8. 增量导入(9i中已经取消)

imp system./manager inctype= RECTORE FULL=Y FILE=A


只有注册用户登录后才能发表评论。


网站导航: