DB 관리 TIP

[DB2] 테이블 사이즈/통계실행

mitomi 2021. 6. 4. 23:19
반응형
SMALL

1. 테이블별 사이즈 확인(runstat 실행 후 조회해야 정확함)

 

select  rtrim(substr(tab.tabschema,1,15))||'.'||rtrim(substr( tab.tabname,1,25)) as Table
, rtrim(substr(tab.tbspace,1,15)) as Tablespace
 , tbs.pagesize as Page_sz
 , (case tab.fpages  when -1 then -1  else tab.fpages * tbs.pagesize end) / 1024 as Table_sz_KB
, ((case tab.fpages  when -1 then -1  else tab.fpages * tbs.pagesize end) / 1024 )
  - ((case tab.npages when -1 then 0 else tab.npages * tbs.pagesize end) / 1024) as Waste_KB
from syscat.tables as tab, syscat.tablespaces as tbs
where tab.tbspace =tbs.tbspace and tab.tabname='EMP'

 

2. 통계 RUNSTAT  실행( 서비스중 실행하면안됨...)

-테이블 인덱스 통계실행
$ db2 "runstats on table test.emp and indexes all"

 

3. 테이블스페이스 용량 확인

  select * from sysibmadm.snaptbsp_part  
  select * from sysibmadm.tbsp_utilization

 

4. DB2 일반 계정생성

   - OS 사용자 생성 (/etc/passwd 파일에 계정 생성 확인)

   - db2inst 프로파일 등록(환경설정)

       . echo  "  . /home/db2inst/sqllib/db2profile"  >> .profile
        . . .profile
       echo $DB2INSTANCE
       db2 get instance

  - 권한부여 

     $db2 "grant select on table test.emp to user new_test"

 

   5. 테이블 컬럼 변경 후  reorg 해줘야 테이블 조회가능

    $db2 "alter table emp alter column 사번 set data type char(10);"

    $ db2 reorg table test.emp 

      정상적으로 실행되면..

      DB20000I  The REORG command completed successfully.

 

  6. export/import 

     $db2 "export to emp.del of del messages  emp.msgs select * from emp"
     $db2 "import from emp.del  of del messages emp.msgs insert into emp"

     - 기본구분자 del : 컴마( , )

 

  7. create select table 생성

    create table new_emp like  emp;

 

  8. Load  중 pending 빠졌을경우

    - Load 시 nonrecoverable 명시 안한 경우 해당 테이블스페이스에  Backup Pending  상태 되어 서비스 중지 될 수있음.

       db2 list tablespace :  테이블스페이스로  상태 확인 가능

       해결방법 : 테이블스페이스 백업

       $db2 backup db testdb tablespace test_tbs

    - Load  테이블 상태부터 확인 (normal 로 나와야 정상)

       $db2 load query table test.emp

    - 해결방법 (해당테이블이 정상 작업 종료되었다고 명시해주는 작업)

      $db2 load from /dev/null of del terminate into test.emp

  

728x90