oracle12c sqlldr,oracle12c:通过oracle客户端工具配置tns,并使用sqlldr进行批量导入数据...

通过oracle客户端工具配置tns:

进入oracle配置工具“Net Configuration Assistant”-》

点击“下一步”,完成tns配置。

测试是否tns可用

命令:tnsping tns配置名称

1 C:\Users\Administrator>tnsping dt_dns_name2 TNS Ping Utility for 64-bit Windows: Version 12.1.0.2.0 - Production on 10-JAN-2018 05:36:27

3 Copyright (c) 1997, 2014, Oracle. All rights reserved.4 Used parameter files:5 C:\app\Administrator\product\12.1.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora6

7 Used TNSNAMES adapter to resolve the alias8 Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL =TCP)9 (HOST = 10.xx.xx.xx)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =dt_dns_name)10 ))11 OK (20msec)12

13 C:\Users\Administrator>

使用sqlldr进行数据导入:

sqlldr userid=account/password@tnsname direct=true rows=20000 streamsize=10485760 date_cache=5000 errors=9999 control='filename.ctl' log='th.log'

备注:

account--oracle account‘;

password--oracle account password;

tnsname--oracle tns name;

direct=true  --是否锁表进行导入;

rows=20000 --表示20000条记录提交一次;

control='filename.ctl' --表示导入ctl文件;

log='lh.log'  --表示日志存放位置。

filename.ctl

LOAD DATA

characterset UTF8

infile'C:\Users\Administrator\Desktop\work\mr_grid_result20170106\000001_0'APPEND INTO TABLE myoracletablename

FIELDS TERMINATED BY','TRAILING NULLCOLS

(

gridid,

gridx,

gridy,

height,

BuildingId,

p_day date"yyyymmdd")

注意:

1)以上操作都是在windows的cmd下操作的命令;

2)使用时,需要注意被导入文件名在windows下要求以“*.dat”结束;

3)如果需要文件批量重名,可以使用:for /f %%i in ('dir /b ') do (ren %%i %%i.dat),对当前目录下的所有文件添加后缀‘.dat’。

备注:

当导入oracle分区时,当目标表之前已经包含了分区20180104,20180105,20180106时,删除了分区20180105

alter table 目标表 drop partition 20180105

,之后再插入数据会抛出异常,原因:目标oid字段是oid是自增自动,pk。

解决错误方案:

alter index 索引名称(唯一、自增主键)rebuild

你可能感兴趣的:(oracle12c,sqlldr)