높은 스토리지 사용량 진단 및 해결
이 문서는 Db2 Warehouse on Cloud 시스템의 스토리지 사용량을 진단하고 필요한 경우 이를 줄이는 방법을 설명합니다.
스토리지 사용량 확인
admin
사용자로 다음 SQL 조회를 실행하여 Db2 Warehouse on Cloud 인스턴스의 모든 Db2 파티션에서 현재 스토리지 사용량을 확인하십시오.
db2 "SELECT DBPARTITIONNUM , ROUND((SUM(FS_USED_SIZE) / SUM(FS_TOTAL_SIZE)::DECFLOAT) * 100,2) AS UTILIZATION_PERCENT, ROUND(( SUM(FS_TOTAL_SIZE) - SUM(FS_USED_SIZE)::DECFLOAT) / 1073741824,2) AS FREE_GB FROM TABLE(ADMIN_GET_STORAGE_PATHS(NULL,-2)) AS T WHERE STORAGE_GROUP_NAME NOT LIKE '%TEMP%' GROUP BY DBPARTITIONNUM ,CASE WHEN DBPARTITIONNUM = 0 THEN 'NP' ELSE 'P' END"
높은 스토리지 사용량의 가능한 원인은 두 가지입니다.
- 시스템에 연결된 스토리지가 최대 용량에 도달했습니다.
- 재확보해야 하는 디스크에 빈 공간이 있습니다.
진단 및 해결
이전 SQL 조회의 출력에 인스턴스의 스토리지 사용량이 높다고 표시되는 경우 다음 단계는 이 시나리오를 진단하고 해결하는 데 도움이 됩니다.
-
admin
사용자로 다음 SQL 조회를 실행하여 인스턴스에 재확보 가능한 공간이 있는지 확인하십시오.db2 "SELECT SUBSTR(TBSP_NAME, 1,30) AS TBSP_NAME, SUM(TBSP_USED_PAGES * TBSP_PAGE_SIZE)/ 1073741824 AS TBSP_USED_SIZE_GB, SUM((TBSP_PENDING_FREE_PAGES+ tbsp_free_pages) * TBSP_PAGE_SIZE)/ 1073741824 AS FREE_OR_PENDING_GB FROM TABLE(MON_GET_TABLESPACE('',-2)) where TBSP_NAME not like '%SYS%' and TBSP_NAME not like '%TEMP%' and RECLAIMABLE_SPACE_ENABLED = 1 and (TBSP_PENDING_FREE_PAGES+ tbsp_free_pages) >= 1 GROUP BY TBSP_NAME ORDER BY 3 DESC" ```1. 데이터가 Db2 파티션에서 매우 왜곡된 경우, 하나 이상의 Db2 파티션이 거의 가득 찼지만 다른 Db2 파티션에 여전히 상당한 용량이 남아 있음을 의미하는 경우에는 [MPP 데이터베이스에서 테이블에 대한 해시 분산 키 선택하기](https://www.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.doc/learn_how/choosing_dist_key_mpp.html){: external}을(를) 참조하십시오.
-
하나 이상의 테이블스페이스에 재확보 가능한 공간이 있는 경우 다음 단계를 완료하여 해당 공간을 재확보하십시오.
온라인 백업 중에는 공간을 재확보하지 마십시오. 재확보 작업은 진행 중인 워크로드의 성능에도 영향을 미칠 수 있으므로 사용량이 적은 시간에 다음 단계를 실행하는 것이 가장 좋습니다.
a. 온라인 백업이 실행되고 있지 않은지 확인하십시오.
db2 "SELECT MEMBER,SUBSTR(UTILITY_DETAIL, 1, 150) AS CMD FROM TABLE(MON_GET_UTILITY(-2)) AS T"
{: codeblock}b. 이전 단계에서 생성된 목록의 모든 테이블스페이스에 대해 다음 명령을 실행하여 사용되지 않은 공간을 재확보하십시오.
db2 alter tablespace <tablespace_name> reduce max
-
재확보할 수 있는 디스크 공간이 없는 경우 데이터베이스 안정성을 보장하기 위해 원치 않는 데이터를 제거하거나 Db2 Warehouse on Cloud 인스턴스의 스토리지를 확장해야 합니다.