【发布时间】:2019-01-23 12:12:33
【问题描述】:
我一直在尝试将转储文件导入 AWS 中 RDS 下的 Oracle 12g 并一直低于错误,我无法弄清楚发生了什么。非常感谢任何帮助或指示。
这就是我想要做的。
1) 我从客户那里得到了一个.dat 转储文件(不确定他们是如何从 oracle 导出这个转储的),我的目标是将它导入 AWS oracle RDS 实例。
2) 根据How to transfer Oracle dump file to AWS RDS instance?
我创建了新的 EC2 实例并安装了 Oracle Express 版本,然后将 .dat 文件复制到 DATA_PUMP_DIR 目录 (/u01/app/oracle/admin/XE/dpdump/)。
3) 创建了指向 AWS oracle RDS 实例的数据库链接,并能够使用 DBMS_FILE_TRANSFER.PUT_FILE 将其复制到 rds 实例。
4) 我可以在 oracle rds 实例中看到 DATA_PUMP_DIR 路径下的文件。
到目前为止一切顺利。
5) 现在,我正在尝试使用以下过程将转储文件导入 RDS
DECLARE
hdnl NUMBER;
BEGIN
hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name => null);
DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'sample.dat', directory => 'DATA_PUMP_DIR');
DBMS_DATAPUMP.START_JOB(hdnl);
END;
/
我总是遇到错误
DECLARE
*
ERROR at line 1:
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 5
我知道错误指向DBMS_DATAPUMP.ADD_FILE() 行,但我无法确定这里有什么问题。
我尝试了各种导入选项,但没有任何帮助。我已经创建了表空间,并确保用户具有正确的权限。
非常感谢任何指针。
【问题讨论】:
-
对不起。这没有帮助,在我的情况下,我已经将转储文件移动到 rds。正如我在帖子中提到的,我不知道转储文件是由客户生成的。我要做的就是盲目地将其导入rds。首先有可能吗?谢谢。
标签: oracle amazon-rds