欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle sqluldr2工具使用方法介绍

程序员文章站 2022-04-19 15:22:33
简介:oracle数据导出工具sqluldr2可以将数据以csv、txt等格式导出,适用于大批量数据的导出,导出速度非常快。导出后可以使用oracle loader工具将数据导入。 解压zip包,复...

简介:oracle数据导出工具sqluldr2可以将数据以csv、txt等格式导出,适用于大批量数据的导出,导出速度非常快。导出后可以使用oracle loader工具将数据导入。

解压zip包,复制sqluldr2_linux64_10204.bin到$oracle_home的bin目录,重命名为sqluldr2

增加环境变量export ld_library_path=$oracle_home/bin:$oracle_home/lib:/lib:/usr/lib

执行source .bash_profile 应用环境变量。

使用:sqluldr2 --help查看帮助

参数如下:

user = username/password@tnsname

sql = sql file name

query = select statement

field = separator string between fields

record = separator string between records

rows = print progress for every given rows (default, 1000000)

file = output file name(default: uldrdata.txt)

log = log file name, prefix with + to append mode

fast = auto tuning the session level parameters(yes)

text = output type (mysql, csv, mysqlins, oracleins, form, search).

charset = character set name of the target database.

ncharset= national character set name of the target database.

parfile = read command option from parameter file

read = set db_file_multiblock_read_count at session level

sort = set sort_area_size at session level (unit:mb)

hash = set hash_area_size at session level (unit:mb)

array = array fetch size

head = print row header(yes|no)

batch = save to new file for every rows batch (yes/no)

query参数如果整表导出,可以直接写表名,如果需要查询运算和where条件,query=“sql文本”,也可以把复杂sql写入到文本中由query调用

导出测试:

本地执行方式:users参数可以省略不写,和expdp username/passwd 方式一样

export oracle_sid=orcl

sqluldr2 testuser/testuser query=test_table1 file=test_table1.txt

客户端连接:tns方式

sqluldr2 testuser/testuser@orcl query=test_table1 file=test_table1.txt

客户端连接:简易连接

sqluldr2 testuser/testuser@x.x.x.x:1521/orcl query=test_table1 file=test_table1.txt

get_tables.sql为预定义导出sql

sqluldr2 user=userid/keyword@db_name sql=get_tables.sql head=no file=/tmp/stock.csv

对于大表可以输出到多个文件中,指定行数分割或者按照文件大小分割,例如:

sqluldr2 testuser/testuser@orcl query="select * from test_table2" file=test_table2_%b.txt batch=yes rows=500000