继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

expdp报ORA-04030 out of process memory错误

PIPIONE
关注TA
已关注
手记 1063
粉丝 147
获赞 702

操作系统:AIX 6.1

Oracle数据库版本:11.1.0.7.0

     1、使用expdp导出的时候, 报ORA-04030: out of process memory when trying to allocate 120048 bytes错误,

           具体如下所示:

ORA-39082: Object type ALTER_PROCEDURE:"INDEXAPP"."PA_INDEX_PORTAL_UV_D" created with compilation warnings

Processing object type SCHEMA_EXPORT/VIEW/VIEW

ORA-39082: Object type VIEW:"INDEXAPP"."TA_CONTENT_AUDIT_USER_D" created with compilation warnings

Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

##ORA-39014: One or more workers have prematurely exited.

ORA-39029: worker 1 with process name "DW01" prematurely terminated

ORA-31671: Worker process DW01 had an unhandled exception.

ORA-04030: out of process memory when trying to allocate 120048 bytes (session heap,kuxLpxAlloc)

ORA-06512: at "SYS.KUPW$WORKER", line 1602

ORA-06512: at line 2

     2、以oracle用户执行ulimit -a,对于用户进程使用的内存是有限制的,如下所示:

$ ulimit -a

time(seconds)        unlimited

file(blocks)         unlimited

data(kbytes)         256000

stack(kbytes)        256000

memory(kbytes)       256000

coredump(blocks)     unlimited

nofiles(descriptors) 2000

threads(per process) unlimited

processes(per user)  unlimited

      3、切换到root,在/etc/security/limits文件添加如下内容,(-1代表不限制):

oracle:

data = -1

stack_hard = -1

stack = -1

rss = -1

core = -1

nofiles = -1

      4、查看新增以上内容后的/etc/security/limits文件:

$ su - root

root's Password:

# cat /etc/security/limits

*

* Sizes are in multiples of 512 byte blocks, CPU time is in seconds

*

* fsize      - soft file size in blocks

* core       - soft core file size in blocks

* cpu        - soft per process CPU time limit in seconds

* data       - soft data segment size in blocks

* stack      - soft stack segment size in blocks

* rss        - soft real memory usage in blocks

* nofiles    - soft file descriptor limit

* fsize_hard - hard file size in blocks

* core_hard  - hard core file size in blocks

* cpu_hard   - hard per process CPU time limit in seconds

* data_hard  - hard data segment size in blocks

* stack_hard - hard stack segment size in blocks

* rss_hard   - hard real memory usage in blocks

* nofiles_hard - hard file descriptor limit

*

* The following table contains the default hard values if the

* hard values are not explicitly defined:

*

*   Attribute        Value

*   ==========    ============

*   fsize_hard    set to fsize

*   cpu_hard      set to cpu

*   core_hard         -1

*   data_hard         -1

*   stack_hard      8388608

*   rss_hard          -1

*   nofiles_hard      -1

*

* NOTE:  A value of -1 implies "unlimited"

*

default:

fsize = -1

core = -1

cpu = -1

data = 512000

rss = 512000

stack = 512000

nofiles = 2000

root:

data = -1

stack_hard = -1

stack = -1

rss = -1

core = -1

nofiles = -1

oracle:

data = -1

stack_hard = -1

stack = -1

rss = -1

core = -1

nofiles = -1

daemon:

bin:

sys:

adm:

uucp:

guest:

nobody:

lpd:

pconsole:

stack_hard = 131072

data = 1280000

data_hard = 1280000

esaadmin:

stack = 393216

stack_hard = 393216

          5、切换到oracle用户,执行ulimit -a,结果显示如下:

# su - oracle

$ ulimit -a

time(seconds)        unlimited

file(blocks)         unlimited

data(kbytes)         unlimited

stack(kbytes)        unlimited

memory(kbytes)       unlimited

coredump(blocks)     unlimited

nofiles(descriptors) unlimited

threads(per process) unlimited

processes(per user)  unlimited

     6、再次执行expdp导出,仍旧报一样的错误

     7、重启操作系统后,参数生效,导出不再报错

©著作权归作者所有:来自51CTO博客作者fly1116的原创作品,如需转载,请注明出处,否则将追究法律责任

expdp报ORA-04030expdp导出数据库导入导出Oracle


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP