2011-04-26 3 views
2

모든 테이블에서 수행 된 select/update/insert/delete 작업 수에 대한 Oracle 및 DB2 데이터베이스 통계를 얻는 방법을 찾고 있습니다. 다른 방법으로 말하자면, 주어진 테이블에서 수행 된 스캔 작업 수와 수정 작업 수를 알고 싶습니다.DB2 및 Oracle의 작업 통계 검색/업데이트

나는 http://msdn.microsoft.com/en-us/library/dd894051%28v=sql.100%29.aspx

에 내가 필요한 이유를 설명대로 MS SQL 서버에서 할, 수는 주어진 테이블에 대한 압축을 적용 할 가치가 있다면 합리적인 통계를 제공하기 때문에 것을 발견했다. 스캔/업데이트 비율이 좋을수록 테이블이 더 좋습니다. 나는 이것이 다른 데이터베이스에서도 마찬가지라고 생각한다.

오라클 및/또는 DB2에서 이러한 통계를 얻을 수 있습니까? 미리 감사드립니다.

답변

1

내 대답은 LUW 플랫폼과는 상당히 다른 엔진 내부 기능을 가진 iSeries (AS/400) 용 DB2 또는 z/OS 용 DB2가 아닌 Linux, UNIX 및 Windows (LUW) 플랫폼 용 DB2 데이터베이스 엔진에 적용됩니다. . 모든 문서 링크 저는 LUW 용 DB2의 참조 버전 9.7을 포함 시켰습니다.

LUW 용 DB2는 무료 버전 DB2 Express-C 제품을 포함하여 모든 버전의 데이터 엔진에서 광범위한 성능 및 사용 통계를 제공합니다. 이 통계의 모음은 system monitor switches이라는 일련의 데이터베이스 엔진 설정에 의해 관리됩니다. 사용자가 탐색하는 통계에는 테이블 모니터 스위치 및 가능한 명령문 및 UOW (작업 단위) 모니터 스위치가 포함됩니다. 이러한 시스템 모니터 스위치가 사용 가능하면 snapshot monitors에서 다양한 성능 게이지 및 카운터의 누적 합계를 검색하거나 SQL 결과 세트와 동일한 스 냄샷 모니터 출력을 표시하는 (SYSIBMADM 스키마에서) administrative SQL views을 선택하여 검색 할 수 있습니다. 스냅 샷 모니터는 백그라운드로 추적으로 실행되고 상세한 정보 스트림을 특수 테이블 또는 파일에 저장하는 event monitors보다 시스템 오버 헤드가 적습니다.

압축은 테이블 스페이스와 버퍼 풀 (RAM 캐시)에서 트랜잭션 로그 파일까지 테이블과 인덱스의 내부 스토리지를 변경하는 licensed feature입니다. 대부분의 경우 압축 및 압축 해제의 추가 CPU 오버 헤드는 전체 I/O 감소로 상쇄됩니다. deep row compression feature은 열 경계를 교차 할 수있는 다중 바이트 패턴의 12 비트 사전을 작성하고 사용하여 테이블의 행을 압축합니다. 테이블에 대한 깊은 행 압축을 사용하면 DBA가 개입하기 전에 일반적으로 테이블 크기를 40 % 이상 줄입니다. 인덱스는 현재 인덱스 키와 이전 인덱스 키 사이의 공통 선행 바이트를 생략함으로써 정렬 된 특성을 활용하는 속기 알고리즘을 통해 compressed입니다.

3

오라클에서는 sys.dba_tab_modifications의 테이블에 얼마나 많은 업데이트/삭제/삽입이 있었는지 확인할 수 있습니다. 데이터는 4 시간마다 테이블로 플러시됩니다. 읽으려면 AWR의 일부인 dba_hist_seg_stat를 사용할 수 있습니다. 이 사용은 라이센스가 부여됩니다. sys.dba_tab_modifications는 테이블이 새로운 옵티 마이저 통계를 얻으면 재설정됩니다.