메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

REORG로 RECLAIM을 사용하여 Linux, UNIX 및 Windows용 DB2에서 여유 공간 확보하기

다차원적인 클러스터링 테이블에서 익스텐트 재확보하기

Kayalviszhi Ganesan, 소프트웨어 개발자, IBM
Kayalvizhi Ganesan사진
Kayalvizhi Ganesan은 India Software Lab에서 DB2 Tools 팀의 소프트웨어 개발자이다. 현재는 헬스 모니터, 자동 테이블 재구성 및 자동 백업 관련 작업을 하고 있다. 다른 포럼과 컨퍼런스에서 7개의 논문을 공동 작성하였다. Kayal은 인도 Trichy의 Regional Engineering College에서 전산학 석사 학위를 받았다

요약:  익스텐트 재확보는 정기적인 REORG 조작을 통한 여유 공간 외에도 다차원 클러스터링(MDC) 테이블 내에서 빈 데이터 익스텐트를 사용 가능하게 하는 테이블 재구성의 메소드입니다. 이 기사에서는 MDC 테이블에서 사용하지 않는 익스텐트를 재확보하는 방법을 시연하여 Linux®, UNIX® 및 Windows®용 IBM DB2에서 성능을 극대화합니다. 이 기사에서는 MDC 테이블이 구조화되는 방법에 대한 개요를 다룬 후에 MDC 테이블에서 재확보 가능한 공간의 양을 찾는 방법, 테이블 REORG에 "RECLAIM EXTENTS ONLY" 옵션을 사용하는 방법 및 MDC 테이블에서부터 자동으로 공간을 재확보하도록 DB2를 사용하고 구성하는 방법을 논의합니다.

원문 게재일:  2011 년 6 월 07 일
난이도: 중급 원문:  보기 PDF:  A4 and Letter (131KB | 15 pages)Get Adobe® Reader®
페이지뷰:  1195 회
의견:  


소개

다차원 클러스터링(MDC)은 다차원에 따라 테이블 데이터를 자동으로 클러스터링하기 위한 메소드이다. 이러한 테이블 유형에서 데이터는 각 차원에서 개별 블록으로 실제로 구성된다. 이 기술은 성능을 개선하고, 특히 데이터 웨어하우징 및 온라인 분석 처리(OLAP) 환경 측면에서 데이터 유지보수의 애로사항을 경감해준다.

OLAP 환경에서 스토리지는 매우 중요하다. MDC 테이블에서 데이터를 저장하여 더 신속한 데이터 스캔을 달성하고 디스크 공간을 적게 사용한다.

익스텐트 재확보는 정기적인 REORG 조작 외에도 MDC 테이블 내에서 빈 데이터 익스텐트를 사용 가능하게 만드는 테이블 재구성의 기술이다. 이 기사는 Reclaim REORG 개념의 기능을 논의하고, DB2 v9.7 이후로 자동 Reclaim REORG를 수행하기 위해 DB2에서 자동 테이블 유지보수를 구성하는 방법을 보여준다.

MDC 테이블 구조

MDC 테이블은 테이블 공간에서 페이지의 익스텐트에 각각 상응하는 블록으로 구조화되어 있으며, 여기에서 각 페이지에 데이터의 행이 들어있다.

그림 1과 같이 각 MDC 테이블은 블록의 상태를 추적하는 블록 맵 구조가 들어있다. 각 블록은 상태를 표시하는 블록 맵의 항목이 있다. 어느 블록이나 그 안에 데이터가 있으면 사용 중(InUse)으로 표시된다. 데이터가 없는 블록은 사용 가능(free)으로 표시된다.


그림 1. MDC 테이블 구조
테이블에서 익스텐트가 블록으로 표시된다. 블록 맵은 테이블에서 데이터를 맵핑한다

(그림 1의 확대 이미지 보기.)

