<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63>

Similar documents
I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

Tablespace On-Offline 테이블스페이스 온라인/오프라인

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Oracle Database 10g: Self-Managing Database DB TSC

MS-SQL SERVER 대비 기능

목 차

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

PowerPoint Presentation

Partition Table

문서 템플릿

Simplify your Job Automatic Storage Management DB TSC

10.ppt

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

PowerPoint Presentation

歯박지원-구운몽.PDF

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Microsoft PowerPoint - 10Àå.ppt

Microsoft Word - SQL튜닝_실습교재_.doc

Tina Admin

DBMS & SQL Server Installation Database Laboratory

ORACLE EXADATA HCC 압축방식이해하기 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 시간이지나면서데이터는급속하게증가하고있다. 데이터가증가함에따라 DBMS 에서관리되어지는정보도급속하게증가하고있다. 이로인해저장공간의부족으로하드웨어비용의증가와데이터처리성능에많은문제점들

FD¾ØÅÍÇÁ¶óÀÌÁî(Àå¹Ù²Þ)-ÀÛ¾÷Áß

最即時的Sybase ASE Server資料庫診斷工具

오라클 데이터베이스 10g 핵심 요약 노트

Oracle 보안 TDE Author 고요한 Creation Date Last Updated Version V2.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

MySQL-Ch10

No

pdf

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

歯sql_tuning2

된테이블은파티션되지않은테이블과아무런차이가없습니다. 그러므로애플리케이션변경작업은요구되지않습니다. 테이블은 파티셔닝키 (partitioning key) 을통해분할됩니다. 파티셔닝키란특정로우가어떤파티션에위치하는지정의하는일련의컬럼을말합니다. Oracle Database 11g

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

Contents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7

KEEP BUFFER 활용방안 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 Oracle 은유저가요청한작업을빠르게처리하기위해 Buffer Cache 라는것을사용한다. Buffer Cache 는 SGA 에위치하고있으며, 오라클인스턴스에접속하는모든프로세스에의해공유된다. 이 Bu

MySQL-.. 1

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

대량의 DML 작업에대한성능개선방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 대량의데이터를변경해야하는작업은그자체만으로도큰부담으로다가온다. 하지만변경작업자체에만국한되는것이아니라변경되기전데이터와변경이후데이터를각각저장관리해야하는메커니즘이라면성능을개선해야하는입장에서는더욱큰부담

*금안 도비라및목차1~9

Chapter 1

*금안14(10)01-도비라및목차1~12

github_introduction.key

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

CD-RW_Advanced.PDF

untitled

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

SQL Server 에서 SQL 튜닝시알아야할힌트와사용 방법 엑셈컨설팅본부 /DB 컨설팅팀박성호 Optimizer 가 SQL 을해석할때항상최적의실행계획을생성하지는못한다. 복잡한 SQL 일수록최적의실행계획을생성하기위해고려해야할대상 (Table, Index 가많은경우 )

PowerPoint 프레젠테이션

빅데이터분산컴퓨팅-5-수정

歯815설치1.PDF

13주-14주proc.PDF

2004 IRISPen 사용자 설명서-본문-용지크기 조정-폰트포함.PDF

제목을 입력하세요.

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

TITLE

Tibero

Index

Tina Admin

PowerPoint 프레젠테이션

ÀüÀÚÇö¹Ì°æ-Áß±Þ

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

Copyright 0, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT RIGHTS Programs, software, databases, and related

*금안 도비라및목차1~17

2011년 10월 초판 c 2011 Sony Corporation. All rights reserved. 서면 허가 없이 전체 또는 일부를 복제하는 것을 금합니다. 기능 및 규격은 통보 없이 변경될 수 있습니다. Sony와 Sony 로고는 Sony의 상표입니다. G L

MPLAB C18 C

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Microsoft PowerPoint - Oracle Data Access Pattern.ppt

arcplan Enterprise 6 Charting Facelifts

강의 개요

Remote UI Guide

FlashBackt.ppt

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

여름호-내지원본

6장. SQL

DocsPin_Korean.pages

ePapyrus PDF Document

초보자를 위한 분산 캐시 활용 전략

슬라이드 1


Microsoft PowerPoint - e pptx

BGP AS AS BGP AS BGP AS 65250

슬라이드 1

untitled

