ora29280 oracle,细节:utl_file_dir错误设置导致ORA-29280
sys@ORADG(192.168.190.241)> show parameter utlNAMETYPEVALUE------------------------------------ ---------------------- --------------------------...
sys@ORADG(192.168.190.241)> show parameter utl
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
utl_file_dir string /oracle/test123, /oracle/logmnr <====-修改前的值
sys@ORADG(192.168.190.241)> alter system set utl_file_dir='/oracle/test123, /oracle/logmnr' scope=spfile;<====错误的用了'xxxxx,yyyyyy'来设置,应该是'xxxxx','yyyyyyy'
System altered.
Elapsed: 00:00:00.01
sys@ORADG(192.168.190.241)>
sys@ORADG(192.168.190.241)>
sys@ORADG(192.168.190.241)> startup force
ORACLE instance started.
Total System Global Area 370218244 bytes
Fixed Size 451844 bytes
Variable Size 167772160 bytes
Database Buffers 201326592 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
sys@ORADG(192.168.190.241)>
sys@ORADG(192.168.190.241)> show parameter utl
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
utl_file_dir string /oracle/test123, /oracle/logmnr <====修改后的值,注意此处,看上去和修改前一模一样。
sys@ORADG(192.168.190.241)>
但是测试SQL就报错了:
> DECLARE
2 file_location VARCHAR2(256) := '/oracle/test123';
3 file_name VARCHAR2(256) := 'utlfile.txt';
4 file_text VARCHAR2(256) := 'Hello World';
5 file_id UTL_FILE.file_type;
6 BEGIN
7 file_id := UTL_FILE.fopen(file_Location, file_name, 'W');
8 UTL_FILE.put_line(file_id, file_text);
9 UTL_FILE.fclose(file_id);
10 EXCEPTION
11 WHEN UTL_FILE.INVALID_PATH
12 THEN dbms_output.put_line('Invalid path ' || SQLERRM);
13 WHEN OTHERS
14 THEN dbms_output.put_line('Others '|| SQLCODE || ' ' || SQLERRM);
15 END;
16 /
Invalid path ORA-29280: invalid directory path <====此处就报错了。
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.01
>
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)