shell oracle导出文件,在shell下利用oracle sqlplus中的spool命令导出数据生成文本文件...

本文介绍如何使用Shell脚本结合Oracle的spool命令导出数据到文本文件。程序支持默认、定制和并行三种模式。默认模式会根据指定的数据库连接信息自动创建数据文件;定制模式允许自定义SQL文件进行导出;并行模式则用于大量数据的高效导出,通过设置不同的ID避免数据冲突。
摘要由CSDN通过智能技术生成

使用说明:

本程序的原来是利用SQL Plus的spool命令将从数据导出为文本文件。

程序有三种模式:默认模式,定制模式,并行模式

默认模式:

举例:

sh exp_spool_table.sh -connect=test/123@test

说明: 程序默认导出到当前路径下的data目录下,如果没有此目录程序会自动创建。

文件名类似 20161204-0.data,若文件已经存在,程序会报错推出,需手动删除后再运行。

默认的导出sql为当前目录的exp_table.sql.

-connect参数为sqlplus连接数据库信息,格式为:用户名/密码@TNS名或连接串。

例如:  -connect=test/123@test   若采用TNS名的方式,需要在TNS_ADMIN(环境变量)目录下的tnsnames.ora中配置对应的tns信息

-connect=test/123@192.168.1.101:1521/orcl

定制模式:

举例:

sh exp_spool_table.sh -connect=test/123@test -sql=/path/to/your.sql

说明:你可以用-sql参数指定导出的sql文件

导出sql举例,导出的子段以逗号分割,日期格式或者包含换行的字段需要进行转换。

select ID||','||to_char('yyyymmddhh24miss',date)||','||replace(text,chr(10),'') from TABLE_NAME;

导出的格式为 10001,20161204191800,备注说明

并行模式:

举例:

sh exp_spool_table.sh -connect=test/123@test -sql=my_sql_1.sql -parallel=true -id=table1

sh exp_spool_table.sh -connect=test/123@test -sql=my_sql_2.sql -parallel=tr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值