我想将我的转储文件从本地导入到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中配置的东西。我已经完成了几个答案的搜索,但是并不能解决我的问题。您能帮我吗?我不知道该怎么办。谢谢
您误认为导入版本。
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的要求,否则不要启动Export as SYSDBA。技术支援。 SYSDBA在内部使用,具有专门的功能功能;它的行为与普通用户不同。