Oracle数据导入与导出

exp、imp是orcle用来进行数据导入和导出的命令。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。

exp、imp位于oracle安装目录的BIN目录下。

exp命令的一般格式
exp 用户名/密码@SID file=dmp文件路径 参数=参数值….

exp命令导出的三种模式
1、完全:
EXP SYSTEM/MANAGER@MYDB BUFFER=64000 FILE=d:\MYDB.dmp FULL=Y
如果要执行完全导出,必须具有特殊的权限

2、用户模式:
EXP SCOTT/TIGGER@MYDB BUFFER=64000 FILE=d:\MYDB.dmp OWNER=SCOTT
这样用户SOTT的所有对象被输出到文件中。

3、表模式:
EXP SCOTT/TIGGER@MYDB BUFFER=64000 FILE=d:\MYDB.dmp OWNER=SCOTT TABLES=(employee)
这样用户SCOTT的表employee就被导出

exp参数:
关键字 说明(默认)
———————————————-
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 选定导出表子集的子句

exp命令示例
1 将数据库MYDB完全导出,用户名system 密码manager 导出到D:\MYDB.dmp中
exp system/manager@MYDB file=d:\MYDB.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@MYDB file=d:\MYDB.dmp owner=(system,sys)
3 将数据库中的表employee,department导出
exp system/manager@MYDB file= d:\MYDB.dmp tables=(employee,department)
4 将数据库中的表employee中的字段emp_name以”zhang”打头的数据导出
exp system/manager@MYDB file=d:\MYDB.dmp tables=(employee) query=” where emp_name like ‘zhang%'”

imp的一般格式
imp 用户名/密码@SID file=dmp文件路径 参数=参数值….

imp命令导出的三种模式
1、完全:
IMP SYSTEM/MANAGER@MYDB BUFFER=64000 FILE=d:\MYDB.dmp FULL=Y

2、用户模式:
IMP SCOTT/TIGER@MYDB BUFFER=64000 FILE=d:\MYDB.dmp FROMUSER=siduser TOUSER=SCOTT
这样用户siduer的所有对象被导入到数据库中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。

3、表模式:
EXP SCOTT/TIGER@MYDB BUFFER=64000 FILE=d:\MYDB.dmp OWNER=siduser TABLES=(employee)
这样用户siduser的表employee就被导入。

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)

imp命令示例
1 将D:\test.dmp 中的数据导入到TEST数据库中
imp system/manager@TEST file=d:\test.dmp ignore=y
使用ignore=y可以忽略已经存在的表。
2 将d:\test.dmp中的表table1 导入
imp system/manager@TEST file=d:\test.dmp tables=(table1)

此条目发表在mysql/oracle/postgresql分类目录,贴了, 标签。将固定链接加入收藏夹。