Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS RDS Oracle数据泵错误ORA-39001:参数值无效_Oracle_Amazon Web Services_Amazon Rds - Fatal编程技术网

AWS RDS Oracle数据泵错误ORA-39001:参数值无效

AWS RDS Oracle数据泵错误ORA-39001:参数值无效,oracle,amazon-web-services,amazon-rds,Oracle,Amazon Web Services,Amazon Rds,我想将转储文件从本地导入AWS。我已将我的pdv.dpdm文件上载到我的S3存储桶中 expdp sys/pass schemas=PDV dumpfile=pdv.dpdm NOLOGFILE=YES directory=TEST_DIR 我使用rdsadmin.rdsadmin\u s3任务成功地将该文件下载到oracleDATA\u PUMP\u DIR中。从\u s3命令下载,当我列出该目录中的文件时,我得到了这个结果。所以我认为问题不在于移动数据时的失败 select * from

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

expdp sys/pass schemas=PDV dumpfile=pdv.dpdm NOLOGFILE=YES directory=TEST_DIR
我使用
rdsadmin.rdsadmin\u s3任务成功地将该文件下载到oracle
DATA\u PUMP\u DIR
中。从\u 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\u DATAPUMP.ADD\u 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中配置了什么。我已经搜索了几个答案,但它并没有解决我的问题。你能帮我做这个吗?我不知道该怎么办了。谢谢

您弄错了导入版本

hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=> NULL, version => 12);
版本=>'12.0.0'

COMPATIBLE-(默认值)元数据的版本与 数据库兼容级别和的兼容发布级别 功能(如V$COMPATIBILITY视图中所示)。数据库兼容性 必须设置为9.2或更高

最新-元数据的版本对应于数据库 版本

特定的数据库版本,例如“11.0.0”

指定值12以允许所有现有数据库功能, 要从Oracle Database 11g导出的组件和选项 将版本2(11.2.0.3)或更高版本导入Oracle数据库12 c版本1 (12.1)(多租户集装箱数据库(CDB)或非CDB)

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

grant read, write on directory TEST_DIR to PDV;

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

注意:除非Oracle要求,否则不要以SYSDBA的身份启动导出 技术支持。SYSDBA在内部使用,并具有专门的 功能;它的行为与普通用户不同