需要安装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