블록은 그 안에 모든 레코드가 삭제되면 빈 상태가 된다. 블록 맵에서 블록 항목은 "In Use" 비트를 제거하기 위해 업데이트되고, 익스텐트에서 더 이상 데이터가 없음을 보여준다. 해당 블록의 상태는 Free로 설정된다. 하지만, 익스텐트나 블록은 다른 오브젝트가 재사용하기 위한 테이블 공간으로 돌아가지 않는다. 그 대신에 동일한 MDC 테이블에서 나중에 사용되도록 유지된다.

이전 DB2 버전에서 다른 오브젝트가 재사용하기 위한 테이블 공간으로 이러한 익스텐트를 사용 가능하게 되돌리는 유일한 방법은 기존 오프라인 TABLE REORG 명령을 실행하는 것이었다. 이 조작은 완수하는 데 시간이 매우 오래 걸릴 수 있으며, 동시 액세스를 허용하지 않는다. DB2 V9.7 이상의 경우, REORG는 다른 오브젝트나 동일한 MDC 테이블이 이러한 빈 익스텐트를 향후 사용을 위해 테이블 공간으로 사용 가능하게 되돌리는 새 옵션을 제공한다.


MDC 테이블에서 재확보 가능한 공간의 양

다음 두 가지 방법을 통해 MDC 테이블에서 얼마나 많은 재확보 가능한 공간을 사용할 수 있는지 알아볼 수 있다.

ADMINTABINFO 보기

DB2 9.7에서 ADMINTABINFO 관리 보기에 RECLAIMABLE_SPACE라는 새 열이 있고, 그 값은 REORG 명령의 RECLAIM EXTENT ONLY 옵션을 사용할 때 MDC 테이블에서부터 재확보될 수 있는 공간의 양을 표시한다. 공간은 DMS 테이블 공간에서 MDC 테이블에 대한 킬로바이트 단위이다. 테이블의 다른 유형에 대해 이 열은 값으로 0을 리턴한다.

ADMIN_GET_TAB_INFO_V97 테이블 함수

DB2 9.7에서 DMS 테이블 공간에 MDC 테이블의 재확보 가능한 공간의 양을 알아내기 위해 ADMIN_GET_TAB_INFO_V97 테이블 함수를 사용할 수 있다. 이는 입력 매개변수로 테이블 스키마 이름과 테이블 이름을 사용하여 킬로바이트 단위로 크기를 표시하는 RECLAIMABLE_SPACE라는 출력 열이 있다.

다음 예제는 스키마 RECLAIMSCHEMA 아래 TABLE1이라는 테이블에 대한 재확보 가능한 공간의 양을 포함하여 ADMIN_GET_TAB_INFO_V97을 사용하는 방법을 보여준다.



select RECLAIMABLE_SPACE from table ( SYSPROC.ADMIN_GET_TAB_INFO_V97('RECLAIMSCHEMA',
'TABLE1')) as T

RECLAIMABLE_SPACE
------------------------------------
                        58240
                        
   1 record(s) selected. 
   


MDC 테이블로부터 공간 재확보하기

RECLAIM EXTENTS ONLY는 익스텐트가 특정 MDC 테이블을 독점적으로 사용하지 않게 하고 다른 데이터베이스 오브젝트에 사용 가능하게 만드는 REORG TABLE 유틸리티의 새 옵션이다.

재확보 REORG가 시작하면 사용 가능한 익스텐트를 재확보하기 위해 테이블에서 어느 작업이나 시작하기 전에 커미트를 발행한다. 한 번 재확보된 일부 공간이 생기면 (특정 임계값 달성), 향후 실패의 경우에 작업을 저장하기 위해 커미트를 다시 수행할 것이다. 모든 작업이 완료되면 최종 커미트를 발행하여 사용자에게 다시 리턴할 것이다.

또한 테이블로 다른 트랜잭션에 의한 동시 액세스 레벨을 표시하기 위해 액세스 절을 지정할 수 있는 동안, 익스텐트는 REORG 유틸리티로 재확보된다. 이러한 레벨은 다음과 같다.

  • ALLOW WRITE ACCESS(기본값): MDC 테이블로의 읽기 및 쓰기 액세스를 표시하는 동안, 익스텐트가 REORG 유틸리티로 재확보된다.
  • ALLOW READ ACCESS: MDC 테이블로의 읽기 전용 액세스를 표시하는 동안, 익스텐트가 REORG 유틸리티로 재확보된다.
  • ALLOW NO ACCESS: MDC 테이블로의 액세스가 없음을 표시하는 동안, 익스텐트가 REORG 유틸리티로 재확보된다.

