今天使用LogMiner找回误更新的数据时,查询v$logmnr_contents时,遇到了“ORA-04030: out of process memory when trying to allocate 152 bytes (Logminer LCR c,krvtadc)”错误。查了一下My Oracle Support,发现出现ORA-04030错误的原因,特摘录在此。

如果指定了COMMITTED_DATA_ONLY选项而且发出了查询,则LogMiner会在内存中的单个事务中逐步处理所有的重做记录, 直到 logminer 找到该事务的提交记录。 因此,可能会耗尽内存,在这种情况下将出现“Out of Memory”错误。具体参考下面资料:

ORA-04030: out of process memory when trying to allocate 152 bytes (Logminer LCR c,krvtadc)

APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.2.0.4 to 12.1.0.1 [Release 10.2 to 12.1]
Information in this document applies to any platform.
This problem can occur on any platform.

SYMPTOMS

Select against logminer fails with ORA-4030 (Logminer LCR c,krvtadc).

Following query failed:
SELECT username, TO_CHAR(timestamp,'HH24:MI:SS'), substr(sql_redo,1,110)
FROM v$logmnr_contents
WHERE seg_owner='<owner name>'
AND seg_name IN ('<table name>');

FROM v$logmnr_contents where
ERROR at line 2:
ORA-4030: out of process memory when trying to allocate 56 bytes (Logminer LCR c,krvtadc)

CAUSE

According to the documentation in Oracle® Database Utilities:
If the COMMITTED_DATA_ONLY option is specified and you issue a query, LogMiner stages all redo records within a single transaction in memory until LogMiner finds the commit record for that transaction. Therefore, it is possible to exhaust memory, in which case an "Out of Memory" error will be returned.

EXECUTE DBMS_LOGMNR.ADD_LOGFILE (logfilename => '<filename>',
options => DBMS_LOGMNR.NEW);
EXECUTE sys.DBMS_LOGMNR.START_LOGMNR(DICTFILENAME => '<dictionary file>',
options =>dbms_logmnr.committed_data_only);

SOLUTION

If this occurs, you must restart LogMiner without the COMMITTED_DATA_ONLY option specified and reissue the query.

REFERENCES

参考资料:

Select Against Logminer Fails With ORA-4030 (Logminer LCR c,krvtadc) (文档 ID 807080.1)

ORA-04030: out of process memory when trying to allocate 152 bytes (Logminer LCR c,krvtadc)的更多相关文章

  1. C# Read/Write another Process' Memory z

    http://www.codeproject.com/Articles/670373/Csharp-Read-Write-another-Process-Memory This article aim ...

  2. C# Read/Write another Process' Memory ZZ

    Today's tutorial is about...processes' memory! In this article I'll show you how to read/write a pro ...

  3. SAP work process Memory allocate

    Memory allocation sequence to dialog work processes in SAP What is the memory allocation sequence to ...

  4. C# Read/Write another Process' Memory

    https://codingvision.net/security/c-read-write-another-process-memory Today’s tutorial is about…proc ...

  5. ORA-04031: Unable To Allocate 32 Bytes Of Shared Memory

    记录一次生产库遇到的4031错误,后来通过调整sga大小将问题解决了 报错信息: ORA-04031: 无法分配 32 字节的共享内存 ("shared pool","s ...

  6. openstack kvm cannot set up guest memory 'pc.ram': Cannot allocate memory

    Kvm:启动报错:error: internal error: process exited while connecting to monitor: 2018-11-12T01:47:14.9933 ...

  7. linux 下tomcat出现 Native memory allocation (malloc) failed to allocate 1915224064 bytes for committing reserved memory问题

    ## There is insufficient memory for the Java Runtime Environment to continue.# Native memory allocat ...

  8. Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 64 bytes) in D

    Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 64 bytes) in D 从数据库 ...

  9. PHP运行错最有效解决办法Fatal error: Out of memory (allocated 786432) (tried to allocate 98304 bytes) in H:\freehost\zhengbao2\web\includes\lib_common.php on line 744

    原文 PHP运行错最有效解决办法Fatal error: Out of memory (allocated 6029312) Fatal error: Out of memory (allocated ...

随机推荐

  1. 如何使用JS来开发室内三维地图的轨迹回放功能

     在制作完成室内三维地图的功能后,最经常有的需求就是如何做人员的轨迹回放,一般流程都是从数据库中查询轨迹坐标后,经过后台查询接口返回给前端,接下来的事情都交给JS来完成. 如果想做好一个性能好的轨迹回 ...

  2. SLAM+语音机器人DIY系列:(六)SLAM建图与自主避障导航——2.google-cartographer机器人SLAM建图

    摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命.本章将围绕机器人SLAM建图.导航避障 ...

  3. emacs 高亮

    用途:让某个单词高亮显示 1,安装 m-x 回车,输入list-packages 在列表中找到highlight-symbol后,鼠标点击它,再点击安装 2,在.emacs中配置 ;;高亮 (requ ...

  4. python3 文件操作练习 r+ w+ a+ 的理解

    突然来一句:“慨然有经略四方之志” 文件操作三部曲:1.先用open打开 2.再写关闭  3.再回到中间写操作     为啥要刚打开就关闭 那是很容易望,所以先写上... 基本格式 f = open( ...

  5. PHP中$GLOBALS和global的区别

    很多人都认为$GLOBALS['var']和global $var只是写法上不同,其实并不是这样 根据官方的解释是  $GLOBALS['var']是外部全局变量$var的本身, 而global $v ...

  6. Python基础(解压序列)

    解压序列: a,b=(1,2) # a,b=[1,2] print(a,b) #输出结果:1 2 #获取第一个值和最后一个值 a,*_,c=(1,2,3,4,5,6,7,8,9) print(a) p ...

  7. Vue.js-07:第七章 - Vue 实例的生命周期

    一.前言  在之前的 Vue 学习中,我们在使用 Vue 时,都会创建一个 Vue 的实例,而每个 Vue 实例在被创建时都要经过一系列的初始化过程.例如,需要设置数据监听.编译模板.将实例挂载到 D ...

  8. Got permission denied while trying to connect to the Docker daemon socket at

    添加新用户后执行docker命令由于没权限出现以下报错: ”Got permission denied while trying to connect to the Docker daemon soc ...

  9. 《前端之路》之四 JavaScript 的闭包、作用域、作用域链

    04:JavaScript 的闭包 一.定义: 常规定义: 闭包的定义: 有权利访问外部函数作用域的函数. 通俗定义: 1.函数内部包含了函数.然后内部函数可以访问外部函数的作用域. 2.内部函数可以 ...

  10. Python实战171203统计

    统计序列中元素出现的频次 如何统计出某一个随机数列的元素出现的次数是多少? import randomdata=[random.randint(0,7) for _ in range(15)]c=di ...