В настоящее время мне поручено разработать план действий по мониторингу активности БД, охватывающий общие действия (неудачные попытки входа в систему и т. Д.) С более тонким мониторингом (например, кто выбрал из таблицы x, какой был оператор SQL и т. Д.)
В ходе исследования того, что можно сделать, простое включение и настройка аудита БД Oracle, казалось, удовлетворило большинство (если не все) требований, хотя и с оговоркой, что производительность необходимо тщательно продумать)
Но в идеале я хотел бы вернуться с несколькими предложениями для обсуждения, другими моими мыслями было бы создать триггеры для таблиц и отправить их в какую-нибудь другую схему аудита, но это попахивает изобретением колеса заново.
Поэтому мне было интересно, есть ли у кого-нибудь опыт в этой области и мог ли он указать направление дальнейшего чтения / предложений по любым другим жизнеспособным альтернативам.
Ваше предостережение о том, что производительность необходимо будет тщательно контролировать, будет верным независимо от решения, которое в конечном итоге будет принято. Суть в том, что процесс сбора и сохранения данных аудита будет стоить вам ресурсов (ввода-вывода, ЦП, хранилища и т. Д.).
Вы заявляете, что встроенный аудит Oracle удовлетворяет больше всего, если не всем вашим требованиям. Почему нужно рассматривать альтернативу? Подумайте о том, что Oracle потратила значительные усилия на оптимизацию аудита людьми, знакомыми с внутренним устройством Oracle. Я серьезно сомневаюсь, что у большинства организаций есть ресурсы, чтобы сделать это лучше. Если вы используете собственное решение или даже пользуетесь каким-либо сторонним решением, будьте ОЧЕНЬ готовы к тому, что ваша организация будет поддерживать аудит, а не аудит, поддерживающий вашу организацию.
Если бы это был я, я бы рекомендовал использовать встроенную технологию и, если необходимо, создать что-то собственное, что отвечало бы вашим требованиям, которые Oracle Auditing не удовлетворяет. Вы также можете подумать, насколько на самом деле важны такие требования.
Тем не менее, существует ряд сторонних инструментов. А быстрый поиск в Google дает несколько возможностей. Я заметил, что один (DB Tools for Oracle) работает, генерируя для вас триггеры.
Если вы можете сделать это с помощью команды AUDIT, я бы придерживался ее. Маловероятно, что вы сможете добиться повышения производительности с помощью триггеров.
Однако, если вам нужно больше функций AUDIT, вы можете изучить Детальный аудит. Он предлагает более широкий набор правил и функций для аудита. Что касается Oracle 11g, это Особенность Entreprise Edition.