DB2 V9.7 REORG 유틸리티는 다음 세 가지 방식으로 MDC 테이블에서 빈 익스텐트 페이지의 재확보를 지원한다.

  1. 명령행 프로세서에서부터 REORG 명령 실행하기
  2. 애플리케이션 프로그램에서 db2Reorg API 사용하기
  3. 재확보 REORG로 자동 지원

REORG 명령에서 익스텐트 재확보 지원

REORG 명령의 구문은 다음과 같다.



REORG TABLE  <mdc tablename>  RECLAIM EXTENTS ONLY  [Table Partition Clause] 
[ALLOW {WRITE | READ | NO} ACCESS]

다음은 "reclaims extent only"로 REORG 명령을 시연하는 예제이다. 이 명령은 스키마 "RECLAIMSCHEMA" 아래 "TABLE1" 테이블에서 익스텐트를 재확보한다.



REORG TABLE "RECLAIMSCHEM"."TABLE1" RECLAIM EXTENTS ONLY ALLOW WRITE ACCESS

DB20000I  The REORG  command completed Successfully.
 

애플리케이션 프로그래머를 위해 db2ReorgApi에서 익스텐트 재확보 지원

db2Reorg라는 외부 재구성 API는 테이블 또는 인덱스 재구성 중 하나를 수행하기 위해 호출되는 경우를 인식한다. 다음 목록은 db2Reorg API의 매개변수를 보여준다.

 SQL_API_RC SQL_API_FN  db2Reorg ( 
 db2Uint32 versionNumber,
 void * pReorgStruct,
 struct sqlca * pSqlca);

typedef SQL_STRUCTURE db2ReorgStruct
{
  db2Uint32 reorgType;
  db2Uint32 reorgFlags;
  db2int32 nodeListFlag;
  db2Uint32 numNodes;
  SQL_PDB_NODE_TYPE *pNodeList;
  union db2ReorgObject        reorgObject;
} db2ReorgStruct;


DB2 V9.7에서 테이블 REORG 구조는 새 RECLAIM REORG 옵션도 지원한다. DB2REORG_RECLAIM_EXTENTS라는 새 reorg 유형은 db2ReorgStructdb2gReorgStruct 구조에 추가되었다.

DB2REORG_RECLAIM_EXTENTS가 reorgType 매개변수에 대한 값을 제공하면, REORG 유틸리티는 테이블 공간의 빈 익스텐트를 재확보하기 위해 MDC 테이블을 재구성한다.

Reclaim REORG에 대한 자동 지원

DB2는 자동 REORG가 있으며, 이는 v9.7에서부터 DMS 유형의 MDC 테이블에 대한 Reclaim REORG를 지원한다. 자동 REORG는 다음을 통해 제어된다.

  • DB 구성은 AUTO_MAINT, AUTO_TBL_MAINT, AUTO_REORG 값을 전환한다
  • 자동 유지보수 정책

다음 섹션에서 익스텐트 재확보를 위해 자동 reorg에 대한 DB2를 구성하는 방법을 설명한다.

자동 Reclaim REORG에 대한 데이터베이스 구성 매개변수 사용하기

자동 Reclaim Reorg 지원을 위해 데이터베이스 구성 매개변수를 구성할 때 AUTO_REORG(기본값은 OFF임)의 계층구조를 따른다. 이런 이유로 자동 재확보 재구성을 사용하기 위해 AUTO_MAINT, AUTO_TBL_MAINTAUTO_REORG 매개변수는 모두 ON 값이 있어야 한다.

데이터베이스 구성 매개변수를 Configure Automatic Maintenance 마법사 또는 명령행을 사용하여 구성할 수 있다. 데이터베이스 파티셔닝 기능이 사용된 DB2 인스턴스에서 카탈로그 파티션에서 이 명령을 실행해야 한다. 다른 어느 파티션에서 구성 매개변수를 설정하는 것은 영향을 미치지 않을 것이다.

