oracle-sqlldr

参考如下:

参考-sqlldr01_qq_42682872的博客-CSDN博客

参考-sqlldr02_qq_42682872的博客-CSDN博客

参考-sqlldr03_qq_42682872的博客-CSDN博客

1、sqlldr    导入命令

--  soctt/soctt 账号密码   moup 库名
sqlldr userid=soctt/soctt@moup      
-- 这个是表的字段,参考下列的字段
control=/home/BOMC_INFORMATION.ctl    
--记录sqlldr调用日志
log=/home/BOMC_INFORMATION.log   
-- 错误的数据文件记录 
bad=/home/BAD_BOMC_INFORMATION.log    
--错误条数
errors=10000000    
--  -- 表示每次提交记录缓冲区的大小,默认256k
bindsize=200000   
--禁止输出信息(header,feedback,errors,discards,partitions)
silent=HEADER    

--直接路径加载:direct=true。直接加载全部记录,提高速度。但是此方法有个副作用,就是会使索引失效 
direct=TRUE 
--执行并行加载
parallel=TRUE 
--没有维护索引, 将受到影响的索引标记为无用
SKIP_INDEX_MAINTENANCE=TRUE 
--读取缓冲区的大小
readsize=20000000 
--使用外部表进行加载
external_table=NOT_USED
--直接路径列数组的行数
columnarrayrows=20000 
--直接路径流缓冲区的大小 (以字节计)
streamsize=20000000

2、control=/home/BOMC_INFORMATION.ctl 

#语法
load data 
infile '/home/app/1.txt'  "str X'7C0A'"   | fix  | var    # 分隔符有  str、fix、var
append into table dept30 fields terminated by ','         # 导入到具体的表  分割符号是逗号   append | replace | insert | truncate
TRAILING NULLCOLS                                         # 表的字段没有对应的值时允许为空
(DEPTNO  "trim(:DEPTNO)",
DNAME   "trim(:DNAME )",
LOC  char(600)   "trim(:LOC   )")    					  # 超过255的长度,就需要做真实长度



append | replace | insert | truncate
	APPEND 		#原先的表有数据 就加在后面
	INSERT 		#装载空表 如果原先的表有数据 sqlloader会停止 默认值
	REPLACE 	#原先的表有数据 原先的数据会全部删除
	TRUNCATE 	#指定的内容和replace的相同 会用truncate语句删除现存数据


"str X'7C0A'"   | fix  | var

"fix 30" #表示取30字符包括隐形换行符( /n两个字符)作为一行数据;连续向后取包括取一行结束后遇到换行符也算在另一行内

"var 2"	 #第一行以数据开头前两个字符做fix取值参数(取值从这两个数字向后开始,只取一行结束,取值方式和fix一样),第一行结束后面两个字符作为下一行取值范围(换行符算在内)





#形式一

# 数据文件的路径
load data infile '/home/app/1.txt' 
# 导入到具体的表  分割符号是 逗号
append into table dept30 fields terminated by ',' 
#表字段
TRAILING NULLCOLS
(DEPTNO  "trim(:DEPTNO)",
DNAME   "trim(:DNAME )",
LOC  char(600)   "trim(:LOC   )")    -- 超过255的长度,就需要做真实长度




#形式二

# 数据文件的路径
load data infile '/home/app/1.txt' str X '0x0f'
# 导入到具体的表  分割符号是 逗号
append into table dept30 fields terminated by ',' 
#表字段
TRAILING NULLCOLS
(DEPTNO  "trim(:DEPTNO)",
DNAME   "trim(:DNAME )",
LOC  char(600)   "trim(:LOC   )")    -- 超过255的长度,就需要做真实长度

####具体参数

Keyword    默认值    描述
userid        ORACLE 用户名/口令
control        控制文件名
log        日志文件名
bad        错误文件名
data        数据文件名
discard        废弃文件名
discardmax    全部    允许废弃的文件的数目
skip    0    要跳过的逻辑记录的数目
load    全部    要加载的逻辑记录的数目
errors        允许的错误的数目
rows    常规:64 默认路径:全部    常规路径绑定数组中或直接路径保存数据间的行数
bindsize    256000    常规路径绑定数组的大小
direct    FALSE    使用直接路径
parfile        参数文件: 包含参数说明的文件的名称
parallel    FALSE    执行并行加载
file        执行文件
skip_unusable_indexes    FALSE    不允许/允许使用无用的索引或索引分区
skip_index_maintenance    FALSE    没有维护索引, 将受到影响的索引标记为无用
commit_discontinued    FALSE    提交加载中断时已加载的行
readsize    1048576    读取缓冲区的大小
external_table    NOT_USED    使用外部表进行加载;
NOT_USED, GENERATE_ONLY, EXECUTE        
columnarrayrows    5000    直接路径列数组的行数
streamsize    256000    直接路径流缓冲区的大小 (以字节计)
multithreading        在直接路径中使用多线程
resumable    FALSE    启用或禁用当前的可恢复会话
resumable_name        有助于标识可恢复语句的文本字符串
resumable_timeout    7200    RESUMABLE 的等待时间 (以秒计)
date_cache    1000    日期转换高速缓存的大小 (以条目计)

转载:原文链接:https://blog.csdn.net/a545812327/article/details/102666185

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值