Expdp 导数错误 ORA-00832
问题实验环境
操作系统:Red Hat Enterprise Linux Server release 5.7 (Tikanga)
数据库 :Oracle Database 10g Release 10.2.0.4.0 - Production
错误再现分析
在使用数据泵导数据时,遇到下面错误:
[oracle@gsp db_expd_bak]$ expdp system/xxxx directory=dump_dir dumpfile=dm.dmp tablespaces=dm content=all;
Export: Release 10.2.0.4.0 - Production on Thursday, 29 August, 2013 21:38:44
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Release 10.2.0.4.0 - Production
ORA-31626: job does not exist
ORA-31637: cannot create job SYS_EXPORT_TABLESPACE_01 for user SYSTEM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT_INT", line 600
ORA-39080: failed to create queues "KUPC$C_1_20130829213845" and "KUPC$S_1_20130829213845" for Data Pump job
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPC$QUE_INT", line 1606
ORA-00832: no streams pool created and cannot automatically create one

造成ORA-00832:no streams pool created and cannot automatically create one错误的原因一般是streams_pool_size太小或没有定义streams_pool_size
|
A database feature which needs STREAMS SGA was being used, however, the streams_pool_size parameter was not defined and the value of db_cache_size was too small to permit an automatic transfer of SGA to the streams pool from the buffer cache. |
|
Action: Please set the parameter streams_pool_size or set sga_target |
SQL> show parameter streams_pool_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
streams_pool_size big integer 0
SQL>
由于STREAMS_POOL_SIZE一般在ASSM中是动态分配的,所以参数streams_pool_size一直为0,要查看streams_pool_size的真实大小就必须通过下面脚本来查询:
- epps> col name for a36;
- epps> col value for a10;
- epps> col idfefault for a10;
- epps> col ismod for a10;
- epps> col isadj for a10;
- epps>SELECT X.ksppinm name ,
- 2 Y.ksppstvl value ,
- 3 Y.ksppstdf idfefault ,
- 4 DECODE(bitand(Y.ksppstvf,7), 1, 'MODIFIED', 4, 'SYSTEM_MOD', 'FALSE') ismod,
- 5 DECODE(bitand(Y.ksppstvf,2), 2, 'TRUE', 'FALSE') isadj
- 6 FROM sys.x$ksppi X,
- 7 sys.x$ksppcv Y
- 8 WHERE X.inst_id = userenv('Instance') AND
- 9 Y.inst_id = userenv('Instance') AND
- 10 X.indx = Y.indx AND
- 11 X.ksppinm LIKE '%_streams%'
- 12 ORDER BY translate(X.ksppinm, '_', '');
- NAME VALUE IDFEFAULT ISMODISADJ
- ------------------------------------ ---------- ---------- ---------- ----------
- __streams_pool_size 0 TRUE FALSEFALSE
- _memory_broker_shrink_streams_pool 900 TRUE FALSEFALSE
- _disable_streams_pool_auto_tuning FALSE TRUE FALSEFALSE
- _streams_pool_max_size 0 TRUE FALSEFALSE

epps> show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean TRUE
pre_page_sga boolean FALSE
sga_max_size big integer 3424M
sga_target big integer 0
epps>
查看streams_pool_size的实际大小,发现其大小为0,更让我吃惊的却在后面:sga_target 为0,也就是说数据库没有启动自动共享内存管理(Automatic Shared Memory Management ASMM)。真是绕了一大圈。所以必须手动调整streams_pool_size的大小:
epps> alter system set streams_pool_size=100M scope=memory;
alter system set streams_pool_size=100M scope=memory
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-04033: Insufficient memory to grow pool
epps> alter system set streams_pool_size=1M scope=memory;
alter system set streams_pool_size=1M scope=memory
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-04033: Insufficient memory to grow pool
因为SGA采用老的分配方式,没有采用ASSM管理SGA,需要从其它内存中释放一些内存出来分配给streams_pool_size,结合分析,最后从
shared_pool_size中分配32M出来给streams_pool_size。问题解决,另外一个解决方法就是讲sga_target设为非零。让SGA动态给streams_pool_size分配内存。