다음 예제는 구성 매개변수를 설정하기 위한 구문을 보여준다.

CONNECT TO <db name>
UPDATE DB CONFIG USING AUTO_MAINT ON AUTO_TBL_MAINT ON AUTO_REORG ON
CONNECT RESET 

이는 다음을 설정할 것이다.

  • 자동 유지보수: (AUTO_MAINT) = ON
  • 자동 테이블 유지보수: (AUTO_TBL_MAINT) = ON
  • 자동 재구성: (AUTO_REORG) = ON

다음 예제는 DB2 명령행 프로세서를 사용하여 이러한 매개변수를 설정하는 방법을 보여준다.

db2   => CONNECT TO REROGDB

Database Connection Information

 Database  server                = DB2/AIX64 9.7.1
 SQL authorization  ID         = KAGANESA
 Local database alias           = REORGDB

db2   =>  UPDATE DB CONFIG USING AUTO_MAINT ON AUTO_TBL_MAINT ON AUTO_REORG ON

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

db2  => CONNECT RESET
DB20000I  The SQL command completed successfully. 

이제 자동 함수와 관련된 데이터베이스 구성 매개변수를 살펴보고, 다음 구성 매개변수를 설정하여 나타난 결과를 확인할 수 있다.

$ db2 "get db cfg for REORGDB" | grep  Automatic 
  Automatic maintenance             (AUTO_MAINT) = ON
  Automatic database backup         (AUTO_DB_BACKUP)  = OFF
  Automatic table maintenance       (AUTO_TBL_MAINT)  = ON
  Automatic runstats                (AUTO_RUNSTATS)  = OFF
  Automatic statement statistics    (AUTO_STMT_STATS)  = ON
  Automatic statistics profiling    (AUTO_STATS_PROF)  = OFF
  Automatic profile updates         (AUOT_PROF_UPD)  = OFF
  Automatic  reorganization         (AUTO_REORG) = ON

$

자동 Reclaim REORG에 대한 정책 구성하기

DB2가 자동 reorg의 수행을 벗어나도록 테이블에서 결정하기 위해 사용하는 자동 유지보수 정책을 구성하고, REORG 명령을 실행할 때에 사용되는 REORG 플래그가 무엇인지 구성할 수 있다. 자동 유지보수 정책을 지정하기 위해 XML을 사용해야 한다. DB2 샘플 디렉토리에서 샘플 파일(예: DB2AutoReorgPolicySample.xml)은 데이터베이스 관리자가 자동 REORG Reclaim을 어떻게 수행해야 하는지 시연한다.

XML 파일은 다음과 같다.

 
<?xml version="1.0" encoding="UTF-8"?>
<DB2AutoReorgPolicy
xmlns="http://www.ibm.com/xmlns/prod/db2/autonomic/config">
  <ReorgOptions dictionaryOption="Keep" indexReorgMode="Offline" 
                        useSystemTempTableSpace="false"
                        reclaimExtentsSizeForMDCTables="128"/>

  <ReorgTableScope maxOfflineReorgTableSize="52" >
     <FilterClause />
 <ReorgTableScope>
</DB2AutoReorgPolicy>

자동 REORG Reclaim은 정책 파일에서 reclaimExtentsSizeForMDCTables 요소를 통해 제어되며, 이는 정책에서 기본값으로 설정된다. 자동 reorg는 DMS 유형의 MDC 테이블에 대해서만 Reclaim REORG를 사용할 것이다. $HOME/sqllib/tmp 디렉토리에서 파일을 작성하여 자체적인 자동화된 유지보수 정책 스펙 XML을 작성할 수 있거나, 데이터베이스에 대한 기존 설정을 검색하여 이를 업데이트할 수도 있다.

