我试图使用datapump API导出完整的数据库,我尝试使用以下代码:
DECLARE
handle NUMBER;
nom_job varchar(25) := to_char(SYSDATE,'YYYYMMDD_HH24MISS');
nom_dump varchar(25) := nom_job || '.dmp';
nom_log varchar(25) := nom_job || '.log';
BEGIN
handle := SYS.DBMS_DATAPUMP.OPEN(
operation => 'EXPORT',
job_mode => 'FULL',
job_name => nom_job
);
SYS.DBMS_DATAPUMP.ADD_FILE(
handle => handle,
filename => nom_dump,
directory => 'C:\Backup_folder',
filetype => 1
);
SYS.DBMS_DATAPUMP.ADD_FILE(
handle => handle,
filename => nom_log,
directory => 'C:\Backup_folder',
filetype => 3
);
SYS.DBMS_DATAPUMP.START_JOB(
handle => handle,
skip_current => 0,
abort_step => 0
);
SYS.DBMS_DATAPUMP.DETACH(
handle=> handle
);
END;但它给了我下一个错误:
ORA-39001: valeur d'argument non valide
ORA-06512: à "SYS.DBMS_SYS_ERROR", ligne 79
ORA-06512: à "SYS.DBMS_DATAPUMP", ligne 2926
ORA-06512: à "SYS.DBMS_DATAPUMP", ligne 3162
ORA-06512: à ligne 21
39001. 00000 - "invalid argument value"
*Cause: The user specified API parameters were of the wrong type or
value range. Subsequent messages supplied by
DBMS_DATAPUMP.GET_STATUS will further describe the error.
*Action: Correct the bad argument and retry the API.第21行是:
SYS.DBMS_DATAPUMP.ADD_FILE(这个函数的问题到底在哪里?
发布于 2017-05-15 09:08:02
在ADD_FILE过程的参数' directory‘中,我应该指定下一个命令创建的目录的名称,而不是实际路径:
create directory backup_folder as 'C:\backup_folder'PS: ADD_FILE中指定的目录的名称应该是大写(大写字母)。
https://dba.stackexchange.com/questions/173574
复制相似问题