Какими способами можно связать базу Oracle (пакеты, триггеры, индексы, структура таблиц и т.д.) с системой контроля версий (GIT, SVN)?
Если речь идет о production-БД, то самый надежный и проверенный временем алгоритм, пожалуй -- следующий:
1. Изменения в БД оформляются в виде т.н. миграций. Движков для реализации SQL миграций -- полно. В простейшем случае, миграция -- это просто набор DDL/DML оформленных в виде, например, SQL-скрипта.
2. Миграции хранятся в VCS. Видно кто какие изменения в них вносил.
3. В продакшне миграции применяются автоматически под контролем DBA, либо руками самого DBA. Роль DBA может выполнять любое ответственное лицо, если у вас в штате не выделено отдельного человека.
4. (бонус) Схема БД в продакшне после каждого применения миграции выгружается в тот же VCS в виде отдельного скрипта и содержит только DDL и справочные данные (пример: данные для наполнения таблицы марок автомобилей, данные для наполнения таблицы стран и т.п.). Это удобно для быстрого развертывания разработческих окружений синхронных с текущей продакшн-схемой БД.
Как-то так.
Если "Основная проблема - выяснить кто поменял конкретный объект базы (были печальные прецеденты). ", то можно повесить триггер на схему и логировать изменения DDL 
CREATE OR REPLACE TRIGGER ddl_log_and_lock_trigger
 AFTER
  CREATE OR ALTER OR DROP
 ON SCHEMA
BEGIN
  .....
END;