다음 단계에서는 데이터베이스에 대한 자동화된 유지보수 정책을 어떻게 검색하는지 보여준다.

  1. 데이터베이스에 연결한다.
  2. AUTOMAINT_GET_POLICY 또는 AUTOMAINT_GET_POLICYFILE를 호출한다. AUTOMAINT_GET_POLICY에 필요한 매개변수는 다음과 같다.
    • 유지보수 유형, 정보를 리턴할 자동화된 유지보수 활동 유형 지정하기
    • BLOB로의 포인터, 여기에 프로시저가 XML 형식으로 자동화된 유지보수 정책 정보를 리턴할 것이다.
    AUTOMAINT_GET_POLICYFILE에 필요한 매개변수는 다음과 같다.
    • 정책 유형, 정보를 리턴할 자동화된 유지보수 활동의 유형 지정하기
    • 파일의 이름, 이는 프로시저가 자동화된 유지보수 정책 정보를 인쇄할 것이다.
    • XML 파일은 UNIX의 경우에 sqllib/tmp 폴더에 저장될 것이다. 그리고 Windows의 경우 Windows 디렉토리의 DB2INSTPROF\<instance name>\TMP에 저장될 것이다.

    지정해야 하는 유지보수 유형은 AUTO_REORG이다.

다음 예제는 AUTOMAINT_GET_POLICYFILE을 어떻게 호출하는지 보여준다.

$ db2 "connect to REORGDB"

   Database Connection Information

 Database server            = DB2/AIX64 9.7.1
SQL authorization ID     = KAGANESA
Local database alias     =  REORGDB

$ chmod 777 $HOME/sqllib/tmp
$ db2 "call SYSPROC.AUTOMAINT_GET_POLICYFILE('AUTO_REORG','reorgpolicy.xml')"


   Return Status = 0
$ cd $HOME/sqllib/tmp
$ cat reorgpolicy.xml
<?xml version="1.0" encoding="UTF-8"?>
<DB2AutoReorgPolicy
xmlns="http://www.ibm.com/xmlns/prod/db2/autonomic/config">

   <ReorgOptions dictionaryOption="Keep" indexReorgMode="Online"   
                            useSystemTempTableSpace="false" />            

   <ReorgTableScope maxOfflineReorgTableSize="0">
        <FilterClause>TABSCHEMA NOT LIKE 'SYS%' </FilterClause>
   </ReorgTableScope>
  </DB2AutoReorgPolicy>

$


데이터베이스에 대한 자동화된 유지보수 정책을 구성하려면 다음을 수행한다.

  1. 데이터베이스에 연결한다.
  2. sqllib/tmp 디렉토리에 새 구성 설정 XML 파일을 작성하고, 그 파일로 읽기 및 실행 권한이 부여되도록 보장한다. 또는 sysproc.automaint_get_polcifyle 저장된 프로시저를 사용하여 위의 단계에서 기존 설정을 다시 결합하는 방식으로 파일을 수정한다.
  3. 고객이 MDC 테이블에서 REORG를 사용하려는 경우, ReorgOptions 요소의 reclaimExtentsSizeForMDCTables 속성을 입력 XML의 임계값으로 지정해야 한다. 이 임계값은 재확보될 수 있는 테이블을 점유하는 여유 공간의 킬로바이트 단위 최소 크기이다. 이 값은 0보다 커야 한다. 예를 들어, 임계값에 1024 KB의 값을 지정하면, 1MB 이상의 여유 공간이 있는 테이블만 자동 REORG Reclaim으로 고려될 것이다.

    reclaimExtentsSizeForMDCTables 설정으로 자동 reorg 정책 XML의 예는 다음 코드에 나와있다. 이 경우에 사용할 수 있는 재확보 가능한 크기는 1024KB보다 크고, 이는 Reclaim REORG 명령을 실행할 것이다.


    <?xml version="1.0" encoding="UTF-8"?>
    <DB2AutoReorgPolicy
    xmlns="http://www.ibm.com/xmlns/prod/db2/autonomic/config">
    <ReorgOptions dictionaryOption="Keep"
    indexReorgMode=”Online”
    useSystemTempTableSpace="false"
    reclaimExtentsSizeForMDCTables ="1024" />
    <ReorgTableScope>
    <FilterClause>TABSCHEMA NOT LIKE 'EMP%' </FilterClause>
    </ReorgTableScope>
    </DB2AutoReorgPolicy>
    

  4. 다음 명령을 사용하여 AUTOMAINT_SET_POLICYFILE을 호출한다.

    AUTOMAINT_SET_POLICYFILE--(--policy_type--,--policy_file_name--)

    아래 예제에서 표시된 것처럼, 필수 매개변수는 다음과 같다.

    • policy_type은 자동화된 유지보수 활동 유형이며, AUTO_REROG로 설정되어야 한다.
    • policy_file_name은 자동화된 유지보수 구성 XML 파일의 위치이다.

     
    $  db2 "call SYSPROC.AUTOMAINT_SET_POLICYFILE('AUTO_REORG','reorgpolicy.xml')"
    
    
    Return Status = 0
    