<30352D30312D3120BFB5B9AEB0E8BEE0C0C720C0CCC7D82E687770>

歯mp3사용설명서

토익S-채용사례리플렛0404

62

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

윈백및업그레이드 Tibero Flashback 가이드

제목 레이아웃

윈도우시스템프로그래밍

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

강의 개요

½Å³âÈ£-³»ÁöÀμâ

Transcription:

Reviewed by Oracle Certified Master Korea Community ( http:www.ocmkorea.com http:cafe.daum.netoraclemanager ) 1.1.1 파티션테이블에서사용할수있는리오그방법파티션 level 의 importexport 방법을이용해파티션테이블중특정파티션 ( 혹은서브파티션 ) 만을선택적으로리오그할수있다. 작업절차는다음과같다. (1) 리오그대상파티션조회 (2) 파티션 EXPORT (3) CHILD TABLE CHECK 및 FK 삭제 (4) PARTITION TRUNCATE (5) Global Index 삭제 (6) 파티션 next 값조정 (7) 파티션 import (8) 파티션 next 값원상복구 (9) Global Index 생성 (10) CHILD TABLE FK 연결 (11) 결과확인 주 ) 위 (3), (10) 번은 CHILD TABLE 이있을경우만작업한다. 파티션을 truncate 할경우해당테이블의 Local Index 를제외한모든 Global Nonpartitioned Indexes, Global Partitioned indexes 들이 UN 상태가된다. 따라서데이량이많은테이블 ( 특히인덱스들이많은테이블, tbbhdz01, tbjgba20, tbjgba12,tbbhba01, tbbhba02, tbjgaz10, tbjgaz40, tbbmbb03 등 ) 은주의해야한다. 위의작업절차는파티션의종류 ( RANGE,HASH,COMPOSITE ) 에상관없이모두동일하다. 다만위절차상 (4) 번째작업시 RANGE 나 COMPOSITE 의경우는 PARTITION LEVEL 에서 NEXT 값을변경해야하고, HASH 파티션의경우는 PARTITION LEVEL 에서변경이불가능하므로테이블 LEVEL 에서 NEXT 값을변경해야한다. 또한 COMPOSITE 파티션의경우 SUBPARTITION LEVEL 에서도리오그작업이가능하지만실제로이용할경우는없을것이다. 왜냐하면, PARTITION LEVEL 에서 SUBPARTITION 개수를지정해줄때모두 4개로지정했기때문에특정파티션에속하는모든 SUBPARTITION 들은모두거의동일한테이타량을포함하고있기때문이다. -1-

참고 ) 해쉬알고리즘을적용받는파티션테이블들의경우만약파티션개수 ( 혹은서브파티션개수 ) 가 2 의 N 승으로 (2,4,6,8,16 ) 구성될경우모든파티션 ( 혹은서브파티션 ) 들에대해거의동일하게테이타를분배시킨다. 1.1.1.1 테이블파티션리오그 [ 단계 1] 리오그대상파티션을조회한다. -2-

$ sqlplus SQL*Plus: Release 8.1.6.0.0 - Production on Wed Feb 14 17:47:50 2001 (c) Copyright 1999 Oracle Corporation. All rights reserved. Enter user-name: nhicadm Connected to: Oracle8i Enterprise Edition Release 8.1.6.3.0 - Production With the Partitioning option JServer Release 8.1.6.3.0 - Production 10.1.60.6 csuo002 csuo002. loghost USER is "NHICADM" SQL> col segment_name format a15 SQL> col partition_name format a15 SQL> col tablespace_name format a15 SQL> select segment_name, partition_name, extents,(bytes1024)1024 Msize,(next_extent1024)1024 Minit,(next_extent1024)1024 Mnext, min_extents 2 from user_segments 3 where segment_name = 'TBJGBA12' 4 and extents > 30; 리오그대상 extent 개수 SEGMENT_NAME PARTITION_NAME EXTENTS MSIZE MINIT MNEXT MIN_EXTENTS --------------- --------------- ---------- ---------- ---------- ---------- ------------ TBJGBA12 SYS_P4561 1 60 60 1 1.. 중략... TBJGBA12 SYS_P4564 43 102.65625 60 1 1.. 중략... TBJGBA12 SYS_P4570 1 60 60 1 1 파티션 SYS_P4564 를리오그해보자. [ 단계 2] 리오그대상파티션 EXPORT -3-

$exp nhicadmpasswd file=sys_p4564.dmp tables=tbjgba12:sys_p4564 indexes=n constraints=n log=exp.log Export: Release 8.1.6.3.0 - Production on Tue Mar 6 17:11:38 2001 (c) Copyright 1999 Oracle Corporation. All rights reserved. Connected to: Oracle8i Enterprise Edition Release 8.1.6.3.0 - Production With the Partitioning option JServer Release 8.1.6.3.0 - Production Export done in KO16KSC5601 character set and KO16KSC5601 NCHAR character set Note: indexes on tables will not be exported Note: constraints on tables will not be exported About to export specified tables via Conventional Path..... exporting table TBJGBA12.. exporting partition SYS_P4564 660032 rows exported Export terminated successfully without warnings. 작업자실수를대비해 table 전체를다른이름으로다른 DEVICE 에중복되게 EXPORT 를받아놓도록한다. ( export 파일이손상되었을경우나, 작업자가다른파티션을 truncate 하는등의실수를대비해..) [ 단계 3] 해당테이블을 parent 로하는 FK 가있는지찾아낸다. 만약있다면해당테이블은 child -4-

를가지고있으므로 truncate 되지않는다. 만약가지고있다면해당 FK 를먼저 DROP 해야하고나중에 import 가끝난후다시 FK 를 create 해야한다. $ sqlplus SQL*Plus: Release 8.1.6.0.0 - Production on Tue Mar 6 17:25:52 2001 (c) Copyright 1999 Oracle Corporation. All rights reserved. Enter user-name: nhicadm Enter password: Connected to: Oracle8i Enterprise Edition Release 8.1.6.3.0 - Production With the Partitioning option JServer Release 8.1.6.3.0 - Production 10.1.60.6 csuo002 csuo002. loghost USER is "NHICADM" SQL> col constraint_name format a35 SQL> col column_name format a25 SQL> select b.constraint_name, b.column_name, b.position 2 from user_constraints a, user_cons_columns b 3 where a.constraint_name=b.constraint_name 4 and a.r_constraint_name='pk_tbjgba12' 5 and a.constraint_type='r'; ONSTRAINT_NAME COLUMN_NAME POSITION ----------------------------------- ------------------------- ---------- FK_TBJGBA11_TBJGBA12_01 JUNG_NO 1 FK_TBJGBA11_TBJGBA12_01 JUNG_SEQ_NO 2 FK_TBJGBA20_TBJGBA12_01 JUNG_NO 1 FK_TBJGBA20_TBJGBA12_01 JUNG_SEQ_NO 2 FK_TBJGCA20_TBJGBA12_01 JUNG_NO 1 FK_TBJGCA20_TBJGBA12_01 JUNG_SEQ_NO 2-5-

FK_TBJGCB01_TBJGBA12_01 JUNG_NO 1 FK_TBJGCB01_TBJGBA12_01 JUNG_SEQ_NO 2 4 개의 child table 를가지고있으므로 fk 를각각삭제해야한다. SQL> alter table tbjgba11 drop constraint fk_tbjgba11_tbjgba12_01; Table altered. SQL> alter table tbjgba20 drop constraint fk_tbjgba20_tbjgba12_01; Table altered. SQL> alter table tbjgca20 drop constraint fk_tbjgca20_tbjgba12_01; Table altered SQL> alter table tbjgcb01 drop constraint fk_tbjgcb01_tbjgba12_01; Table altered. [ 단계 4] 리오그대상파티션을 TRUNCATE 하고 Index 들의상태를조회한다. -6-

SQL> alter table tbjgba12 truncate partition sys_p4546; Table truncated. SQL> select index_name, status from user_indexes 2 where table_name='tbjgba12'; INDEX_NAME STATUS ------------------------------ -------- IX_TBJGBA12_01 UN 이하 GLOBAL INDEX 모두가모두 UNUSBLE IX_TBJGBA12_04 UN 상태가되었다. IX_TBJGBA12_07 IX_TBJGBA12_02 IX_TBJGBA12_05 IX_TBJGBA12_10 IX_TBJGBA12_08 IX_TBJGBA12_03 IX_TBJGBA12_06 IX_TBJGBA12_09 IX_TBJGBA12_11 UN UN UN UN UN UN UN UN UN PK_TBJGBA12 NA 파티션인덱스는아래와같이 user_ind_partitions 뷰에서확인해야한다. SQL> select partition_name, status 2 from user_ind_partitions 3 where index_name='pk_tbjgba12'; PARTITION_NAME STATUS ------------------------------ -------- SYS_P4561 SYS_P4562-7-

