AWS RDS Oracle Datapump错误ORA-39001:无效的参数值

问题描述 投票:1回答:1

我想将我的转储文件从本地导入到AWS。我已将pdv.dpdm文件上传到我的S3存储桶中

expdp sys/pass schemas=PDV dumpfile=pdv.dpdm NOLOGFILE=YES directory=TEST_DIR

我已经成功地使用DATA_PUMP_DIR命令将该文件下载到oracle rdsadmin.rdsadmin_s3_tasks.download_from_s3中,当我在该目录中列出文件时,我得到了。所以我认为问题不在于移动数据时失败。

select * from table
(rdsadmin.rds_file_util.listdir(p_directory => 'DATA_PUMP_DIR'));

datapump/   directory   4096    2020-03-04 06:49:40
pdv2.log    file    28411   2020-03-04 06:49:40
29012020.DMP    file    825552896   2020-03-03 09:36:59
pdv2.dpdm   file    685617152   2020-03-04 06:49:40
pdv.dpdm    file    685613056   2020-03-04 06:49:27

[当我开始使用DBMS_DATAPUMP.ADD_FILE导入该文件时,在该行出现错误。

DECLARE
hdnl NUMBER;
BEGIN
hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=> NULL, version => 12);
DBMS_DATAPUMP.ADD_FILE( 
    handle => hdnl, 
    filename => 'pdv.dpdm', 
    directory => 'DATA_PUMP_DIR',
    filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE
);
DBMS_DATAPUMP.START_JOB(hdnl);
END;

Error :

SQL Error [39001] [99999]: ORA-39001: invalid argument value
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4087
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4338
ORA-06512: at line 6

似乎我丢失了某些东西,可能是在AWS中配置的东西。我已经完成了几个答案的搜索,但是并不能解决我的问题。您能帮我吗?我不知道该怎么办。谢谢

oracle amazon-web-services amazon-rds
1个回答
0
投票

您误认为导入版本。

 version=>'12.0.0'

您必须以非SYS用户身份导出!

grant read, write on directory TEST_DIR to PDV;

expdp PDV/password schemas=PDV dumpfile=pdv.dpdm NOLOGFILE=YES directory=TEST_DIR

Oracle Documentation

注:除非Oracle的要求,否则不要启动Export as SYSDBA。技术支援。 SYSDBA在内部使用,具有专门的功能功能;它的行为与普通用户不同。

© www.soinside.com 2019 - 2024. All rights reserved.