我可以通过sqlplus连接到数据库
sqlplus stepdba/<password>@steprds.<rds-hash-here>.<region>.rds.amazonaws.com:1521/STEP我正在试着写一个文件。
根据AmazonRDS documentation regarding Oracle的说法,创建目录必须使用rdsadmin.rdsadmin_util.create_directory('MY_DIR');完成,我已经完成了。
要写入文件,我执行以下操作:
DECLARE
fileHandler UTL_FILE.FILE_TYPE;
BEGIN
fileHandler := UTL_FILE.FOPEN('MY_DIR', 'test.txt', 'W');
UTL_FILE.PUTF(fileHandler, 'Writing TO a file\n');
UTL_FILE.FCLOSE(fileHandler);
END;
/这会导致错误:
ERROR at line 1:
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation
ORA-06512: at line 4如果我尝试写入Oracle提供的目录DATA_PUMP_DIR,上面的代码片段将正确执行,文件也会被写入。
这两个目录的权限是相同的
select grantee, privilege from dba_tab_privs where table_name='DATA_PUMP_DIR' and grantee = 'STEPDBA';
select grantee, privilege from dba_tab_privs where table_name='MY_DIR' and grantee = 'STEPDBA';在Amazon-RDS的情况下,我们不能在操作系统级别上操作文件/目录权限。
我似乎遗漏了什么,任何提示都将不胜感激。
发布于 2015-08-12 21:34:14
嗨,我也有同样的问题。通过使用更高版本的Oracle软件解决了此问题: Oracle SE One 11.2.0.4.v4导致问题的是Oracle SE One 11.2.0.4.v3
https://stackoverflow.com/questions/30612279
复制相似问题