参考资料:
https://forums.oracle.com/thread/1062498?start=0&tstart=0
http://blog.itpub.net/post/2333/409664
http://blog.csdn.net/xiaofan23z/article/details/6767396
Expdp 导数错误 ORA-00832的更多相关文章
- EXPDP导数报ORA-00942案例
使用数据泵(expdp)导数时遇到了ORA-31626 & ORA-00942 错误,数据库版本为Oracle Database 10g Release 10.2.0.5.0,具体错误如下所示 ...
- expdp报错ora 39126
11.2.0.2,expdp报错: ORA-39126: Worker unexpected fatal error in KUPW$WORKER.GET_TABLE_DATA_OBJECTS []O ...
- expdp impdp 错误: ORA-39064: 无法写入日志文件 ORA-29285: 文件写入错误(解决方案)
windows: 运行 -> regedit ->查找 键值 NLS_LANG 将字符集 SIMPLIFIED CHINESE_CHINA.ZHS16GBK 修改为AMERICAN_AME ...
- expdp错误案例
转自:https://www.cnblogs.com/kerrycode/p/3960328.html Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一 ...
- Oracle数据泵(Data Dump)错误汇集
Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法.都是在使用过程中遇到的问题,以后陆 ...
- DataPump遭遇ORA-06512&ORA-39080&ORA-01403错误案例
最近使用数据泵(DataPump)比较多,遇到了奇奇怪怪的问题,似乎Apply了补丁PSU 10.2.0.5.180717后,DataPump的问题就格外多.如下所示: expdp system/xx ...
- ORA-00824: cannot set sga_target due to existing internal settings, see alert log for more information
这篇文章是上篇文章”Expdp 导数错误 ORA-00832”的延续,前几天工作比较忙.累,直到今天才整理发出来.这个数据库实例的参数设置比较诡异其实是有原因的,由于这台数据库服务器系统是32位,数据 ...
- ORACLE 博客文章目录(2015-05-27更新)
从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理 ...
- ORACLE 博客文章目录(2015
从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理 ...
随机推荐
- 读取SD卡文件夹下的MP3文件和播放MP3文件
首先获取SD卡path路径下的所有的MP3文件,并将文件名和文件大小存入List数组(此代码定义在FileUtils类中): /** * 读取目录中的Mp3文件的名字和大小 */ public Lis ...
- 如何让你的网站支持https
如何让你的网站支持https 当今世界的主流网站基本都是使用https对外界提供服务,甚至有某些公司建议完全使用https, 那么https是什么呢?请参考如下的图解,https是在我们通常说的tcp ...
- 从零开始,搭建博客系统MVC5+EF6搭建框架(5),博客详情页、留言、轮播图管理、右侧统计博文
一.博客系统进度回顾 上一遍博客介绍到,系统已经实现到了发布以及前台布局展示,接下来就是实现一些,详情页,留言.轮播图管理.右侧博文统计信息实现. 二.博客系统详情页实现 2.1先来看看详情页展示的效 ...
- javascript超过容器后显示省略号效果(兼容一行或者多行)
javascript超过容器后显示省略号效果 在实际的项目中,由于文字内容的长度不确定性和页面布局的固定性,难免会出现文字内容超过div(或其他标签,下同)区域的情况,此时比较好的做法就是 ...
- wpf模仿QQ表情
效果图: style: <Style x:Key="LBXITEM_VERTICAL" TargetType="ListBoxItem"> < ...
- Java实现时间动态显示方法汇总
这篇文章主要介绍了Java实现时间动态显示方法汇总,很实用的功能,需要的朋友可以参考下 本文所述实例可以实现Java在界面上动态的显示时间.具体实现方法汇总如下: 1.方法一 用TimerTask: ...
- java数据类型
对String来说,”==“是用来判断两个字符串(对象)的地址是否相同,即判断是否是同一个字符串的应用.”equals()“则是判断两个字符串(对象)的值是否相等,如果相等则返回true.一般情况下, ...
- 【linux草鞋应用编程系列】_4_ 应用程序多线程
一.应用程序多线程 当一个计算机上具有多个CPU核心的时候,每个CPU核心都可以执行代码,此时如果使用单线程,那么这个线程只能在一个 CPU上运行,那么其他的CPU核心就处于空闲状态,浪费了系 ...
- java package一些试验
目录如上图,当前目录下,b是文件夹, a是文件夹. B.java 源码如下: package b; import a.*; public class B{ public static void mai ...
- 【新技术】Docker 学习笔记
原文地址 一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- ...