Часто задаваемые вопросы по OpenEdge RDBMS
IX. Мониторинг базы данных
77. Что такое VST?
Виртуальные системные таблицы (Virtual system tables – VST’s) – это фиктивные таблицы, которые отображают различные структуры данных в разделяемой памяти и позволяют представить эти данные в виде обычных таблиц так, что вы можете видеть их содержимое. Каждая из этих фиктивных таблиц имеет один фиктивный индекс. Вы можете строить запросы к этим таблицам так же, как к реальным таблицам, используя 4GL или SQL, но вы не можете их изменять.
Эти структуры данных содержать большое количество полезной информации о том, что происходит в базе данных. Они описаны в руководстве «OpenEdge Data Management: Database Administration», в главе Reference.
78. Что делает команда proutil updatevst?
Иногда, при выпуске нового сервис пака, вносятся изменения или улучшения в виртуальные системные таблицы, например, часто добавляются новые таблицы. Определения всех виртуальных системных таблиц хранятся в базе данных в таблицах схемы. Команда updatevst программы proutil обеспечивает актуализацию этих определений и их соответствие исполняемым программам OpenEdge и структурам в разделяемой памяти.
Вы должны выполнить команду proutil updatevst для всех ваших баз данных, в том случае, когда документация к сервис паку требует этого. Если вы выполните эту команду, когда этого не требуется, ничего страшного не случится.
79. Почему я должен изменить параметр VST tablerange в моей базе данных?
Потому что значение диапазона таблиц по умолчанию (от 1 до 50) установлено малым, чтобы ограничить объем разделяемой памяти, используемой для статистики по таблицам и индексам. Конфигурационный параметр -tablerange используется для указания количества таблиц, для которых сохраняется статистика использования. Значение по умолчанию, вероятно, не включает все ваши таблицы. Аналогичные рассуждения применимы и к статистике использования индексов.
Заметим, что излишне большое значение конфигурационного параметра -n в комбинации со статистикой использования таблиц и индексов по пользователям может использовать большой объем разделяемой памяти.
80. Как я могу узнать, какие индексы устарели?
Взгляните на статистику использования индексов, после того как ваше приложение поработает достаточно долго, чтобы все его функции были использованы. Или, в среде разработки, выполните ваш набор тестов и посмотрите статистику после этого.
81. Как можно увидеть скрытые файлы на сервере базы данных?
В Linux и UNIX, используйте программу fuser, чтобы увидеть, какие файлы открыты, и программу lsof, чтобы увидеть открытые файлы процесса.
В Windows, используйте инструменты Microsoft sysinternals. В этом наборе имеется инструмент, который называется «handle», он покажет, какие файлы открыты, и какой процесс их использует. Он также может показать список файлов, открытый конкретным процессом. Если у вас еще нет этих инструментов, воспользуйтесь Google или другой системой поиска, чтобы найти и установить их.
82. Как определить, какая часть моих экстентов используется?
Следующая короткая программа на ABL (автор – Дмитрий Левин) рассчитывает суммарное пространство под «ватерлинией» (high-water mark) для всех областей данных:
define variable dbhw as decimal no-undo. for each _AreaStatus where ( not _AreaStatus-Areaname matches "*After Image Area*" ) no-lock: if _AreaStatus-Areanum <> 3 then dbhw = dbhw + _AreaStatus-Hiwater. end. find first _DbStatus no-lock. display "DB Size" (dbhw * _DbStatus._dbstatus-dbblksize) / 1073741824 " GB".
«High-water mark» – это наибольший использованный блок данных. Для каждой области данных он свой. Любые блоки выше него являются пустыми и не содержат данных. Программа резервного копирования OpenEdge включает в копию все блоки ниже этого блока для каждой области данных.
83. Какие инструменты для мониторинга баз данных доступны?
Следующие инструменты доступны от Progress Software:
- promon
- Virtual System Tables и немного программирования на 4GL (детальные примеры извлечения данных из виртуальных системных таблиц можно найти в исходных текстах инструмента protop от Тома Бэскома).
- OpenEdge Explorer
- OpenEdge Management
Следующие инструменты доступны от различных партнеров:
- protop от Тома Бэскома (Tom Bascom, dbappraise.com/protop.html)
- vst dashboard от White Star (wss.com/products)
- ProMonitor от BravePoint (www.bravepoint.com)
Если вам известен инструмент (платный или бесплатный), который должен быть упомянут здесь, дайте нам знать, и мы включим его в список.