Обычная практика - позволить изменениям проходить процесс сборки.В основном ... есть инструмент контроля версий, такой как CVS, где пользователи регистрируют изменения, которые необходимо выполнить в средах QA и Prod.
Итак ... скажем, в таблицу добавлено несколько столбцовразработчик проверяет сценарий .ddl с помощью команды «Изменить таблицу ...», и он будет «применен» к базе данных при следующем построении.
Если вы не ограничите пользователей (вв этом случае ... Разработчики) не могут напрямую вносить изменения и вместо этого использовать стандартный процесс сборки, отслеживание изменений объектов практически невозможно с течением времени.
Примите во внимание необходимые детали, такие как пользователь, который внес изменение, время изменения, причину (комментарии при регистрации, номер ошибки, запрос новой функции и т. Д.), Которые понадобятся вам позже, чтобы понять, почему было внесено изменение.Все изменения обычно компилируются с использованием стандартного пользователя, такого как «APPOWNER», и при отсутствии системы контроля версий у вас есть доступ только к последним изменениям (last_ddl_change).
Если вы хотите отслеживать изменения вДанные, вы можете использовать триггеры или приложение, такое как Golden Gate, которое будет читать журналы повторов и получать записи изменений.Судя по вашему Вопросу, похоже, что вы ищете способ отслеживать изменения объекта.