Как экспортировать статистику Oracle

Я пишу несколько новых SQL-запросов и хочу проверить планы запросов, которые оптимизатор запросов Oracle придумает в производственной среде.

В моей базе данных разработки нет ничего похожего на объемы данных производственной базы данных.

Как я могу экспортировать статистику базы данных из производственной базы данных и повторно импортировать ее в базу данных разработки? У меня нет доступа к производственной базе данных, поэтому я не могу просто генерировать планы объяснений для производства, не обращаясь к сторонней хостинговой организации. Это болезненно. Поэтому мне нужна локальная база данных, которая в некотором роде представляет производственную среду, на которой я могу попробовать разные вещи.

Кроме того, это для устаревшего приложения. Я хотел бы «улучшить» схему, добавив соответствующие индексы. ограничения и т.д.

Сначала мне нужно сделать это в моей базе данных разработки, прежде чем развертывать ее для тестирования и производства.

Если я добавлю индекс и повторно сгенерирую статистику в разработке, то статистика будет генерироваться вокруг объемов данных разработки, что затрудняет оценку влияния моих изменений на производство.

У кого-нибудь есть советы, как с этим бороться? Или это просто случай исправления неожиданного поведения после того, как мы обнаружили его в рабочей среде? У меня есть промежуточная база данных с производственными объемами, но мне снова приходится обращаться к третьей стороне для выполнения запросов к ней, что болезненно. Поэтому я ищу способы максимально исключить посредника.

Все это с использованием Oracle 9i.

Спасибо.


person A_M    schedule 23.03.2010    source источник


Ответы (1)


См. документацию по пакетам DBMS_STATS.EXPORT_SCHEMA_STATS и DBMS_STATS.IMPORT_SCHEMA_STATS. Если у вас нет доступа, вам потребуется, чтобы кто-то с необходимыми привилегиями выполнил экспорт в рабочую базу данных. Если ваше оборудование для разработки значительно отличается от оборудования для производства, вам также следует экспортировать/импортировать системную статистику с помощью процедур EXPORT/IMPORT_SYSTEM_STATS.

После этого не забудьте отключить все задания в базе данных разработки, которые пересчитывают статистику.

person dpbradley    schedule 23.03.2010