expdp 보고서 ORA-04030 out of process memory 오류

운영 체제:AIX 6.1Oracle 데이터베이스 버 전: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.Oacle 사용자 로 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.Oacle 사용자 로 전환 하여 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.운영 체 제 를 다시 시작 하면 매개 변수 가 유효 합 니 다.내 보 내기 오류 가 발생 하지 않 습 니 다.

좋은 웹페이지 즐겨찾기