一个简单的expdp导出UDE-31623 ORA-31623

问题描述:

ORACLE  EXADATA 12.2  4节点   一个简单的expdp导出,在之前是正常的,但是隔了一天后出现问题了,具体报错信息如下:

expdp ‘"/as sysdba"‘ DIRECTORY=dir1  DUMPFILE=vat_%U.dmp  logfile=vat_20190505.log VERSION= 11.2.0.4.0 SCHEMAS=VAT  CLUSTER=NO  exclude=STATISTICS  parallel=4

UDE-31623: operation generated ORACLE error 31623
ORA-31623: a job is not attached to this session via the specified handle
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3326
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4551
ORA-06512: at line 1

解决办法: 

sqlplus "/ as sysdba

[email protected]>show parameter streams_pool
[email protected]>select * from v$sgainfo;                #其实为0

[email protected]>alter system set streams_pool=64M sid=‘ODS3‘  ;

参考文档:(文档 ID 1907256.1)

GOAL

This document explains how to resolve the following errors during an Export DataPump (expdp) or Import DataPump job (impdp).

$ expdp system/<PASSWORD> DIRECTORY=my_dir DUMPFILE=expdp_f.dmp LOGFILE=expdp_f.log FULL=y

Export: Release 11.2.0.1.0 - Production on Thu Jun 19 13:14:32 2014
Copyright  1982, 2009, Oracle and/or its affiliates. All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

UDE-31623: operation generated ORACLE error 31623
ORA-31623: a job is not attached to this session via the specified handle
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3263
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4488
ORA-06512: at line 1

-- or: --

UDI-31623: operation generated ORACLE error 31623
ORA-31623: a job is not attached to this session via the specified handle
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "SYS.DBMS_DATAPUMP", line 1137
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4583
ORA-06512: at line 1

-- or: --

UDI-00008: operation generated ORACLE error 31623
ORA-31623: a job is not attached to this session via the specified handle
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "SYS.DBMS_DATAPUMP", line 1137
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4583
ORA-06512: at line 1
...

There are several possible reasons why a Data Pump cannot be started. Each root cause has its own solution.

SOLUTION

Use the steps below one by one to address and fix this issue:

Step 1. First check the value for the STREAMS_POOL_SIZE in the database:

connect / as sysdba

show parameter streams_pool
select * from v$sgainfo;
...
 Streams Pool Size                               0 Yes

If the STREAMS_POOL_SIZE is too small, then a Data Pump job will fail. This can also happen when using Automatic Shared Memory Management (ASMM), or Automatic Memory Management (AMM) and there is not sufficient memory to increase the STREAMS_POOL_SIZE.
Manual settings for the STREAMS_POOL_SIZE of 64M, 128M or even to 256M have proven to be successful.
Also increase sga_target (for ASMM) or memory_target (for AMM) to have more free memory available during automatic tuning of the SGA components.

To avoid this DataPump error, you will need to configure the database with some Streams Pool.
Manually set the STREAMS_POOL_SIZE (using ALTER SYSTEM or by changing the value in the the PFILE/SPFILE), re-start the database and re-attempt the Data Pump Export.

Step 2. Check for any possible invalid Data Pump queue objects:

connect / as sysdba

show parameter aq
col owner for a10
col object_name for a30
analyze table kupc$datapump_quetab validate structure cascade;
analyze table kupc$datapump_quetab_1 validate structure cascade;
select object_id, owner, object_name, status from dba_objects 
 where object_name like ‘KUPC$DATAPUMP_QUETAB%‘;
set lines 100
col status for a9
col object_type for a20;
col owner.object for a50
select status, object_id, object_type, owner||‘.‘||object_name "OWNER.OBJECT"
  from dba_objects
 where object_name like ‘ÚTAPUMP_QUETAB%‘ order by 3,4;

If there are any invalid queue objects, then a Data Pump job will fail. This usually also results in the following error in the alert.log file:

ORA-00600: internal error code, arguments: [kwqbgqc: bad state], [1], [1], [], [], [], [], []

For details and full resolution, see:
Note 754401.1 - Errors ORA-31623 And ORA-600 [kwqbgqc: bad state] During DataPump Export Or Import

Step 3. Check for any invalid registry components (CATALOG, CATPROC and JAVAVM), and invalid sys owned objects:

connect / as sysdba

set lines 90
col version for a12
col comp_id for a8
col schema like version
col comp_name format a35
col status for a12
select comp_id,schema,status,version,comp_name from dba_registry order by 1;

set lines 120
col status for a9
col object_type for a20;
col owner.object for a50
select status, object_id, object_type, owner||‘.‘||object_name "OWNER.OBJECT"
  from dba_objects
 where status != ‘VALID‘ and owner=‘SYS‘ and object_name not like ‘BIN$%‘ 
 order by 4,2;

If the registry components CATALOG, CATPROC and/or JAVAVM, and/or objects like SYS.KUPW$WORKER or SYS.KUPP$PROC are invalid, then a Data Pump job will likely fail.
To resolve this problem, reload Data Pump in the database:

