【发布时间】:2019-01-14 10:21:51
【问题描述】:
我在 Oracle 11g 中创建了一个外部表。
它有时会抛出找不到文件的错误。该文件存在于 oracle 外部表目录中,并具有提供给文件夹/文件的所有权限。
奇怪的是错误并非每次都出现。外部表上的选择大部分时间都有效。但有时,会弹出此错误。这取决于甲骨文的心情。 :P
已经完成:
- 我已向目录提供了所有授权。
- 我已提供对文件的 chmod 777 (rwx) 访问权限。
- 我在每次运行后归档元数据文件(*.log、*.dsc 和 *.bad)。
错误:
ORA-29913: 执行 ODCIEXTTABLEOPEN 标注时出错
ORA-29400:数据磁带错误
KUP-04040:在 XFB_EXT_TAB_DATA 中找不到文件 DIM_OWNING_CENTER_FEED.dat
表格脚本:
CREATE TABLE SCHEMA_NAME.DIM_OWNING_CENTER_EXT
(
S_OWNING_CENTER_ID VARCHAR2 (50),
OWNING_CENTER VARCHAR2 (52),
ED_START_DATE DATE
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY XFB_EXT_TAB_DATA
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
SKIP 2
LOAD WHEN (
S_OWNING_CENTER_ID != 'FILETRAILER'
)
FIELDS TERMINATED BY '|^'
MISSING FIELD VALUES ARE NULL (
S_OWNING_CENTER_ID CHAR (50),
OWNING_CENTER CHAR (52),
ED_START_DATE DATE 'DD-MON-YYYY HH24:MI:SS'
)
)
LOCATION ('DIM_OWNING_CENTER_FEED.dat')
)
PARALLEL 8 REJECT LIMIT UNLIMITED;
【问题讨论】:
-
您使用的是独立数据库还是 RAC?如果是 RAC,文件是否存在于每个节点的文件系统目录中?
-
RAC 数据库。问题是它大部分时间都有效。但有时它会抛出上述错误。此错误主要发生在从 unix 脚本调用我的包时。
-
对,那么文件是否存在于两个节点的文件系统中?如果不是,那么它是否有效或错误将取决于您的脚本碰巧连接到哪个实例。
标签: oracle oracle11g runtime-error external-tables