如何將資料庫中千萬級表中資料匯出為TEXT檔案?除了SPOOL和UTL_FILE包。多謝!
uj5u.com熱心網友回復:
SPOOL匯出海量感覺是不合適的,檔案會非常大,因為他需要固定每行的長度。如果設定的長度短了超過的字符就會被截掉,設長了就會資源浪費檔案變大。用UTL_FILE正常點。其他方式估計得用其他語言或者第三方工具匯出了
uj5u.com熱心網友回復:
shell腳本重定向,應該也可以uj5u.com熱心網友回復:
匯出來的目的是什么?能匯出來,打開也挺費勁的
uj5u.com熱心網友回復:
使用 expdp 吧,這個速度很快;uj5u.com熱心網友回復:
sqluldr2 可行uj5u.com熱心網友回復:
使用 exp匯出表空間(我匯出過1.5G的資料)exp user/password@server file=filefullpathname
user為用戶名 password為密碼 server 為實體名
如下:

如果出現如下提示則表示匯出成功

uj5u.com熱心網友回復:
如果是想匯出此表中的資料,可以先寫好select的查詢sql陳述句,然后匯出dmp,如果這樣,需要用到par包!uj5u.com熱心網友回復:
還可以用sqluldr2,可以用plsqlDev,toad等工具輔助匯出。導成txt,打開是一個問題,會很卡,也不會那么直觀的從里面分析資料。
更明確的需求是什么?
uj5u.com熱心網友回復:
sqluldr2 是正解uj5u.com熱心網友回復:
1、查linux版本[附件:sqluldr.zip]
cat /proc/version
如下結果
Linux version 2.6.32-358.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Tue Jan 29 11:47:41 EST 2013
可以看到是64位的
2、把本檔案夾下的包sqluldr2_linux64_10204.bin拷到/opt/app/oracle/product/11.2.0/db_1/bin(對應的檔案拷對應的版本)
cp sqluldr2_linux64_10204.bin /opt/app/oracle/product/11.2.0/db_1/bin/sqluldr2.bin
3、配置.bash_profile檔案添加如下變數
vi .bash_profile
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:$ORACLE_HOME/lib:/lib:/usr/lib;
4、給sqluldr2.bin檔案添加執行權限
chmod 775 /opt/app/oracle/product/11.2.0/db_1/bin/sqluldr2.bin
5、在/opt/app/oracle/product/11.2.0/db_1/bin/下創建get_tables.sql檔案
touch /opt/app/oracle/product/11.2.0/db_1/bin/get_tables.sql
6、將需要執行的的sql陳述句放到get_tables.sql
7、執行匯出,生成testexport.csv檔案
sqluldr2.bin USER=用戶名/密碼@DB名 sql=get_tables.sql charset=ZHS16GBK head=yes text=CSV FILE=/opt/app/oracle/product/11.2.0/db_1/bin/testexport_2.txt
8、到excel轉換
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/112136.html
標籤:開發
