今天在oracle12c上导数据,出现了错误。导库脚本久经考验,不应该有什么问题,但就是报错了。错误开头2句是:
ORA-39002: 操作无效
ORA-39070: 无法打开日志文件

网上搜来的结果,是存放导出文件的路径不对,就是没有这个文件夹。

我反思了一下,觉得可能是文件夹大小写的问题。但操作系统是windows,不应该啊。但事实证明,的确如此。具体情况如下:
1、c盘根目录下有一个文件夹:Temp,注意是大写开头

2、我在oracle中指定它为导出文件存放文件夹:

create directory dbbak as 'c:\temp';
grant read,write on directory dbbak to public;

注意我写的时候,temp是全部小写

3、导出的时候,就报错误了。错误如题目所示

ORA-39002: 操作无效 ORA-39070: 无法打开日志文件_导出文件

4、于是我在操作系统下,将文件夹由“Temp”改为“temp”,但还是不行

5、于是我又新建了一个c:\temp1,然后执行步骤2,就可以了。

create directory dbbak1 as 'c:\temp1';
grant read,write on directory dbbak1 to public;

错误无奇不有。这么说的话,假如操作系统还没有相关文件夹,我先在oracle里指定,然后才建文件夹,岂不是不行?没做测试,估计是这样的。