Work/altibase

테이블별 사용 메모리 보기

승수 2009. 9. 4. 10:20
알티베이스가 메모리 디비이다 보니 메모리가 다 차면 데이터가 안들어 가죠....

테이블별 메모리 보는 쿼리 입니다.

/***************************************
메모리 테이블의 사용 정보를 조회

TABLE_OID : 테이블 객체 아이디
TABLE_NAME : 테이블명
SLOT_SIZE : 슬롯 크기
ALLOC_BYTE : 해당 테이블에 할당된 크기
USED_BYTE  : 현재 사용중인 크기 
EFFICIENCY : 활용률
***************************************/

CREATE OR REPLACE VIEW ADM_MEMTBL AS
SELECT
    A.TABLE_OID TABLE_OID,
    C.USER_NAME||'.'||B.TABLE_NAME TABLE_NAME,
    A.MEM_SLOT_SIZE SLOT_SIZE,
    FIXED_ALLOC_MEM+VAR_ALLOC_MEM ALLOC_BYTE,
    FIXED_USED_MEM+VAR_USED_MEM USED_BYTE,
    ROUND( (FIXED_USED_MEM+VAR_USED_MEM)/(FIXED_ALLOC_MEM+VAR_ALLOC_MEM)*100,2) EFFICIENCY
FROM        V$MEMTBL_INFO A ,SYSTEM_.SYS_TABLES_ B, SYSTEM_.SYS_USERS_ C
WHERE       A.TABLE_OID = B.TABLE_OID AND B.USER_ID = C.USER_ID
AND C.USER_ID != 1
AND B.TABLE_TYPE = 'T'
ORDER BY TABLE_NAME;


select b.table_name, a.FIXED_ALLOC_MEM,a.FIXED_USED_MEM     from v$memtbl_info a, system_.sys_tables_ b
where a.table_oid=b.table_oid;