合 Oracle文本数据(csv、txt)导出方法总结
Tags: Oracle数据迁移sqlplus文本导出csv文件txt文件文本文件sqluldr2spool
前 言
在日常维护工作中,经常会遇到客户要求将标的数据库导出为TXT、CSV等文件。
在数据量较少的情况下PL/SQL、toad、Navicat
等工具都可以满足要求,速度快而且方便。
但这些工具并不适用于数据量大的情况,在数据量大的时候工具会卡死,在不同的数据库版本,有不同的解决方案。
导出方案
spool方式(通用)
对于数据量大的情况我们一般使用SPOOL方式进行导出:
1 2 3 4 5 6 7 8 9 10 11 12 13 | sqlplus -S username/password<<eof set linesize 2000 pages 0; set numwidth 30; set heading off ; set feedback off ; set timing off; set trimspool on; alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; spool session.csv set timming on; SELECT '"'||machine||'","'||program||'","'||port||'","'||process||'","'||username||'"' from dbauser.session_01; spool off eof |
sqluldr2
详细参考:https://www.xmmup.com/oraclewenbendaochugongjuzhisqluldr2.html
sqluldr2缺点:导出不能包含CLOB字段,否则会报错。
除此之外也可以使用sqluldr2,该工具可快速将数据导出为TXT、CSV格式,支持并行导出、多种分隔符、自动拆分文件、通配符。需要额外下载安装。
导出格式: