В данной статье рассматриваются различные подходы к протоколированию изменений структуры базы данных (БД) и данных, находящихся в БД. Используя возможности СУБД Oracle связанные с созданием DDL триггеров достигается аудит изменения структуры БД. Анализируются различные подходы к аудиту изменения данных и к выбору структуры журнала для сохранения изменений. Завершается статья примерами DDL триггера, пакета для создания журнала и протоколирования изменений.
Заключение
Мы описали подход, который использовали для того, чтобы вести аудит изменений в схеме данных СУБД Oracle. Данный подход с вариациями может применяться в различных СУБД, которые поддерживают DDL-триггеры, т.е. триггеры, реагирующие на изменение структуры схемы данных. Подробно не была освещена реакция триггера при модификации рабочих таблиц, т.е. команды ALTER, этот вопрос можно было бы осветить во второй части статьи. Логическим продолжением данной статьи может являться исследование ведения аудита с клиента, а не СУБД, что позволило бы реализовывать более сложную логику и снизить нагрузку на сервер Oracle.
Список использованной литературы
- Урман, С. Oracle8: Программирование на языке PL/SQL. – М.: Изд-во Лори, 1999. – 607 с.
- Кривонос, Н. Журналирование изменений структуры БД и данных. – URL: http://www.compdoc.ru/bd/sql/log_change_of_structure_bd.
- Finningan, P. Introduction to Simple Oracle Auditing. – URL: http://www.securityfocus.com/infocus/1689.
- Кайт, Т. Эффективное проектирование приложений Oracle. – М.: Изд-во «Лори», 2006. – 637 с.
- Oracle 9i Application Developer’s Guide – Fundamentals. – URL: http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96590/adg14evt.htm.
- Кайт, Т. Триггеры на операторы ЯОД и аудит изменений структуры базы – URL: http://www.ln.com.ua/~openxs/projects/oracle/ora022.html).