2017-02-08 5 views
0

Немного фона, на котором мой вопрос исходит: у моей компании есть несколько баз данных по всему миру, в которых используется одна и та же схема, и один раз от ответственности моего отдела - следить и следить за тем, чтобы все эти БД находятся в синхронизации с перспективой изменения схемы.SQL-код Push, отслеживание и аудит

Теперь мой вопрос, если кто-нибудь знает какой-либо программного обеспечения/инструмент, который имеет аа Frontend UI, который в состоянии сделать следующее (меньшее число более важно иметь):

  1. Возможность отслеживать то, что В базу данных и когда была применена замена кода SQL. В принципе, если мы напишем SQL-запрос, который изменил структуру таблицы, и нам нужно, чтобы он применялся на 80% или 100% процентов БД, либо с помощью ручного ввода, либо с некоторой автоматической проверки, инструмент скажет мне, что да, это действительно применяется.
  2. Инструмент распределения кода: мы даем ему запрос или файл, который содержит код, и он может нажать на нужные ему базы данных (и создать для него журнал аудита)
  3. Репозиторий кода/объекта: отслеживает то, что было разработано специально и вдавлено в базы данных

Я знаю, что SSIS может выполнять некоторые из этих функций, но нам нужен инструмент, который также имеет простой интерфейс интерфейса, к которому можно получить доступ не ИТ-персонал. (* уточнение: мы не планируем предоставлять людям, не принадлежащим к DBA, доступ к изменениям, только к аспекту аудита упомянутого инструмента)

Я пробовал искать в Интернете, но у меня такое чувство, что я не использую правильный словарный запас, чтобы получить результаты, которые я ищу.

Следовательно, я хотел узнать, знает ли сообщество о любом таком инструменте или чем-то подобном?

+0

Моя первая мысль заключается в том, что я хотел бы уволить любого, кто хотел бы, чтобы специалисты по не-базам данных (за исключением персонала команды профессионального сборщика) могли вносить изменения базы данных в базу данных. Если вы не являетесь администратором базы данных, вы не должны иметь права на подобные действия. – HLGEM

+0

Верно, и мы не планируем давать этот вариант. это тем более, что они могут получить доступ с точки зрения аудита. Кроме того, даже для нас, которые являются администраторами баз данных, учитывая, что у нас есть множество других обязанностей, мы не хотим, чтобы их увязли, разработав какой-нибудь программный инструмент, который делает это через DB Links или что-то в этом роде. Следовательно, мы предпочитаем находить что-то, что имеет пользовательский интерфейс, чтобы сделать вещи более прозрачными и видимыми. – EkeshOkor

ответ

1

Попробуйте найти один из этих двух типов систем:

  1. релиз/сборки/развертывания Автоматизация Комплексные программы, такие как Серена, которые имеют модули для толкания, отслеживания и аудита любой вид программного обеспечения, в любом месте. Они будут включать в себя все колокола и свистки GUI. Но вам придется иметь дело с дополнительными базами данных, конфигурацией, агентами, рабочими процессами, консультантами (?) И т. Д. Эти программы больше ориентированы на разработчиков.
  2. Управление удаленным выполнением/конфигурацией Простые программы, такие как Salt, Fabric и Ansible, которые позволяют запускать команды операционной системы в любом месте. Они не предлагают столько функций, и вам нужно выполнять большую часть работы самостоятельно, но в некотором роде это освобождает. Если вы точно знаете, какие команды вы хотите запустить, вам не нужна какая-то другая программа, держащая вас за руку. Эти программы больше ориентированы на администраторов.

С точки зрения администратора базы данных зрения, основная проблема с этими типами программ является то, что ни один из них не реляционную. Да, они могут подключаться к базе данных и запускать скрипт, но ни один из них не говорит на SQL. Их родными языками являются Java, XML, SSH и т. Д. В этих технологиях нет ничего плохого, но если вы заботитесь только о базах данных, вы не хотите иметь дело со всей этой сложностью.

Если вас не устраивает ни один из этих типов программ, я рекомендую вам посмотреть на мою программу с открытым исходным кодом Method5. Это удаленная программа выполнения, созданная как расширение для Oracle SQL.Он полностью работает внутри базы данных Oracle, поэтому вы можете установить его самостоятельно и не нуждаетесь в дополнительных веб-сайтах, агентах, конфигурационных файлах, графических интерфейсах и т. Д.

Основываясь на ваших комментариях о том, как увязнуть ссылки и my answer to your question about half a year ago, Я думаю, что это та программа, которую вы постепенно направляли на создание. Для моей команды потребовалось несколько тысяч часов разработки и тестирования, чтобы все было правильно, поэтому вы, вероятно, были мудрыми, чтобы отказаться от своих собственных.

Чтобы конкретно ответить на ваши требования:

  1. Отслеживание изменения сохраняются в журнале аудита. Но что более важно, у него есть возможность и a pre-built script сравнить неограниченное количество схем, все в одном представлении. В конце дня то, что вы действительно хотите знать, это «мои схемы одинаковы», не обязательно «то же, что и везде?».
  2. Распространение кода Если у вас только SQL или PL/SQL, развертывание через Method5 так же просто, как возможно. Просто укажите, что вы хотите запустить, и где вы хотите запустить его, например: select * from table(m5('create index ...', 'dev, qa, prodDB1, prodDB2')); Программа еще не запускает сценарии SQL * Plus. Но когда у вас есть возможность легко запускать SQL и PL/SQL, для SQL * Plus очень мало потребности.

  3. Репозиторий кода Все исполнения хранятся в простой таблице, M5_AUDIT. Он содержит код, который запускал его, где он запускал его и как он запускал его. Он не был предназначен для хранилища, такого как SVN, но он достаточно хорош для простого кода аудита и отслеживания.

Метод5 не содержит графического интерфейса, но в некотором роде я считаю, что это функция. Поскольку все делается реляционно, все в простой таблице. Вы можете использовать любой из ваших существующих графических интерфейсов - Toad, PL/SQL Developer, Excel, Apex и т. Д. Это надежное внутреннее решение, которое, мы надеемся, создаст хорошую основу для простого создания простого интерфейса.

+0

Это похоже на то, что мы ищем. Очень признателен! Для Method5: он также работает с Microsoft SQL Server? (мы на самом деле используем одну и ту же схему на Oracle и MSQL: | – EkeshOkor

+0

@EkeshOkor Нет, это только Oracle. Если вам нужен агностик базы данных, вы можете захотеть взглянуть на Flyway или Liquibase. –

+0

@ Джон Хеллер: оцените! – EkeshOkor

Смежные вопросы