DBMS_XPLAN 강좌 Sample Data 생성 오류 0 0 3,870

by 지안아빠 DBMS_XPLAN Sample Data [2012.12.18 15:48:09]


안녕하세요.
요즘 날씨 장난아니시죠? 영하 10도라니 ㄷㄷ 추우신데 몸조심 잘하세요. 콜록콜록

 다름이 아니라 제가 튜닝에 대해 배워보려고 튜닝강좌에 나와 있는 쿼리로 샘플만들었습니다.
그런데 에러가 너무 많이 납니다. ㅠㅠ

emp 테이블과 dept 테이블 만들고 인덱스 생성 과정에서 메모리 관련 에러가 나내요.

-- drop table
DROP TABLE emp PURGE;
DROP TABLE dept PURGE;

-- create emp table 
CREATE TABLE emp AS 
SELECT -- 1. EMPNO(Unique 컬럼) 
rownum empno, 
-- 2. EMPNO(VARCHAR로 변형) 
TO_CHAR(rownum) empno_varchar, 
-- 3. JOB(천만건 데이터를 20개 그룹으로 분류) 
CHR(65 + CEIL(rownum / 500000) - 1) job, 
-- 4. HIREDATE(10개씩 증가하여 날짜 데이터 만듬) MAX(2738-11-26) 
TO_DATE('00010101', 'YYYYMMDD') + CEIL(rownum / 10) - 1 hiredate, 
-- 5. DEPTNO 
-- 자리수 길이를 한 그룹으로 하여 데이터 생성, 분포도 차이나도록) MAX(80) 
LENGTH(rownum) * 10 deptno 
from 
select level 
FROM DUAL 
CONNECT BY LEVEL <= 1000 
) a, ( 
select level 
FROM DUAL 
CONNECT BY LEVEL <= 10000 
) b;

-- create dept table
CREATE TABLE dept AS
SELECT LEVEL * 10  deptno,
       'SALES_' || LEVEL dname,
       'ZONE_'  || LEVEL loc
FROM   DUAL
CONNECT BY LEVEL <= 9;

-- create index
CREATE UNIQUE INDEX EMP_U1 ON EMP (EMPNO) COMPUTE STATISTICS PARALLEL 8;
ALTER INDEX EMP_U1 NOPARALLEL;
CREATE INDEX EMP_N1 ON EMP (DEPTNO) COMPUTE STATISTICS PARALLEL 8;
ALTER INDEX EMP_N1 NOPARALLEL;
CREATE INDEX EMP_N2 ON EMP (HIREDATE) COMPUTE STATISTICS PARALLEL 8;
ALTER INDEX EMP_N2 NOPARALLEL;
CREATE INDEX EMP_N3 ON EMP (EMPNO_VARCHAR) COMPUTE STATISTICS PARALLEL 8;
ALTER INDEX EMP_N3 NOPARALLEL;
CREATE UNIQUE INDEX DEPT_U1 ON DEPT (DEPTNO);
-- gather statistics
EXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'EMP', CASCADE => TRUE, DEGREE => 8);
EXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'DEPT', CASCADE => TRUE);


ORA-12801: 병렬 질의 서버 P000에 오류신호가 발생했습니다
ORA-04030: 64528바이트 (sort subheap,sort key)의 할당 시도 중 프로세스 메모리 부족 현상 발생
쿼리중 위 빨간 부분에서 이와같은 에러가 나는데요..
나름 구글링하고 찾아 봤지만 도저히 해결이 되지 않아 염치 없게 이렇게 물어보게 되었습니다.

현제 windows7에서 vmware에 windows xp 설치하여 오라클 11g 설치 운용중에 있습니다.
xp ram 크기는 3G 이구요.

오라클 관련 메모리는 밑에 내용과 같습니다.

SQL> select value from v$pgastat where name='maximum PGA allocated';
     VALUE
----------
 143193088
SQL> SHOW PARAMETER TARGET
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target                   integer     0
db_flashback_retention_target        integer     1440
fast_start_io_target                 integer     0
fast_start_mttr_target               integer     0
memory_max_target                    big integer 2696M
memory_target                        big integer 2696M
parallel_servers_target              integer     8
pga_aggregate_target                 big integer 0
sga_target                           big integer 0
 도대체 뭐가 문제일까요? 
 감사드린다는 말씀 먼저 올리겠습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입