자동 REORG에 대해 유지보수 창 구성하기

온라인 및 오프라인은 유지보수 창의 두 가지 유형이다. Reclaim REORG는 온라인 유지보수 창 도중에 Autoreorg로 실행되며, 이는 24 X 7의 기본 설정이 있다. 데이터베이스가 기본 설정을 사용하는 중이면 이 단계에서 Reclaim REORG에 대해 수정할 내용이 없다.

다음 AUTOMAINT_GET_POLICYFILE 저장된 프로시저를 사용하여 유지보수 창 설정을 확인할 수 있다.

$ chmod 777 $HOME/sqllib/tmp
$ db2 "call SYSPROC.AUTOMAINT_GET_POLICYFILE('MAINTENANCE_WINDOW',
'mwpolicy.xml')"

Return Status = 0
$ cd $HOME/sqllib/tmp
$ cat mwpolicy.xml

<?xml version="1.0" encoding="UTF-8"?>
<DB2MaintenanceWindows
      Xmlns=http://www.ibm.com/xmlns/prod/db2/autonomic/config >

  <!—Online Maintenance Window  -->
  <OnlineWindow Occurrence="During" startTime="00:00:00" duration="24" >
          <DaysOfWeek>All</DaysOfWeek>
          <DaysOfMonth>All</DaysOfMonth>
          <MonthsOfYear>All</MonthsOfYear>
 </OnlineWindow>
</DB2MaintenanceWindows>
$
 

AUTOMAINT_SET_POLICYFILE 저장된 프로시저를 실행하여 설정을 수정 및 구성할 수도 있다.

데이터베이스에 대한 자동화된 유지보수 정책을 구성하려면 다음을 수행한다.

  1. 데이터베이스에 연결한다.
  2. AUTOMAINT_SET_POLICYFILE 저장된 프로시저를 호출한다.
  3. 다음 코드 예제에 표시된 대로, 다음을 수행하여 AUTOMAINT_SET_POLICY에 대한 매개변수를 설정한다.
    • 정책 유형을 MAINTENANCE_WINDOW로 지정하기.
    • sqllib/tmp 디렉토리에 위치한 유지보수 창 설정 XML 파일의 이름 입력하기.
$db2 "call SYSPROC.AUTOMAINT_SET_POLICYFILE('MAINTENANCE_WINDOW',
'mwpolicy.xml')"

Return Status = 0

$

자동 REORG에서 익스텐트 재확보 메커니즘

reclaimExtentsSizeForMDCTables 옵션이 정책에서 지정되면, 자동 REORG가 DMS 유형의 MDC 테이블에 대해 다음 REORG 명령을 사용한다.

REORG TABLE <MDC table Name > RECLAIM EXTENT ONLY ALLOW WRITE

