ORA-39012: Client detached EXPDP stop task DBMS_DATAPUMP

ORA-39012: Client detached 没有成功启动task,不会进行imp的任何操作

impdp出现连接信息后,会开始执行truncate table 后import动作,这个时候几十abort /stop,在执行的表依旧会完成import,可以参考log里面的信息。 abort /stop只对未执行的table 生效,v$session中可以查看session 信息。

impdp中途取消要小心,很容易数据重复导入了。

Applies To

All Users

Oracle Database - Enterprise Edition - Version 10.2.0.1 to Version 11.1.0.7

Summary

When using DataPump API the following errors are received:

ORA-39232: invalid remap function: NewUDFValExt

ORA-39012: Client detached before the job started.

Please note that the function name will be replaced with your defined function name. In our example it is 'NewUDFValExt'.

Solution

The Bug 8751620 (closed as 'Not a bug') was filed for this case and development has informed that this is an expected behavior when it comes to Datapump API being called inside PL/SQL block.

Datapump API expects the function name in UPPER case when this is called inside PL/SQL block. In this case the function name (NewUDFValExt) is passed in mixed case letters. There are no issues when the function name ('NewUDFValExt') is passed in UPPER case characters, e.g:

DBMS_DATAPUMP.data_remap (h1, 'COLUMN_FUNCTION', 'UDF_VAL_TEST', 'UDF_VAL_EXT', 'NEWUDFVALEXT', 'TEST');

Cause

Test to reproduce:

connect / as sysdba

create user test identified by <PASSWORD>;

grant connect, resource,dba to test;

CREATE or replace DIRECTORY DMPDIR AS '/tmp';

GRANT READ, WRITE ON DIRECTORY DMPDIR TO test;

connect test/<PASSWORD>

create table UDF_VAL_TEST

(

UDF_VAL_ID NUMBER(10) not null,

UDF_VAL_EXT NVARCHAR2(2000)

);

Insert into UDF_VAL_TEST(UDF_VAL_ID, UDF_VAL_EXT) values (1, 'val1');

Insert into UDF_VAL_TEST(UDF_VAL_ID, UDF_VAL_EXT) values (2, 'val2');

Insert into UDF_VAL_TEST(UDF_VAL_ID) values (3);

Insert into UDF_VAL_TEST(UDF_VAL_ID,UDF_VAL_EXT) values (4, 'val4');

Insert into UDF_VAL_TEST(UDF_VAL_ID) values (5);

commit;

DECLARE

h1 NUMBER;

begin

h1 := DBMS_DATAPUMP.open ('EXPORT', 'TABLE', NULL, 'MY_EXPORT_JOB1', 'COMPATIBLE');

-- specify dump file

DBMS_DATAPUMP.add_file (h1, 'UDFVAL1.dmp', 'DMPDIR', '10M', DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE);

-- specify log file

DBMS_DATAPUMP.add_file (h1, 'Export1.log', 'DMPDIR', '10M', DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);

DBMS_DATAPUMP.metadata_filter (h1, 'NAME_EXPR', 'IN(''UDF_VAL_TEST'')');

DBMS_DATAPUMP.data_remap (h1, 'COLUMN_FUNCTION', 'UDF_VAL_TEST', 'UDF_VAL_EXT', 'NewUDFValExt', 'TEST');

DBMS_DATAPUMP.start_job(h1);

commit;

end;

/

This returns:

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 3043

ORA-06512: at "SYS.DBMS_DATAPUMP", line 3813

ORA-06512: at line 14

The log file contains the following errors:

ORA-39232: invalid remap function: NewUDFValExt

ORA-39012: Client detached before the job started.

DataPump API expects the function name in UPPER case when this is called inside PL/SQL block.

References

MOS document id: 879153.1

相关推荐
oradh12 小时前
Oracle固定执行计划的方法---SQL Plan Baseline
数据库·sql·oracle
杨云龙UP15 小时前
Oracle 19c ADG 实时同步故障排查与修复:Standby Redo Log(SRL)文件缺失导致备库仅在主库归档后同步
数据库·oracle·adg·data guard·srl·ora-00313·ora-27037
SmartSoftHelp开发辅助优化17 小时前
SmartSoftHelp DeepCore XSuite Pro Global Eco AIAgent 2026.V29 专业国际版
数据库·oracle
zxcvb15317 小时前
规定备份信息的备份方式:从策略制定到自动化落地的实践思考
运维·oracle·自动化
杨云龙UP2 天前
Oracle 19c 单机到单机 Active Data Guard 搭建与巡检操作手册
数据库·oracle·adg·操作指南·data guard·dg搭建
我科绝伦(Huanhuan Zhou)2 天前
oracle坏块导致备份不了
数据库·oracle·ffmpeg
杨云龙UP2 天前
Oracle 19c RAC到RAC Active Data Guard标准搭建与巡检指南
运维·服务器·数据库·oracle·adg·data guard·rac到rac
许彰午2 天前
06-Oracle卸载与重装完整流程
数据库·oracle
我的xiaodoujiao2 天前
Django 基础知识详细图文教程 13-Django 模型定义与使用 3
数据库·后端·python·测试工具·oracle·django
我科绝伦(Huanhuan Zhou)2 天前
oracle RAC共享存储换盘操作指南
数据库·oracle