之前经常有人询问Oracle数据库导出导入的方法,去网上查询,但是查询的结果却不是很尽如人意,所以在此做个基本的总结,包括 导出:(导出用户,导出表,导出表结构不带数据,QUERY参数),导入(导入数据文件,导入表结构,导入数据忽略表结构,仅导入数据)。使用的参数按照自认为使用频率由高到低介绍,内容相比较EXP帮助文档不全,但是足够应对基本的工作任务,想仔细研究的建议查看帮助文档。后续内容有变更会及时增加。
导出命令 EXP
EXP USER/PASSWORD@SID FILE=EXPDAT.DMP [ PARAMETER 参数 ]
USER:用户名
PASSWORD:密码
SID:数据库实例名
FILE:输出文件(EXPDAT.DMP)输出的文件名字
DIRECT:导出的直接路径,导出文件的所在路径,输出文件的路径也可以直接写在file中
EXP USER/PASSWORD@SID FILE=DIRECT/EXPDAT.DMP [ TABLES=|OWNER=|...]
OWNER:数据库用户名
TABLES:数据库表列表,支持多表导出
EXP USER/PASSWORD@SID FILE=EXPDAT.DMP TABLES=TABLE1 TABLE2 ...
ROWS:导出数据行 默认是Y 导出表和数据,当ROWS=N 只导出表结构没有数据
QUERY:需要注意的是只在表模式(表模式就是导出表的操作)中有效
EXP USER/PASSWORD@SID FILE=EXPDAT.DMP TABLES=TBNAME QUERY=\"WHERE\"
FULL:导出整个文件 (N )
GRANTS:导出权限 (Y)
INDEXES:导出索引 (Y)
INCTYPE:增量导出类型
TRIGGERS:导出触发器 (Y)
CONSTRAINTS:导出的约束条件(Y)
BUFFER :数据缓冲区的大小
LOG:屏幕输出的日志文件
导入命令(IMP)
IMP USER/PASSWORD@SID FILE=EXPDAT.DMP [ PARAMETER ]
FILE:输入文件(EXPDAT.DMP)输入的文件名字
FULL:导入整个文件 默认(N) 一般给 (Y)
IGNORE:忽略创建错误 (N)
IMP USER/PASSWORD@SID FILE=EXPDAT.DMP IGNORE=Y FULL=Y
ROWS:导入数据行 (Y)
DATA_ONLY:仅导入数据(Y)
IMP USER/PASSWORD@SID FILE=EXPDAT.DMP DATA_ONLY=Y FULL=Y
GRANTS :导入权限 (Y)
INDEXES :导入索引 (Y)
INCTYPE :增量导入类型