Модуль DB Analysis
 
	
Для анализа фрагментации, использования блоков (block utilization) и scatter factor, вам необходимо сначала запустить proutil dbanalys относительно промышленной базы данных и сохранить результат его работы. Общий синтаксис этой команды следующий:
 proutil dbname -C dbanalys > dbname.stats 
Обратите внимание на то, что модуль DB Analysis корректно работает только с результатами dbanalys, т.е. tabanalys или idxanalys здесь не приемлем. Файл dbname.stats, из примера выше, будет использоваться далее для описания работы с модулем.
 
Для интерактивной загрузки файла dbname.stats в базу данных ProMonitor необходимо сделать следующее:
 
  
    - из основного меню выбрать DB Analysis -> Load Data
 
    - ввести имя базы данных
 
    - ввести путь и имя файла, содержащего dbanalys (в нашем случае dbname.stats)
 
    - немного подождать, пока данные не будут загружены в базу ProMonitor.
 
   
 
Для загрузки dbname.stats в фоновом (batch) режиме, необходимо выполнить следующую команду:
 mbpro dbname –p dbanal.p –param “dbanalys_dbname,dbname.stats” 
здесь, “dbanalys_dbname” это имя базы данных, соответствующее имени введенному в базе ProMonitor, не нужно указывать полный путь.
 
Любые ошибки, возникшие в процессе работы этой программы, будут записаны в файл с именем dbanal.log.
 
Так же существует не поддерживаемая программа с именем loaddba.p, которая позволяет загружать dbanalys для всех баз данных за один раз. Для детального изучения ее работы, смотрите исходный код этой программы.
 
Если вы получили какие-либо ошибки во время загрузки данных, то это может быть причиной одной из следующих проблем:
 
  
    - есть несколько ошибок (bugs) в proutil dbanalys, которое ProMonitor не может обнаружить.
 
    - загружается tabnalys или idxanalys вместо dbanalys.
 
   
 
Для получения отчетов по базам данных существует несколько специальных пунктов меню.
 
DB Analysis -> Table Analysis Report
 
  Этот отчет отображает информацию о таблицах базы данных которая может сортироваться по следующим значениям:
  
  
  
  
  
  
   
  
    
      - имя таблицы
 
      - общее количество записей в таблице
 
      - общее количество байт в таблице
 
      - минимальный размер записи
 
      - максимальный размер записи
 
      - средний размер записи
 
      - процент фрагментации (пример экрана ниже, это старый вариант, который фактически отображает Fragmentation Factor из dbanalys)
 
      - Scatter factor
 
      - Номер области (Area number)
 
     
    
       
      
       
     
   
  Так же, для облегчения восприятия информации, вы так же можете установить пороговое значения (поле Threshold), для фильтрации данных. Можно ввести ограничение по минимальному количеству записей в таблицах. Обычно просматриваются таблица с записями от 50 000 – 100 000 и имеющие Scatter Factor равный 4 и выше. Для поиска предыдущего dbanalys, вы можете использовать клавиши F5/CTRL-G в поле Date.
  
  
  
  
  
  
   
  
  
     
   
 
DB Analysis -> Index Analysis Report
 
  Этот отчет отображает состояние индексов базы данных, и может сортироваться по следующим данным:
  
  
  
  
  
  
   
  
    
      - имя индекса
 
      - количество полей в индексе
 
      - количество B-tree  уровней в индексе
 
      - общее количество блоков в индексе
 
      - общее количество байт в индексе
 
      - процент использования (percent utilization)
 
      - коэффициент (factor).
 
     
     
     
   
  Для облегчения восприятия информации, вы так же можете установить пороговое значения (поле Threshold), для фильтрации данных. Можно ввести ограничение по минимальному количеству индексных блоков. Обычно просматриваются индексы с количеством блоков от 1 000 – 5 000 и имеющие процент использования менее 50%. Для поиска предыдущих результатов dbanalys, вы можете использовать клавиши F5/CTRL-G в поле Date.
  
  
  
  
  
  
   
  
  DB Analysis -> Block Analysis Report
   
  
    Этот отчет содержит различную информацию, которая содержится в dbanalys, такую как:
    
    
    
    
    
    
     
    
      
        - общее количество индексных блоков
 
        - общей процент использования индексных блоков
 
        - общее количество блоков данных (RM)
 
        - общие процент использования RM – блоков
 
        - общее количество блоков в базе данных
 
        - общее количество Empty – блоков
 
        - общее количество Free – блоков.
 
       
       
       
     
    Для выбора информации между датами, используйте клавиши F5/CTRL-G.
    
    
    
    
    
    
     
    DB Analysis -> dbanalys Info
     
    Отображается список загруженных dbanalys, содержащий время старта и время окончания запуска каждого из них. Поскольку чем больше фрагментирована база данных, и чем больше разброс (scattered) данных, тем дольше будет формироваться dbanalys. Увеличение времени формирования может способствовать решению о перезагрузки (dump/load) данных. Так же отчет отображает количество таблиц и индексов в базе данных  и их соотношение (поле Index:Table Ratio). Это позволяет идентифицировать “under-indexed” базы данных.
    
    
    
    
    
    
     
    
    DB Analysis -> Size Summary
     
    
      Отчет отображает итоговую информацию по таблицам и индексам относительно конкретного загруженного dbanalys. А именно:
      
      
      
      
      
      
       
      
        
          - общее количество записей (по таблицам и в общем)
 
          - общее количество байт (по таблицам и в общем)
 
          - общее количество индексных байт( по таблицам и в общем)
 
          - общее количество байт в записях и индексах (по таблицам и в общем)
 
          - общее количество индексов (по таблицам и в общем)
 
         
         
         
       
      Для выбора варианта dbanalys используйте клавиши F5/CTRL-G в поле Date.
      
      
      
      
      
      
       
      DB Analysis -> Table Analysis Comparison
       
      Отображается изменение размера таблиц между двумя сравниваемыми dbanalys. Сортировка может быть выполнена по самому большому или по самому маленькому приросту. Для выбора необходимых dbanalys используйте клавиши F5/CTRL-G в поле Date.
      
      
      
      
      
      
       
      DB Analysis -> Record Fragmentation Report
       
      Этот отчет дополняет отчет о Fragmentation Factor. Фрагмент, это запись разделенная на две и более частей. А это означает, что для чтения записи необходимо несколько обращений к диску. Отчет показывает как много раз выполнялось избыточное считывание (excess I/O) из-за фрагментированных данных. Заметьте, что эти данных не основываются на dbanalys, и базируются на фактическом I/O при считывании записей.
      
      
      
      
      
      
       
      
      
         
       
     
    DB Analysis -> Index/Table Ratio Report
     
    Отчет показывает соотношении индексов и таблиц в базе данных. Плохо проиндексированная база данных будет иметь низкие коэффициенты (обычно менее 3:1), что может являться причиной плохой производительности.
    
    
    
    
    
    
     
    
    Примечание. Можно было бы сделать функцию формирования dbanalys из меню ProMonitor, но это не было сделано, потому что в основном dbanalys рекомендуется выполнять когда система минимально используется, т.к. его формирование вызывает серьезную нагрузку. Поэтому, с целью сохранения производительности системы, рекомендуется формировать dbanalys на копии базы данных
    
    
    
    
    
    
     
    
   
 
	
  
 
 
		  |