connect / as sysdba

-- Start spooling to file:
spool catproc.out
set lines 120 numwidth 12 pages 10000 long 2000000000
alter session set NLS_DATE_FORMAT=‘YYYY-MM-DD HH24:MI:SS‘;
show user
select sysdate from dual;

shutdown immediate
-- for 9.2, use: startup migrate
startup migrate

@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/utlrp.sql
spool off

spool registry.out
-- Registry status:
set lines 90
col version for a12
col comp_id for a8
col schema like version
col comp_name format a35
col status for a12
select comp_id,schema,status,version,comp_name from dba_registry order by 1;

-- Invalid objects:
set lines 120
col status for a9
col object_type for a20;
col owner.object for a50
select status, object_id, object_type, owner||‘.‘||object_name "OWNER.OBJECT"
  from dba_objects
 where status != ‘VALID‘ and owner=‘SYS‘ and object_name not like ‘BIN$%‘ 
 order by 4,2;

shutdown immediate
startup
spool off

For details and references, see:
Note 430221.1 - How To Reload Datapump Utility EXPDP/IMPDP
Note 863312.1 - Best Practices for running catalog, catproc and utlrp script
Note 308388.1 - Error ORA-31623 When Submitting A DataPump Export Job

In case JAVAVM component is invalid, validate it using the steps from:

Note 1112983.1 - How to Reload the JVM in 11.2.0.x
Note 276554.1 - How to Reload the JVM in 10.1.0.X and 10.2.0.X
Note 1612279.1 - How to Reload the JVM in 12.1.0.x

and/or create a Java SR if more help is needed.

Step 4. Check if parameter _FIX_CONTROL is set for Bug 6167716:

connect / as sysdba

show parameter _fix_control

If this hidden parameter is set, then a Data Pump job will fail.

For details and full resolution, see:
Note 1150733.1 - DataPump Export (EXPDP) Fails With Errors ORA-31623 ORA-6512 If Parameter _FIX_CONTROL=‘6167716:OFF‘ Has Been Set

Step 5. If the Data Pump job is started through a package, check if the package was created with invoker‘s right (AUTHID clause):

connect / as sysdba

set lines 120 numwidth 12 pages 10000 long 2000000000
col ddl for a100
select dbms_metadata.get_ddl(‘PACKAGE‘,‘MY_PACKAGE‘,‘SCOTT‘) "DDL" from dual;

If the package was created with an invoker‘s right, then a Data Pump job will fail when started through this package.

For details and full resolution, see:
Note 1579091.1 - DataPump Job Fails With Error ORA-31623 A Job Is Not Attached To This Session Via The Specified Handle

Step 6. If the Data Pump job is started in DBConsole / OEM, and the job is selected to be re-run (or you want to edit the job), then the Data Pump job will fail and following errors will be reported:

ERROR: No data pump job named "jobname" exists in the database
ORA-31623: a job is not attached to this session via the specified handle
Execute Failed: ORA-31623: a job is not attached to this session via the specified handle
ORA-6512: at "SYS.DBMS_DATAPUMP", line 2315
ORA-6512: at "SYS.DBMS_DATAPUMP", line 3157
ORA-6512: at line 27 (DBD ERROR: OCIStmtExecute)

-- or --

Edit is not supported for this job type, only general information

For details and full resolution, see:
Note 788301.1 - Error ORA-31623 On DataPump Export Via DBScheduler After First Run Was Successful
Note 461307.1 - How To Export Database Using DBConsole/OEM In 10G

Step 7. If parameter LOGTIME is being used, Data Pump export/import with LOGTIME parameter crashes if the environment variable NLS_DATE_FORMAT is set.

For details and full resolution, see:
Note 1936319.1 - Data Pump Export Or Import Throws ORA-31623 When Using LOGTIME Parameter

Step 8. Running a remote DataPump job against Oracle 12.1.0.2 database, the export can fail with ORA-31623. Database alert.log file reports ORA-0600 [ksfdcmtcre4], [KGNFS SERVER REBOOT] error.

The incident trace file shows the following information:

Dump continued from file: /u01/app/oracle/diag/rdbms/prdwh/prdwh1/trace/prdwh1_dm00_8784.trc
 [TOC00001]
 ORA-00600: internal error code, arguments: [ksfdcmtcre4], [KGNFS SERVER REBOOT], [], [], [], [], [], [], [], [], [], []
 ORA-06512: at "SYS.KUPF$FILE_INT", line 79
 ORA-06512: at "SYS.KUPF$FILE", line 2151
 ORA-06512: at "SYS.KUPF$FILE", line 1473
  ...
 Stack Trace:  ... kkgereml kuppChkErr kupprdp opirip opidrv sou2o ...

DNFS is enabled by default when installing Oracle. When an alternative storage vendor is used, there is a conflict causing the ORA-0600 [ksfdcmtcre4], [KGNFS SERVER REBOOT] error preventing tasks to be completed successfully. In this case, the task was EXPDP job.

