星期五, 5月 04, 2012

[Script] unload Oracle table data 到文字檔(flat file)的方法

sqlplus "/ as sysdba"<< EOF
set heading off
set lines 1000
set pagesize 0
set termout off
set trimspool on
set linesize 9999    
set term off
set feedback off
spool /mnt/table_name.csv
set colsep ","
--以下為想倒出的表格 , 可自行定義之
select * from TABLE where datetime2 between '${1}0101 00:00:00' and '${1}1231 23:59:59';
spool off
EOF


#把一個或一個以上的空白用一個空白代替(上面的linesize 9999 會造成許多空白output...故在這邊把多餘空白資料合併)
sed 's/\ \ */\ /g' /mnt/table_name.csv > /mnt/table_name.csv.ok

產生完以後 就可以使用database load tool 去搬資料囉!

後來發現sql loader會ignore 其他SQL> 的prompt 字串到discard file去
所以Oracle 還是很強大的!

沒有留言:

LinkWithin-相關文件

Related Posts Plugin for WordPress, Blogger...