Oracle 数据库的导入导出方式还是蛮多的,平时你在做数据迁移、备份或者环境搭建的时候,掌握几种好用的工具有。像SQL*Loader
、exp
、imp
这些工具,配合起来效率挺高。
SQL*Loader的导入速度还不错,适合那种一次性导大量数据的场景。你得先准备好目标表,写个控制文件(.ctl
),定义下字段格式和映射关系。比如你要导入一个制表符分隔的文本文件,控制文件里就要指定字段终止符为X'09'
。跑个命令就行:
sqlldr userid=system/manager control='c:control.ctl'
exp / imp这对组合老工程师都挺熟了,备份恢复的老朋友了。比如你要把整个数据库导出来,可以用:
exp system/manager@TEST file=d:daochu.dmp full=y
想指定某几个表或者某个用户的内容导出也可以,用参数控制一下就好。导入的时候一样,用imp
命令就能反向搞回来:
imp system/manager@TEST file=d:daochu.dmp
如果你数据库里原本就有表,不想被覆盖,可以加个ignore=y
,这点挺贴心。
图形化工具也可以考虑下,像PL/SQL Developer
的菜单里就有导入导出功能,点几下搞定,界面党会比较喜欢。数据少的时候用这个还挺方便,尤其是只迁移几个表的时候。
哦对,SQL*Loader
导入方式也蛮灵活的。你可以选择APPEND
往已有表里追加,也可以REPLACE
覆盖原有数据,甚至TRUNCATE
清空后再导。视情况选就行。
,不管你是备份、迁移,还是搞点数据同步,用对工具真能省不少事。如果你还不熟这些命令,建议试几次,踩踩坑更容易上手。