简单介绍ORACLE数据库使用SQLLDR导入导出数据

因工作需要,初次接触SQLLDR,要求使用其导入导出大批量的文本数据,经反复查阅资料和研究后,发现该工具对.txt,.xml,.csv等格式的文件均可使用,适用于大批量数据的导入和导出需求。


简单总结了一下导入导出的流程,SQLLDR功能很强大,若想详细研究,请查阅其他资料;


下载sqlldr2.exe,适用于windows平台,将其放入$ORACLE_HOME/bin目录下即可;

1、导出流程
(1)将导出结果对应的sql语句保存为.sql文件,放置在本地磁盘,比如d:\exp.sql文件;
(2)打开cmd窗口,进入$ORACLE_HOME/bin目录;
(3)导出命令:sqluldr2.exe user=trans/trans@ORCL sql=d:\exp.sql file=d:\exp.xml   将该命令粘贴到cmd窗口中,回车执行;
(4)执行后,会显示导出速度,一百万行一显示,速度很快;
(5)导出的文件格式可灵活选择,.txt,.xml,.csv均可

2、导入流程
(1)将要导入的文件放置在本地磁盘,比如d:\imp.xml
(2)导入数据时,需要对应的控制文件,内容如下:
  load data
  CHARACTERSET 'UTF8'  ---设置编码格式
  append into table trans.table1  ---设置导入哪个用户哪张表
  fields terminated by ',' ----要导入的文件中的数据分隔符,可根据导入文件中的内容灵活修改
  trailing nullcols  ---即使有为空的列,也以null值插入
  (GRBH,KH)  ---导入对应的字段名称和顺序
  
  将该文件保存为.ctl格式,保存在本地磁盘,比如d:\temp.ctl,该文件相当重要,一定要仔细整理
(3)打开cmd窗口,进入$ORACLE_HOME/bin目录;
(4)导入命令:sqlldr control='D:\temp.ctl'  data='D:\imp.xml' log='D:\imp.log' errors=1000 rows=5000  bindsize=104857600   将该命令粘贴到cmd窗口中,回车执行;
(5)执行后,会提示输入用户名和密码,注意:输入用户名格式为trans@ORCL,指定具体的数据库
(6)导入完成,可查看导入日志d:\imp.log,查看导入情况,会显示总数据量,导入成功数据量,导入失败数据量,导入耗时等信息


以上若有不合适或需完善的地方,敬请指出,期待共同学习进步。

你可能感兴趣的:(数据库)