Oracle中用exp/imp命令参数详解
【用 exp 数 据 导 出】:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST rows=y indexes=y compress=n buffer=65536 feedback=100000full=y file=d:\daochu.dmp log=d:\daochulog.txt owner=(ECC_BIZ,ECC_CUSTOMER)
- 关键字 说明默认
- USERID 用户名/口令
- FULL 导出整个文件 (N)
- BUFFER 数据缓冲区的大小
- OWNER 导出指定的所有者用户名列表
- FILE 输出文件(EXPDAT.DMP)
- TABLES 导出指定的表名列表
- COMPRESS 是否压缩导出的文件(Y)
- RECORDLENGTH IO 记录的长度
- GRANTS 导出权限(Y)
- INCTYPE 增量导出类型
- INDEXES 导出索引 (Y)
- RECORD 跟踪增量导出(Y)
- ROWS 导出数据行(Y)
- PARFILE 参数文件名
- 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 数 据 导 入】:
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST ignore=y full=y file=d:\daochu.dmp log=d:\daoru.txt
- 关键字 说明默认
- 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)
- FEEDBACK每 x 行显示进度
- TOID_NOVALIDATE 跳过指定类型 ID 的验证
- FILESIZE 每个转储文件的最大大小
- STATISTICS始终导入预计算的统计信息
- RESUMABLE在遇到有关空间的错误时挂起
- RESUMABLE_NAME用来标识可恢复语句的文本字符串
- RESUMABLE_TIMEOUTRESUMABLE 的等待时间
- COMPILE编译过程, 程序包和函数 (Y)
- STREAMS_CONFIGURATION导入 Streams 的一般元数据 (Y)
- STREAMS_INSTANITATION 导入 Streams 的实例化元数据 (N)
- TRANSPORT_TABLESPACE导入可传输的表空间元数据
- TABLESPACES 将要传输到数据库的表空间
- DATAFILES将要传输到数据库的数据文件
- TTS_OWNERS拥有可传输表空间集中数据的用户
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