2017-02-08 8 views
0

私の質問がどこから来ているのか、私の会社には同じスキーマを使用する世界中の複数のデータベースがあり、私の部署の責任の1つは、 DBは、スキーマのSQL変更の観点から同期しています。SQLコードのプッシュ、トラッキングと監査

さて、私の質問は、誰もが次の操作を行うことが可能であるAAフロントエンドのUI(持っている小さい数より重要な)を持っている任意のソフトウェア/ツールを知っている場合です:

何を追跡することができ
  1. SQLコードの変更はどのデータベースに適用され、いつ行われましたか。基本的には、テーブルの構造を変更したSQLクエリを作成し、DBの80%または100%に適用する必要がある場合は、手動入力または自動チェックのいずれかを使用して、適用される。
  2. コード配布ツール:コードを含むクエリまたはファイルを提供し、必要なデータベースにプッシュする(およびそのための監査ログを作成する)
  3. コード/オブジェクトリポジトリ:カスタム

を開発し、データベースにプッシュされたものを私は、SSISは、これらの事のいくつかを行うことができるかもしれない知っているが、我々はまた、非IT担当者がアクセスすることができるシンプルなフロントエンドのインターフェースを持つツールが必要です。 (*明確化:私たちはDBA以外の人々に、ツールの監査面だけを変更するアクセスを与えることを計画していません)

私はインターネットを検索しようとしましたが、私は使用していないと感じています私が探している結果を得るための適切な語彙。

私はコミュニティがそのようなツールやそれに類するものを認識しているかどうかを知りたがっていますか?

+0

私の最初の考えは、データベースの変更をデータベースにプッシュすることを許可される非データベースの専門家(プロのビルドチームの人員を除く)あなたがDBAでない場合、そのようなことをする権利を持つべきではありません。 – HLGEM

+0

真であり、我々はそのオプションを与えることを計画していない。監査の観点からアクセスできるようになりました。 DBAである私たちにとっても、私たちは他の責任を負っていると考えており、これはDBリンクや何かのものを介してこれを行うバックエンド専用のツールを開発することでうまくいきません。 したがって、わかりやすく見やすくするために、ユーザーインターフェイスを持つものを見つけることをお勧めします。 – EkeshOkor

答えて

1

システムのこれらの2つのタイプのいずれかをもう一度検索してください:どこでも、ソフトウェアの任意の種類を、押し追跡、および監査のためのモジュールを持っているセレナなどの

  1. リリース/ビルド/展開オートメーション複雑なプログラム。これらには、すべてのGUIの鐘と笛が含まれます。しかし、余分なデータベース、設定、エージェント、ワークフロー、コンサルタント(?)などに対処しなければならないでしょう。これらのプログラムは開発者に向けて作られています。
  2. リモート実行/構成管理 Salt、Fabric、およびAnativesのようなより単純なプログラムでは、どこでもオペレーティングシステムコマンドを実行できます。彼らは多くの機能を提供していませんし、あなた自身でもっと多くのことをする必要がありますが、いくつかの点でそれは解放的です。あなたが実行したいコマンドを正確に知っているなら、あなたの手を保持する他のプログラムは必要ありません。これらのプログラムは、管理者向けのものです。

ビューのデータベース管理者の観点から、プログラムのこれらのタイプの主な問題は、それらのどれもがリレーショナルされていないことです。はい、データベースに接続してスクリプトを実行できますが、実際にSQLを使用するものはありません。彼らの母国語はJava、XML、SSHなどです。これらの技術には何も問題はありませんが、データベースだけを気にしていれば、そのような複雑さをすべて処理する必要はありません。

これらのタイプのプログラムに満足できない場合は、私のオープンソースプログラムMethod5をご覧ください。 Oracle SQLの拡張機能として構築されたリモート実行プログラムです。

リンクで悩んでいるあなたのコメントと、my answer to your question about half a year agoに基づいて、Oracleデータベース内で完全に動作するので、自分でインストールすることができ、追加のWebサイト、エージェント、構成ファイル、私はこれがあなたが徐々に作成する方向に向かっていたプログラムのようだと思います。私のチームは数千時間の開発とテストを経て正しい結果を得ましたので、あなた自身のことをあきらめるのは賢明でした。

は、具体的要件に答えるために:変更の追跡

  1. は、監査証跡に格納されています。しかし、もっと重要なことに、無制限の数のスキーマを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のようなリポジトリになるようには設計されていませんが、単純な監査と追跡のコードには十分です。

Method5にはGUIが含まれていませんが、いくつかの点ではそれを機能と見なしています。すべてが関係的に行われるので、すべてが単純なテーブルにあります。既存のGUI(Toad、PL/SQL Developer、Excel、Apexなど)を使用することができます。これは、簡単なフロントエンドを簡単に構築するための良い基盤となる堅牢なバックエンドソリューションです。

+0

私たちが探しているものとまったく同じように聞こえる。とても有難い! Method5の場合:Microsoft SQL Serverでも動作しますか? (私たちは実際にOracleとMSQLの両方で同じスキーマを採用しています:|) – EkeshOkor

+0

@EkeshOkorいいえ、Oracleだけです。何かデータベースが無関係なものが必要な場合は、FlywayまたはLiquibaseを調べることができます。 –

+0

@John Heller:ありがとう! – EkeshOkor

関連する問題