Oracle提供了命令行工具导出(exp)和导入(imp),可以仅导出或导入数据结构(包含表、视图、sequence、索引等数据库对象)或数据结构和数据一起,可以按用户导入导入,也可以仅导出导入特定表。命令的详细参数可以通过exp help=y或imp help=y查看。
需要切换到数据库安装用户下执行,为了避免乱码,最好检查和设置console的编码跟数据库编码保持一致,比如设置console编码为gbk,也可以在用户的环境变量配置好,避免每次都设置:
1 |
|
按用户导出举例(导出REPORT_DW用户的数据结构和数据):
1 |
|
按表导出(test和test1表)
1 |
|
向导模式导出
1 |
|
如果只导出数据结构不导出数据
1 |
|
注:owner:导出哪个用户下的内容,tables:导出那些表,rows=y:是否导出数据,file:导出落地文件
导入举例(导入之前从REPORT_DW用户导出的内容到REPORT_DW_INT用户下)
1 |
|
注:file:之前exp的文件,用来导入;fromuser:之前exp的owner;touser:导入到那个用户下。 如果存在相同数据结构会报冲突错,建议目标用户比较干净。
exp help
1 |
|
imp help
1 |
|
Q&A
IMP-00032: SQL statement exceeded buffer length
设置buffer=1000000即可