다음은 MDC 테이블에서 익스텐트를 재확보하는 자동 reorg 작동의 요약이다.

  • 자동 REORG는 익스텐트를 재확보하기 위해 평가와 실행 단계라는 두 가지 단계로 작동한다. 평가 단계는 재구성에 어느 테이블이 필요하고, 이들이 적격한지 여부를 결정하는 책임이 있다. 첫 번째 평가는 데이터베이스 활성화 이후에 두 시간 이내에 발생하며, 그 다음에 매 두 시간마다 발생한다.
  • reclaimExtentsSizeForMDCTables 속성이 정책에서 지정되면, 평가 단계에서 DMS 유형의 MDC 테이블에 대해 사용할 수 있는 재확보 가능한 공간에 따라 REORG가 실행되어야 하는지 여부를 결정한다.
  • 생략할 규칙에 대해 적합하고 FilterClause 요소에서 지정되는 DMS 유형의 MDC 테이블은 평가의 고려 대상이 되지 않을 것이다.
  • 정책에서 FilterClause 요소의 maxOfflineReorgTableSize 속성은 Reclaim REORG를 사용할 때에 DMS 유형의 MDC 테이블에 적용되지 않을 것이다.
  • 자동 REORG의 평가 단계에서 reclaimExtentsSizeForMDCTables 옵션이 사용되면, 이는 ADMIN_GET_TAB_INFO를 사용하여 Reorg Reclaim을 수행할지 여부를 결정한다. 사용할 수 있는 재확보 가능한 공간이 reclaimExtentsSizeForMDCTables를 넘어서면 이는 Reclaim 옵션으로 REORG를 스케줄한다.
  • 자동 reorg의 평가 단계에서 MDC 테이블에 테이블 REORG가 필요하지 않고, 테이블에 CLUS 유형이 아닌 인덱스가 있다는 것을 발견하면, 이러한 인덱스는 REORGCHK_IX_STATS 출력의 결과에 따라 REORG로 고려될 것이다.
  • reclaimExtentsSizeForMDCTables 옵션이 정책에서 지정되지 않으면, DMS 유형의 MDC 테이블은 테이블에 REORG가 필요한지 여부를 식별하기 위해 REORGCHK_TB_STATS를 계속 사용할 것이다.

그림 2의 플로우 차트는 자동 재구성에서 MDC 테이블의 평가 단계를 보여준다.


그림 2. DMS 유형의 MDC 테이블에 대한 Autoreorg 평가 순환
재확보 reorg에 대한 평가 순환

실행 단계는 구성된 온라인 유지보수 창에서 Reclaim 유형 REORG를 수행할 것이다.


결론

이 기사는 DB2 V9.7에서 테이블 재구성의 새로운 재확보 옵션을 어떻게 풀어내는지 보여주었다. DB2의 자동 테이블 유지보수 기능을 사용하여 어떻게 Reclaim REORG를 수행하는지 배웠고, MDC 테이블 내에서 스토리지 공간을 절약하기 위해 RECLAIM EXTENTS ONLY 옵션을 어떻게 사용할 수 있는지도 살펴보았다.


감사의 인사

이 기사를 검토한 Scott Walkty, Michael Feng 및 Beck Tang에 특히 감사의 말을 전하고 싶다.


참고자료

교육

제품 및 기술 얻기

  • DB2 Enterprise 9 무료 시험판을 다운로드하자.

  • 현재는 DB2를 무료로 사용할 수 있다. 커뮤니티용 DB2 Express Edition의 무료 버전인 DB2 Express-C를 다운로드하자. 이 제품은 DB2 Express Edition과 동일한 핵심 데이터 기능과 애플리케이션 빌드 및 전개를 위한 안정적인 환경을 제공한다.

토론

필자소개

Kayalvizhi Ganesan사진

Kayalvizhi Ganesan은 India Software Lab에서 DB2 Tools 팀의 소프트웨어 개발자이다. 현재는 헬스 모니터, 자동 테이블 재구성 및 자동 백업 관련 작업을 하고 있다. 다른 포럼과 컨퍼런스에서 7개의 논문을 공동 작성하였다. Kayal은 인도 Trichy의 Regional Engineering College에서 전산학 석사 학위를 받았다

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=Information Management
ArticleID=678488
ArticleTitle=REORG로 RECLAIM을 사용하여 Linux, UNIX 및 Windows용 DB2에서 여유 공간 확보하기
publish-date=06072011
author1-email=kaganesa@in.ibm.com
author1-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.