SYS_P4563 SYS_P4564 SYS_P4565 SYS_P4566 SYS_P4567 SYS_P4568 SYS_P4569 SYS_P4570 모든인덱스파티션은유효하다. [ 단계 5] 모든 Global Index 들의크기및구성칼럼을조회한후삭제한다. SQL> col segment_name format a15 SQL> col tablespace_name format a15 SQL> select segment_name, tablespace_name, (bytes1024)1024 Msize, 2 (initial_extent1024)1024 Minit, min_extents 3 from user_segments 4 where segment_name like 'IX_TBJGBA12%' 5 SEGMENT_NAME TABLESPACE_NAME MSIZE MINIT MIN_EXTENTS --------------- --------------- ---------- ---------- ----------- IX_TBJGBA12_01 MJGBA12INDX99 57.03125 40 1 IX_TBJGBA12_04 MJGBA12INDX99 130 100 1 IX_TBJGBA12_07 MJGBA12INDX99 57.03125 40 1 IX_TBJGBA12_02 MJGBA12INDX99 142 100 1 IX_TBJGBA12_05 MJGBA12INDX99 57.03125 57 1 IX_TBJGBA12_10 MJGBA12INDX99 190 150 1 IX_TBJGBA12_08 MJGBA12INDX99 57.03125 50 1-8-

IX_TBJGBA12_03 MJGBA12INDX99 84 80 1 IX_TBJGBA12_06 MJGBA12INDX99 141.015625 100 1 IX_TBJGBA12_09 MJGBA12INDX99 152 100 1 IX_TBJGBA12_11 MJGBA12INDX99 225 200 1 Global Index 들의구성칼럼을조회한다. SQL> col column_name format a30 SQL> select index_name, column_name 2 from user_ind_columns 3 where index_name like 'IX_TBJGBA12%' 4 order by index_name, column_position 5 INDEX_NAME COLUMN_NAME ------------------------------ ------------------------------ IX_TBJGBA12_01 IX_TBJGBA12_01 IX_TBJGBA12_02 IX_TBJGBA12_02 IX_TBJGBA12_03 IX_TBJGBA12_03 IX_TBJGBA12_04 IX_TBJGBA12_04 IX_TBJGBA12_05 IX_TBJGBA12_06 IX_TBJGBA12_07 IX_TBJGBA12_07 IX_TBJGBA12_07 IX_TBJGBA12_08 FIRM_SYM UNIT_FIRM_SYM PSTN_BRCH_CD PSTN_TYPE SANGSIL_BRCH_CD SANGSIL_PSTN_TYPE CHWIDUK_BRCH_CD CHWIDUK_PSTN_TYPE NATION_FINANCE_CD JUNG_SANGSIL_DT FIRM_SYM BUSI_OFCE_NO GAIBJA_DEPT_CD ARMY_NO_EMP_NO -9-

IX_TBJGBA12_09 IX_TBJGBA12_10 IX_TBJGBA12_10 IX_TBJGBA12_11 IX_TBJGBA12_11 IX_TBJGBA12_11 JUNG_CHWIDUK_DT PSTN_BRCH_CD JUNG_SANGSIL_DT JUNG_NO JUNG_SEQ_NO PSTN_BRCH_CD 모든 Global Index 를삭제한다. SQL> drop index IX_TBJGBA12_01;. SQL> drop index IX_TBJGBA12_02; SQL> drop index IX_TBJGBA12_03; SQL> drop index IX_TBJGBA12_04; SQL> drop index IX_TBJGBA12_05; SQL> drop index IX_TBJGBA12_06; SQL> drop index IX_TBJGBA12_07; SQL> drop index IX_TBJGBA12_08; SQL> drop index IX_TBJGBA12_09; SQL> drop index IX_TBJGBA12_10; -10-

SQL> drop index IX_TBJGBA12_11; [ 단계 6] 리오그대상파티션이속하는테이블스페이스의 FREE SPACE 를조회하고및파티션의 NEXT 값을조정한다. [ 단계 1] 로부터조정할 next 값을구한다. : 103M ( partition 총크기 ) 60M ( partition initial 크기 ) table 혹은 partition 을 truncate 할경우 minextents 까지만남기고나머지 space 은반환한다. truncate 된파티션이속하는 tablespace 를조회한다. SQL> select tablespace_name from user_tab_partitions 2 where table_name='tbjgba12' 3 and partition_name='sys_p4564'; TABLESPACE_NAME ------------------------------ MJGBA12DATA04 테이블스페이스가가지고있는 free space 를조회한다. SQL> conn systempasswd Connected. SQL> select file_id, (bytes1024)1024 from dba_free_space 2 where tablespace_name='mjgba12data04'; FILE_ID (BYTES1024)1024 ---------- ----------------- 62 50.9921875 1142 4.9921875-11-

변경할 next 값의크기 ( 43M ) 에해당되는 FREE SPACE 가있슴을확인. 만약연속된공간이없으면테이블스페이스를 COALESCE 해보고 ( ALTER TABLESPACE MJGBA12DATA04 COALESCE ) 그래도연속된공간이없으면테이블스페이스를늘려준다.( 단원 4.1 참조 ) SQL> conn nhicadmpasswd Connected. SQL> alter table tbjgba12 storage ( next 43 M ); Table altered. tbjgba12 가 hash partition 이므로앞에서살펴본것과같이테이블 level 에서 next 값을 조정한다. 만약 range,composite 일경우다음과같이파티션 level 에서 next 값을조정하도록한다. ( alter table 테이블명 modify partition 파티션명 storage ( next?m ) ) [ 단계 7] 파티션을 IMPORT 한다. $ imp systempasswd file=sys_p4564.dmp tables=tbjgba12:sys_subp4564 fromuser=nhicadm touser=nhicadm buffer=1048576 ignore=y indexes=n constraints=n log=exp.log Import: Release 8.1.6.3.0 Production on Mon Feb 19 11:10:22 2001 (c) Copyright 1999 Oracle Corporation. All rights reserved. Connected to: Oracle8i Enterprise Edition Release 8.1.6.3.0 Production With the Partitioning option Jserver Release 8.1.6.3.0 Production Export file created by EXPORT:V08.01.06 via conventional path import done in KO16KSC5601 character set and KO16KSC5601 NCHAR character set. importing TEMPUSER's objects into TEMPUSER.. importing partition "TBJGBA12":"SYS_P4564" 660032 rows imported Import terminated successfully without warnings. import 된 total rows 들이 export 시와동일한지살펴본다. [ 단계 8] 파티션의 NEXT 값을원래대로바꿔놓는다. -12-

SQL> alter table tbjgba12 storage ( next 1M ); Table altered. tbjgba12 가 hash partition 이므로앞에서살펴본것과같이테이블 level 에서 next 값을 조정한다. 만약 range,composite 일경우다음과같이파티션 level 에서 next 값을조정하도록한다. ( alter table 테이블명 modify partition 파티션명 storage ( next?m ) ) [ 단계 9] Global Index 들을생성한다. [ 단계 5] 로부터구한 global index 들의정보와아래의 free space 정보를이용해모든 global index 들을생성한다. SQL> conn systemmanager Connected. SQL> select file_id, (bytes1024)1024 from dba_free_space 2 where tablespace_name='mjgba12indx99'; GLOBAL INDEX 들이속하는테이블스페이스 FILE_ID (BYTES1024)1024 ---------- ----------------- 79 1998.945313 734 1998.9921875 761 66.8984375 1019 77.9921875 만약연속된공간이없으면테이블스페이스를 COALESCE 해보고 ( ALTER TABLESPACE MJGBA12DATA04 COALESCE ) 그래도모든인덱스들의 INITIAL 에해당되는연속된공간이부족하면 EXTENT 가최소로발생할수있도록 INITIAL, NEXT 값을적절히지정해준다. GLOBAL INDEX 를생성한다. -13-

