oracle导入.bcp/.txt文件

(1)创建load.ctl文件(txt创建),内容如下
load data
infile "1.bcp"
infile "2.bcp"
append into table APINTRAST
fields terminated by X'09' #' '分隔符
(basestationid,mac,capturetime,longitude,latitude)

(2)将load.ctl与1.bcp,2.bcp放在同一路径path下,否则在""中加上bcp文件路径
cmd-->cd $path-->运行sqlldr userid=username/usrpwd@servicename control=load.ctl
(username为数据库用户名,usrpwd密码,servicename为数据库实例名称:安装时默认orcl)

(3)导致导入出错的可能性

操作:配置本地oracle为oracle server

原因可能是配置了tnsnames中的hostname,在servicename前加上本地机的ip,数据库服务端口号(sqlldr userid=system/manager@223.3.75.198:1521/orcl control=load.ctl),可以导入数据。

(4) 由于表空间容量问题导致的错误

sql*loader-605 出现与数据无关的oracle错误--加载无法继续
已成功加载203448931行
load.log中提示错误信息:ORA-01653: 表 SYSTEM.APTABLE 无法通过 8192 (在表空间 SYSTEM 中) 扩展
SQL*Loader-605: 出现与数据无关的 ORACLE 错误 -- 加载无法继续。
继续加载时指定 SKIP=203448931。
初步解决方案:在表空间中添加数据文件(since system01.dbf已经32G)

ALTER TABLESPACE SYSTEM ADD DATAFILE 'E:apporaoradataorclSYSTEM02.DBF' SIZE 1024M;

加载指令为:sqlldr userid=system/manager@223.3.75.198:1521/orcl control=load.ctl SKIP=203448931

#由于固定大小了,所以system02.dbf空间到1G时加载中断,再次报错ora-01653
中断之后设置:alter database datafile 'E:apporaoradataorclSYSTEM02.DBF' autoextend on;

原文地址:https://www.cnblogs.com/justdoitLLQ/p/6527531.html