2

我们在 Oracle 11g 第 2 版中使用 ORACLE_LOADER 类型的外部表将数据从 CSV 文件导入到表中。外部表为 LOCATION 值设置了一个虚拟文件名,因为在运行包时用户将输入正确的文件名作为参数。然后,包代码将通过 ALTER 语句设置位置。

只有一个包 - 没有别的 - 使用外部表,并且该包只是偶尔运行 - 例如每周一次。但是,外部表的日志文件大约每 4 小时更新一次,表示找不到虚拟文件(当然,它不会找到):

 LOG file opened at 05/10/13 22:00:12

 KUP-04040: file Dummy_Input_csv.csv in DIR_EXTDIR not found


 LOG file opened at 05/11/13 06:00:13

 KUP-04040: file Dummy_Input_csv.csv in DIR_EXTDIR not found


 LOG file opened at 05/11/13 10:05:07

 KUP-04040: file Dummy_Input_csv.csv in DIR_EXTDIR not found

从我看到的有关管理和使用外部表的 Oracle 文档中,我认为只有在通过 select 语句实际使用外部表来检索其数据时,才会更新外部表的日志文件。

除了实际的 SELECT 之外,还有什么可能导致外部表去寻找它的 LOCATION 文件?

4

1 回答 1

1

它可能是尝试访问表的计划作业之一,例如自动收集统计信息。查看 dba_scheduler_jobs 或 dba_autotask_client 中是否有任何作业计划在您看到错误时运行。

于 2013-05-13T17:55:27.713 回答