안녕하세요.
요즘 날씨 장난아니시죠? 영하 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
도대체 뭐가 문제일까요?
감사드린다는 말씀 먼저 올리겠습니다.