外部表导入遇到过7082错误,导致该错误的原因应该有很多,我遇到的最后问题在于数据文件所在目录权限问题,于是做了一个验证,记录一下:
[root@localhost dmdba]# cat ext/tb_ext.txt
id| name|dt
100|abc|2024-01-01
101|def|2024-01-03
102|xyz|2024-01-05
[root@localhost dmdba]# cat tb_ext.ctl
OPTIONS
(
SKIP=1
)
LOAD DATA
INFILE 'tb_ext.txt'
into table DMTEST.tb_ext
FIELDS '|'
SQL> create directory ext_dir as '/home/dmdba/ext';
操作已执行
已用时间: 2.989(毫秒). 执行号:605.
SQL> create external table dmtest.tb_ext (id int,name varchar(20),dt date) from default directory ext_dir location('tb_ext.ctl');
操作已执行
已用时间: 3.990(毫秒). 执行号:606.
SQL> select * from dmtest.tb_ext;
select * from dmtest.tb_ext;
[-7082]:外部表数据错误.
已用时间: 8.110(毫秒). 执行号:0.
[root@localhost dmdba]# pwd
/home/dmdba
[root@localhost dmdba]# ls -ld ext
drwxr-xr-x 2 root root 42 10月 31 09:39 ext
[root@localhost dmdba]# ls -l ext
总用量 8
-rw-r--r-- 1 root root 86 10月 31 09:39 tb_ext.ctl
-rw-r--r-- 1 root root 69 10月 31 09:39 tb_ext.txt
[root@localhost dmdba]#
[root@localhost dmdba]# chown dmdba:dinstall ext
[root@localhost dmdba]# ls -ld ext
drwxr-xr-x 2 dmdba dinstall 42 10月 31 09:39 ext
[root@localhost dmdba]# ls -l ext
总用量 8
-rw-r--r-- 1 root root 86 10月 31 09:39 tb_ext.ctl
-rw-r--r-- 1 root root 69 10月 31 09:39 tb_ext.txt
SQL> select * from dmtest.tb_ext;
行号 ID NAME DT
---------- ----------- ---- ----------
1 100 abc 2024-01-01
2 101 def 2024-01-03
3 102 xyz 2024-01-05
已用时间: 2.610(毫秒). 执行号:610.
文章
阅读量
获赞