需要安裝Linux Oracle client文件
- oracle-instantclient-11.2.0.4.0-1.1.x86_64.rpm;
- oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
- oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
- sqluldr2linux64.bin
參考資料
http://blog.itpub.net/24926365/viewspace-2150562/
https://blog.csdn.net/u013169075/article/details/53340712
https://blog.csdn.net/xfg0218/article/details/82377946
https://blog.csdn.net/cheng_feng_xiao_zhan/article/details/83620593
oracle-client安裝文件地址:
https://pan.baidu.com/s/1P-1venz_FwceXP3BB3kJew 提取碼: 838y
sqluldr2工具文件地址:
https://pan.baidu.com/s/1ZIk20fz7kHkUreYERlOz0Q 提取碼: dyix
安裝步驟
一、 Linux環境配置
1創建sqluldr2目錄
在 /home/profit下創建sqluldr2目錄
mkdir -m 775 sqluldr2
2文件拷貝到sqluldr2目錄下:
把sqluldr2linux64.bin文件拷貝到sqluldr2目錄下
給文件添加權限為775
chmod 775 sqluldr2linux64.bin
3創建sqlData目錄
進入目錄/home/profit/uploadFile下創建sqlData目錄,用於存放sql腳本
mkdir -m 775 sqlData
導出成功后,會生成2個文件,log日志文件,執行sql腳本文件;
二、 Oracle client安裝
1安裝Oracle客戶端軟件目錄:
cd /home/profit/soft/
oracle-instantclient-11.2.0.4.0-1.1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
2使用rpm -ivh [包名] 進行安裝:
如:rpm -ivh oracle-instantclient-11.2.0.4.0-1.1.x86_64.rpm
安裝的文件默認放在兩個位置:
頭文件:/usr/lib/oracle/11.2/client64/ 下,如果在使用時報錯找不到頭文件,記得看路徑是否是這個。
包文件:/usr/lib64/oracle/11.2.0.4.0/client/ 下,包含{bin、lib}兩個文件夾;
3創建oracle-instantclient.conf文件,並添加內容:
vim /etc/ld.so.conf.d/oracle-instantclient.conf
添加內容
/usr/lib64/oracle/11.2.0.4.0/client/lib/
4生效環境變量
source .ldconfig
5創建軟連接
cd /usr/lib64/oracle/11.2.0.4.0/client/lib
執行
cd /usr/lib64/oracle/11.2.0.4.0/client/lib/
ln -s libclntsh.so.11.1 libclntsh.so
6 sqluldr2導出命令
./sqluldr2linux64.bin -help
1.使用sql參數
./sqluldr2linux64.bin user='賬號/密碼'@IP:表空間 sql=1.sql head=yes file=/home/profit/sqluldr2/tmp002.csv
2.使用log參數,當集成sqluldr2在腳本中時,就希望屏蔽上不輸出這些信息,但又希望這些信息能保留,這時可以用“LOG”選項來指定日志文件名
./sqluldr2linux64.bin user='賬號/密碼'@IP:表空間 sql=1.sql head=yes file=/home/profit/sqluldr2/tmp002.csv log=+/home/profit/sqluldr2/tmp003.log
3.大數據量操作,對於大表可以輸出到多個文件中,指定行數分割或者按照文件大小分割,例如:
./sqluldr2linux64.bin user='賬號/密碼'@IP:表空間 sql=1.sql head=yes file=/home/profit/sqluldr2/tmp002_%B.csv log=+/home/profit/sqluldr2/tmp003.log batch=yes rows=500000
7 sqluldr2生產環境導出
./sqluldr2linux64.bin user='賬號/密碼'@IP:表空間 query="select * from 表名 where sign_org = '207160' and trans_month='201904'" head=yes file=/home/profit/sqluldr2/tmp001.csv log=+/home/profit/sqluldr2/tmp001.log
8 sqluldr2測試環境導出
./sqluldr2linux64.bin user='賬號/密碼'@IP:表空間 query="select * from 表名" head=yes file=/home/profit/sqluldr2/tmp003.csv log=+/home/profit/sqluldr2/tmp003.log
9 sqluldr2測試導出INSERT語句
./sqluldr2linux64.bin user='賬號/密碼'@IP:表空間 sql=D:\1.sql table=表名 format=SQL file=D:\tmp002_%B.sql log=+D:\tmp002.log batch=yes rows=1000 field=0x2c escape=0x5c null=null quote=0x27 record=0x2a safe=yes charset=UTF8