양이많으므로 script file 를작성해서작업한다. SQL> conn nhicadmpasswd Connected. create index IX_TBJGBA12_01 on TBJGBA12 (FIRM_SYM asc, UNIT_FIRM_SYM asc) storage ( initial 57M next 2M pctincrease 0 ) logging 하지않음 통계정보생성 create index IX_TBJGBA12_02 on TBJGBA12 (PSTN_BRCH_CD asc, PSTN_TYPE asc) storage ( initial 142M next 2M pctincrease 0) create index IX_TBJGBA12_03 on TBJGBA12 (SANGSIL_BRCH_CD asc, SANGSIL_PSTN_TYPE asc) storage ( initial 84M next 2M pctincrease 0) create index IX_TBJGBA12_04 on TBJGBA12 (CHWIDUK_BRCH_CD asc, CHWIDUK_PSTN_TYPE asc) -14-

storage ( initial 130M next 2M pctincrease 0) create index IX_TBJGBA12_05 on TBJGBA12 (NATION_FINANCE_CD asc) storage ( initial 57M next 2M pctincrease 0) create index IX_TBJGBA12_06 on TBJGBA12 (JUNG_SANGSIL_DT asc) storage ( initial 141M next 2M pctincrease 0) create index IX_TBJGBA12_07 on TBJGBA12 (FIRM_SYM asc, BUSI_OFCE_NO asc, GAIBJA_ DEPT_CD asc) storage ( initial 57M next 2M pctincrease 0) create index IX_TBJGBA12_08 on TBJGBA12 (ARMY_NO_EMP_NO asc) -15-

storage ( initial 57M next 2M pctincrease 0) create index IX_TBJGBA12_09 on TBJGBA12 (JUNG_CHWIDUK_DT asc) storage ( initial 152M next 2M pctincrease 0) create index IX_TBJGBA12_10 on TBJGBA12 (PSTN_BRCH_CD asc, JUNG_SANGSIL_DT asc) storage ( initial 190M next 2M pctincrease 0) create index IX_TBJGBA12_11 on TBJGBA12 (JUNG_NO asc, JUNG_SEQ_NO asc, PSTN_BRCH _CD asc ) storage ( initial 225M next 2M pctincrease 0) 인덱스가많으므로 4 ~ 5 파일정도로나누어서동시에수행시키도록한다. [ 단계 10] Child Table 들의 FK 를맺어준다. -16-

[ 단계 3] 에서삭제한 child table 들의 FK 들을 NOATE 옵션으로다시맺어준다. SQL> alter table tbjgba11 add constraint fk_tbjgba11_tbjgba12_01 Foreign key ( jung_no, jung_seq_no ) references tbjgba12 ( jung_no, jung_seq_no ) novalidate ; Table altered. SQL> alter table tbjgba20 add constraint fk_tbjgba20_tbjgba12_01 Foreign key ( jung_no, jung_seq_no ) references tbjgba12 ( jung_no, jung_seq_no ) novalidate ; Table altered SQL> alter table tbjgca20 add constraint fk_tbjgca20_tbjgba12_01 Foreign key ( jung_no, jung_seq_no ) references tbjgba12 ( jung_no, jung_seq_no ) novalidate ; Table altered SQL> alter table tbjgba20 add constraint fk_tbjgba20_tbjgba12_01 Foreign key ( jung_no, jung_seq_no ) references tbjgba12 ( jung_no, jung_seq_no ) novalidate ; Table altered [ 단계 11] 결과확인 partition extents 확인 SQL> col segment_name format a15 SQL> select segment_name, partition_name, extents from user_segments 2 where segment_name='tbjgba12' and partition_name='sys_p4564'; SEGMENT_NAME PARTITION_NAME EXTENTS --------------- ------------------------------ ---------- TBJGBA12 SYS_P4564 2 index 상태확인 SQL> select index_name, status from user_indexes where table_name='tbjgba12'; -17-

INDEX_NAME STATUS ------------------------------ -------- IX_TBJGBA12_01 IX_TBJGBA12_04 IX_TBJGBA12_07 IX_TBJGBA12_02 IX_TBJGBA12_05 IX_TBJGBA12_10 IX_TBJGBA12_08 IX_TBJGBA12_03 IX_TBJGBA12_06 IX_TBJGBA12_09 IX_TBJGBA12_11 모두유효하다. PK_TBJGBA12 NA SQL> select partition_name, status from user_ind_partitions 2 where index_name = 'PK_TBJGBA12'; PARTITION_NAME STATUS ------------------------------ -------- SYS_P4561 SYS_P4562 SYS_P4563 SYS_P4564 SYS_P4565 SYS_P4566 SYS_P4567 SYS_P4568 SYS_P4569-18-

SYS_P4570 모두유효함. -19-