"템프테이블 확장"의 두 판 사이의 차이
DB CAFE
9번째 줄: | 9번째 줄: | ||
alter tablespace ORAMARSX add datafile '/dw21/oradata/CW27ORA/oramarsx19.dbf' size 3000M; | alter tablespace ORAMARSX add datafile '/dw21/oradata/CW27ORA/oramarsx19.dbf' size 3000M; | ||
alter tablespace ORAMARSX add datafile '/dw22/oradata/CW27ORA/oramarsx20.dbf' size 3000M; | alter tablespace ORAMARSX add datafile '/dw22/oradata/CW27ORA/oramarsx20.dbf' size 3000M; | ||
+ | </source> | ||
2. temp TS size 증가 | 2. temp TS size 증가 | ||
18번째 줄: | 19번째 줄: | ||
alter tablespace temp add tempfile '/dw04/oradata/CW27ORA/temp07.dbf' size 3000M; | alter tablespace temp add tempfile '/dw04/oradata/CW27ORA/temp07.dbf' size 3000M; | ||
alter tablespace temp add tempfile '/dw05/oradata/CW27ORA/temp08.dbf' size 3000M; | alter tablespace temp add tempfile '/dw05/oradata/CW27ORA/temp08.dbf' size 3000M; | ||
− | + | </source> | |
3. pga 설정 및 session의 sort_area_size 변경 | 3. pga 설정 및 session의 sort_area_size 변경 | ||
-------------------------------------------- | -------------------------------------------- | ||
86번째 줄: | 87번째 줄: | ||
Index created. | Index created. | ||
Elapsed: 00:17:59.55 | Elapsed: 00:17:59.55 | ||
+ | </source> | ||
5.ODSMARS.pdw_ods_branch_sales_result_UK index 속성변경 | 5.ODSMARS.pdw_ods_branch_sales_result_UK index 속성변경 |
2019년 7월 4일 (목) 14:41 판
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
템프테이블 확장 절차[편집]
1. datafile 추가
대용량 index생성으로 인해 예상되는 증가량을 index Tablespace(이하 TS)영역에 반영.
alter tablespace ORAMARSX add datafile '/dw19/oradata/CW27ORA/oramarsx17.dbf' size 3000M;
alter tablespace ORAMARSX add datafile '/dw20/oradata/CW27ORA/oramarsx18.dbf' size 3000M;
alter tablespace ORAMARSX add datafile '/dw21/oradata/CW27ORA/oramarsx19.dbf' size 3000M;
alter tablespace ORAMARSX add datafile '/dw22/oradata/CW27ORA/oramarsx20.dbf' size 3000M;
2. temp TS size 증가
index생성작업 자체가 대용량의 sort작업을 동반하므로 임시적으로 temp size를 늘려줌.
alter tablespace temp add tempfile '/dw02/oradata/CW27ORA/temp05.dbf' size 3000M;
alter tablespace temp add tempfile '/dw03/oradata/CW27ORA/temp06.dbf' size 3000M;
alter tablespace temp add tempfile '/dw04/oradata/CW27ORA/temp07.dbf' size 3000M;
alter tablespace temp add tempfile '/dw05/oradata/CW27ORA/temp08.dbf' size 3000M;
3. pga 설정 및 session의 sort_area_size 변경
oracle9i라면 기본적으로 workarea_size_policy parameter가 auto로 설정되어 있을것이다만, 작업의 효율을 위해 현 세션에 대해 한시적으로 manual로 변경한 후 sort_area_size를 적절하게 늘려주기를 바람. 병렬로 처리를 할것이기 때문에 현재의 session이 Parellel query처리가 가능한지도 확인하고..
alter session set workarea_size_policy=manual;
alter session set sort_area_size = 209715200;
.병렬query 지원여부 확인
select * from v$option where parameter = 'Parallel execution';
4. ODSMARS.pdw_ods_branch_sales_result_UK index생성
.실제 primary key index를 생성하는 구문임. .storage절은 원하시는 값으로 셋팅하면 됨, (TS가 LMT라면 뭐 별로 할것도 없지만..) .NOLOGGING 설정은 간단히 redo log entry가 생성되질 않는다고 생각하면 되고... ( index생성시 오류가 발생하면 재생성하면 되므로 복구를 고려하지 않은 설정값임. ) .PARALLEL 4 로 설정하여 동시에 4개의 cpu가 동작하도록 설정하였음.(cpu수의 절반 정도로 설정하도록.)
CREATE UNIQUE INDEX ODSMARS.pdw_ods_branch_sales_result_UK ON ODSMARS.PDW_ODS_BRANCH_SALES_RESULT
(AFFILIATE_BRANCH_CODE,
DIVISION_CODE,
YYYYMMDD,
BUYER_CODE,
MODEL,
SUFFIX,
RETURN_FLAG,
WORK_DATE,
DOM_EXP_FLAG,
SALESMAN_CODE,
WH_CODE,
ATTRIBUTE4,
ATTRIBUTE6,
ATTRIBUTE8,
ATTRIBUTE9,
WH_LOCATION,
CUST_PO_NO,
SALES_TYPE,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE16,
ATTRIBUTE17,
ATTRIBUTE18,
ACT_COM_CODE,
ACT_DIV_CODE,
PKG_MODEL,
PKG_SUFFIX)
tablespace ORAMARSX
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 100M
next 50M
)
NOLOGGING
PARALLEL 4 ;
Index created.
Elapsed: 00:17:59.55
5.ODSMARS.pdw_ods_branch_sales_result_UK index 속성변경
index 생성완료 후에는 index 속성값을 변경. nologging -> logging parallel -> noparallel
alter index ODSMARS.pdw_ods_branch_sales_result_UK logging noparallel;
6. pga 설정 및 session의 sort_area_size 원복
session을 원복한다. (session 종료해도 상관없음.)
alter session set workarea_size_policy=auto;
7. 신규 temp TS 생성 및 default temp TS 변경
7.8.9번은 임시로 늘려는 temp TS를 원복시키는 작업임.
create temporary tablespace imsi tempfile '/dw07/oradata/CW27ORA/imsi01.dbf' size 1000m extent management local uniform size 1m;
alter database default temporary tablespace imsi;
8. 기존 temp TS 삭제 및 재생성
drop tablespace TEMP including contents and datafiles;
create temporary tablespace temp tempfile '/dw09/oradata/CW27ORA/temp01.dbf' size 3000m extent management local uniform size 5m;
alter tablespace temp add tempfile '/dw04/oradata/CW27ORA/temp02.dbf' size 3000m;
alter tablespace temp add tempfile '/dw06/oradata/CW27ORA/temp03.dbf' size 3000m;
alter tablespace temp add tempfile '/dw07/oradata/CW27ORA/temp04.dbf' size 3000m;
9. 신규 temp TS 삭제 및 default temp TS 변경
alter database default temporary tablespace temp;
drop tablespace imsi including contents and datafiles;
10. 작업완료.