Oracle导入导出工具
EXP和IMP介绍:
1、EXP:数据导出工具
有三种主要的方式(完全、用户、表)
1、完全:
将整个Oracle数据库中的所有对象、用户等导出。
2、用户模式:
将指定用户的所有对象和对象中的数据导出。
3、表模式:
将指定用户的指定数据表进行导出。
2、IMP:数据导入工具
具有三种模式(完全、用户、表)
1、完全:
将整个Oracle数据库中的所有对象、用户等导入。
2、用户模式:
将指定用户的所有对象和对象中的数据导入。
3、表模式:
将指定用户的指定数据表进行导入。
EXP工具参数详解:
n USERID username/口令
n FULL 导出整个数据库文件 (N)
n BUFFER 数据缓冲区大小
n OWNER 被导出的用户
n FILE 输出文件 (EXPDAT.DMP)
n TABLES 表名称列表
n COMPRESS 导入到一个区 (Y)
n RECORDLENGTH IO 记录的长度
n GRANTS 导出权限 (Y)
n INCTYPE 增量导出类型
n INDEXES 导出索引 (Y)
n RECORD 跟踪增量导出 (Y)
n DIRECT 直接路径 (N)
n TRIGGERS 导出触发器 (Y)
n LOG 屏幕输出的日志文件
n STATISTICS 分析对象 (ESTIMATE)
n ROWS 导出数据行 (Y)
n PARFILE 參数文件名称
n CONSISTENT 交叉表的一致性 (N)
n CONSTRAINTS 导出的约束条件 (Y)
n OBJECT_CONSISTENT 仅仅在对象导出期间设置为读的事务处理 (N)
n FEEDBACK 每 x 行的显示运行进度 (0)
n FILESIZE 每一个即可转储文件的最大大小
n FLASHBACK_SCN 用于将会话快照设置回曾经状态的 SCN
n FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间
n QUERY 用于导出表的子集的 select 子句
n RESUMABLE 遇到与空格相关的错误时挂起 (N)
n RESUMABLE_NAME 用于标识可恢复语句的文本字符串
n RESUMABLE_TIMEOUT RESUMABLE 的等待时间
n TTS_FULL_CHECK 对 TTS 运行完整的或部分相关性检查
n TABLESPACES 要导出的表空间列表
n TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
n TEMPLATE 调用 iAS 模式导出的模板名
IMP工具参数详解
n USERID username/口令 FULL 导入整个文件 (N)
n BUFFER 数据缓冲区大小
n FROMUSER 导入的用户
n FILE 输入文件 (EXPDAT.DMP)
n TOUSER 导出的用户
n SHOW 仅仅列出文件内容 (N)
n TABLES 表名列表
n IGNORE 忽略创建错误 (N)
n RECORDLENGTH IO 记录的长度
n GRANTS 导入权限 (Y)
n INCTYPE 增量导入类型
n INDEXES 导入索引 (Y)
n COMMIT 提交数组插入 (N)
n ROWS 导入数据行 (Y)
n PARFILE 參数文件名称
n LOG 屏幕输出的日志文件
n CONSTRAINTS 导入限制 (Y)
n DESTROY 覆盖表空间数据文件 (N)
n INDEXFILE 将表/索引信息写入指定的文件
n SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)
n FEEDBACK 每 x 行显示运行进度 (0)
n TOID_NOVALIDATE 跳过指定类型 ID 的验证
n FILESIZE 每一个即可转储文件的最大大小
n STATISTICS 始终导入估计算的统计信息
n RESUMABLE 在遇到有关空间的错误时挂起 (N)
n RESUMABLE_NAME 用来标识可恢复语句的文本字符串
n RESUMABLE_TIMEOUT RESUMABLE 的等待时间
n COMPILE 编译过程, 程序包和函数 (Y)
n STREAMS_CONFIGURATION 导入 Streams 的一般元数据 (Y)
n STREAMS_INSTANITATION 导入 Streams 的实例化元数据 (N)
n 下列keyword仅用于可传输的表空间
n TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
n TABLESPACES 将要传输到数据库的表空间
n DATAFILES 将要传输到数据库的数据文件
n TTS_OWNERS 拥有可传输表空间集中数据的用户
导入导出实例:
一、数据导出:
1. 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
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 filed1 like '00%'\"
二、数据的导入
1. 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2. 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
3. 将scott用户的数据表导入到用户developer
imp system/manager@TEST file=d:\daochu.dmp fromuser=scott touser=developer
exp system/123456@orcl file=d:\daochu.dmp full=y
OracleServiceORCL