To prevent the error, disable DNFS, since it is not being used.
For details, see Note 954425.1 -  Direct NFS: FAQ.

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

来自为知笔记(Wiz)

原文地址:https://www.cnblogs.com/cqdba/p/b639a4da27ddeccb5dbd1e55a16b09be.html

时间: 2024-08-30 00:23:38

一个简单的expdp导出UDE-31623 ORA-31623的相关文章

web开发——写一个简单的表格导出操作

一.前台页面: 主要是一个按钮和一个表格,表格有显示数据,按钮负责将表格中的数据选择性地导出.除此外,可以附加一个小窗口和进度条,用于显示下载进度. 1. 按钮:<a href="javascript:;" class="easyui-linkbutton" iconCls="icon-redo" data-options="plain:true" id="btn-exp" onclick="

分享给大家一个简单的数据导出excel类

<?php /** * 生成excel文件操作 * * @author wesley wu * @date 2013.12.9 */ class Excel { private $limit = 10000; public function download($data, $fileName) { $fileName = $this->_charset($fileName); header("Content-Type: application/vnd.ms-excel; charse

使用Exp和Expdp导出数据的性能对比与优化

1.前言 数据备份对信息系统的安全运行至关重要,我们的用户中,使用RMan或第三方专业备份软件的越来越多,但是很多用户仍然保留了传统的Exp作为备份策略的一部分,主要是由于这种备份方式简单易用,而且恢复到其他机器上也很方便,所以,虽然有其他的备份方式,但是Exp方式仍然会同时使用,甚至还有不少的用户只有这种备份方式. 随着用户的数据量增长,Exp导出方式存在的问题也日渐突出,主要就是耗时长,有的甚至超过3个小时,加上常见的后台自动作业:汇总表的计算,自动费用的计算,统计信息的收集等工作,使一个晚

node.js基于express框架搭建一个简单的注册登录Web功能

这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注明一下版本,因为express因为版本的不同使用的方式也不同,我这算是目前最新的了吧 还没有装express的可以移步到这里 看看express框架的获取安装 1.简单地项目初始化 进入你的nodejs安装路径下边,如图,然后执行命令  express -e test  (这里把项目名设置为test

简单数据库数据导出工具总结笔记

简单界面: 1. 左边用ListBox控件,添加一个控件变量m_lb,将数据从数据库导出,然后用m_lb.AddString()添加到ListBox中显示. 在OnInitDialog()中加入.CDBBase是封装的mysql类,一开始从数据库导出的汉字显示乱码,因为数据库用的utf-8,而程序这边用的gbk, 后来加了pDBbase->DBexecute("SET NAMES 'GB2312'");显示正确. 获取ListBox中元素个数用m_lb.GetCount(),返回

第一节 构建一个简单的WCF应用

先吐个槽,到目前为止接触的东西也就是些ado.net.select.delete.update.create.临时表的批量操作.及稍微复杂点的几个表之间查询再带几个excel导入导出 然后会点前端的js.jquery等,所以在公司目前薪水并不高(能在广州生活下去吧,什么买车买房的想都别想),拿自己身边的同志一比较感觉心里不怎么平衡,凡事还是得靠自己 自强才是硬道理,就吐到这里吧!开始我的wcf之旅吧 本人理工科类型的文笔很烂 希望各位大神不要喷小弟哦(参照的书本:WCF全面解析) 咱们还是从小学

手把手教你编写一个简单的PHP模块形态的后门

看到Freebuf 小编发表的用这个隐藏于PHP模块中的rootkit,就能持久接管服务器文章,很感兴趣,苦无作者没留下PoC,自己研究一番,有了此文 0×00. 引言 PHP是一个非常流行的web server端的script语言.目前很多web应用程序都基于php语言实现.由于php是个开源软件并易于扩展,所以我们可以通过编写一个PHP模块(module 或者叫扩展 extension)来实现一个Backdoor. 本文就简单介下如何一步步编写一个简单的php 动态扩展后门. 0×01. p

如何使用AEditor制作一个简单的H5交互页demo

转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个简单的H5交互页demo: 交互页demo地址: 点击打开H5交互页demo AEditor访问地址: http://aeditor.alloyteam.com Step1:设置页面背景颜色 首先我们设置页面的背景颜色,右击舞台点击“设置背景”: 然后在背景颜色中填上色值rgb(38, 61, 10

《COM原理与应用》学习笔记——一个简单的COM组件的实现

今天带来一个简单的COM组件的实现,非常的简单.这个组件只是简单的完成了整数的加减乘除~ 首先,先罗列需要的COM接口,这里需要的接口非常简单,就是加减乘除的接口.所以定义一个ICalc类,当然这个类继承于IUnknown. 1 class ICalc : public IUnknown 2 { 3 public: 4 virtual long __stdcall add(long a, long b) = 0; 5 virtual long __stdcall minus(long a, lo