Oracle загружается через пару часов после запуска - PullRequest
0 голосов
/ 25 сентября 2008

Мы используем Oracle в качестве внутренней базы данных для нашего продукта. Я провел серию стресс-тестов в нашей системе и начал замечать, что oracle намного быстрее сразу после перезапуска базы данных. Со временем (пару часов или около того) база данных, кажется, становится все медленнее и медленнее, и я буду видеть машину базы данных под большим напряжением.

Выполняя тест сразу после перезапуска оракула, я увижу среднюю загрузку в 5 минут или около того, а средний процессор около 10-15%. Через несколько часов я вижу среднюю загрузку в 13 и процессор на 40-70%. (Это Red Hat Linux 2x Quad Core Xeon, Raid 10 10K RPM дисков SAS).

Моей первой мыслью было, что транзакции базы данных не будут выполняться быстрее, потому что эти запросы кэшируются?

Я не могу понять проблему.

EDIT: Оказывается, это проблема со стороны программного обеспечения из-за плохого дизайна. Каждое действие в системе создает новую вставку, удаление и выбор. Все эти уникальные запросы генерировались, и то, что кэшировалось, постоянно менялось. Пик, о котором я говорю, - это когда кеш запросов заполняется.

Ответы [ 7 ]

1 голос
/ 27 сентября 2008

Я заметил, что с Oracle 10g Oracle планирует задание для автоматического вычисления статистики каждый день. Возможно, вы захотите посмотреть ваши активные сеансы, когда база данных занята, и посмотреть, занят ли фоновый сеанс, вычисляя статистику по вашим таблицам.

1 голос
/ 25 сентября 2008

Какую версию оракула вы используете? У вас есть statspack или AWR? если вы это сделаете, отметьте их, чтобы показать, что база данных делает со временем.

0 голосов
/ 17 июля 2009

Прекрасный пример для аналитика RAC, такого как я, который несколько раз отказывался от RAC, но никогда не знал, что с ним произошло. Теперь я использую предложенный метод. Действительно, у Oracle много скрытых функций, или я менее обучен, или мне нужно больше узнать об этих

0 голосов
/ 02 октября 2008

Добавить в список информации необходимо следующее:

Используете ли вы архивные журналы? Сколько у вас есть групп журналов повторов? Сколько журналов повторов в каждой группе? Насколько велики журналы повторов?

Как вы перезапускаете Oracle? Вы просто делаете немедленное завершение работы с последующим запуском? Вы перезагружаете сервер?

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

Завершение работы и перезапуск oracle приведет к тому, что журналы повторов будут записаны в архивные журналы и будут свежими и готовыми к работе после запуска резервного копирования. Затем, когда они заполняют информацию о возврате, вы попадаете в узкое место, когда приходит время их архивировать.

Отчет AWR действительно был бы наиболее полезен, если вы используете Oracle 10g. Если вы используете 9i, тогда statspack эквивалентен.

Запуск отчета AWR

Войти в sqlplus

sqlplus <sys or system user>/<password>@<SID>

Создание снимка статистики «до»

SQL> execute dbms_workload_repository.create_snapshot

Выполните ваши конкретные тесты производительности / нагрузки

Создание снимка статистики «после»

SQL> execute dbms_workload_repository.create_snapshot

Создание отчета о репозитории рабочей нагрузки

SQL> start awrrpt

Используя отчет AWR, вы сможете определить, где находится ваше узкое место.

0 голосов
/ 02 октября 2008

Итак, после перезагрузки и повышения производительности снова вы сбрасываете данные или сохраняете их? Вам нужно запустить statspack / AWR / ADDM / OEM, чтобы получить больше информации о том, что происходит.

Поскольку вы не опубликовали никакой подробной диагностической информации, я так понимаю, вам нужно начать изучение азбуки в первую очередь. См. Руководство по настройке производительности Oracle 10.2

0 голосов
/ 26 сентября 2008

Это может быть проблема с подкачкой базы данных SGA на диск. Проверьте размер SGA и PGA по сравнению с размером оперативной памяти.

Вам необходимо предоставить больше информации о версии Oracle и Red Hat (например, У меня возникли проблемы с производительностью Oracle 9i и Red Hat Enterprise Linux 3.x с объемом оперативной памяти 4 ГБ или более, которые исчезли при обновлении до Red Hat 4.x и Oracle 10g)

0 голосов
/ 25 сентября 2008

Вы уверены, что стресс-тест выпускает сеансы, которые он использует? Накопление сеансов, а затем последующее время этих сеансов может привести к такому поведению.

Перенес этот запрос из комментариев в текст моего ответа на запрос ...

select
  username,
  osuser,
  lockwait,
  status,
  sql_text
from
  v$session,
  v$sqltext
where
  username is not null
and
  username not in ('SYSMAN','DBSNMP')
and
  hash_value = sql_hash_value
order by
  username,
  hash_value,
  piece;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...