20 バージョン制御(レガシー・モード)の使用
ノート:
この章は、ODIでレガシー・モードのバージョニングについてのみ該当します。SubversionのVCSを有効にする場合は、この章の説明は該当しないので、「バージョン制御システムとODIの統合」を参照してください。
Oracle Data Integratorは、変更を管理および保護するための包括的なシステムを提供します。バージョン管理システムでは、開発されたオブジェクト(プロジェクト、モデルなど)のフラグが自動設定され、「新規」または「変更」といったこれらのオブジェクトのステータスが示されます。また、これらのオブジェクトを固定のチェックポイントの時点でバックアップし、後でこれらのチェックポイントからリストアできます。これらのチェックポイントは、個別のオブジェクトについてはバージョンの形式で、またオブジェクトの一貫性グループについてはラベルの形式で作成されます。
ノート:
Oracle、Hypersonic SQLおよびMicrosoft SQL Serverなどのデータベース・エンジンにインストールされたマスター・リポジトリについては、バージョン管理がサポートされています。バージョン管理をサポートする動作保証されたデータベース・エンジンの完全なリストは、OTNのプラットフォーム動作保証ドキュメント(https://www.oracle.com/middleware/technologies/data-integrator.html
)を参照してください。
この章の内容は次のとおりです。
20.1 オブジェクト・フラグの使用
デザイナ・ナビゲータでオブジェクトが作成または変更されると、ツリーの中のオブジェクト・アイコン上にオブジェクトのステータスを示すフラグが表示されます。表20-1ではこれらのフラグをリストしています。
表20-1 オブジェクト・フラグ
フラグ | 説明 |
---|---|
![]() |
オブジェクト・ステータスは挿入済です。 |
![]() |
オブジェクト・ステータスは「更新済」です。 |
オブジェクトが挿入、更新または削除されると、その親オブジェクトは再帰的に「更新済」としてフラグが指定されます。たとえば、パッケージにステップが挿入された場合、このステップは挿入済としてフラグが指定され、このステップが含まれるパッケージ、フォルダおよびプロジェクトは、「更新済」としてフラグが指定されます。
オブジェクト・バージョンがチェック・インされると(詳細は「バージョンの使用」を参照)、このオブジェクトのフラグはリセットされます。
20.2 バージョンの使用
バージョンとは、オブジェクトのバックアップ・コピーです。バージョンは指定の時間にチェック・インされ、後でリストアできます。バージョンはマスター・リポジトリに保存され、「オブジェクト」ウィンドウの「バージョン」タブに表示されます。
次のオブジェクトはバージョンとしてチェック・インできます。
-
プロジェクト、フォルダ
-
パッケージ、シナリオ
-
マッピング(再使用可能マッピングを含む)、プロシージャ、ナレッジ・モジュール
-
順序、ユーザー関数、変数
-
モデル、モデル・フォルダ
-
ラベル
-
ロード計画
バージョンのチェック・イン
バージョンをチェック・インするには:
-
バージョンをチェック・インするオブジェクトを選択します。
-
プロパティ・インスペクタで、「バージョン」タブを選択します。「バージョン」表で、「新規バージョンを作成」ボタン(緑色のプラス記号アイコン)をクリックします。または、オブジェクトを右クリックして、コンテキスト・メニューから「バージョン」→「バージョンの作成」を選択します。
-
「バージョニング」ダイアログの「前のバージョン」で、すでにチェック・インされているバージョンのリストを確認します。
-
「バージョン」フィールドでバージョン番号が自動生成されます。必要に応じてこのバージョン番号を変更します。
-
「説明」フィールドにこのバージョンの詳細を入力します。
-
「OK」をクリックします。
バージョンがチェック・インされると、オブジェクトのフラグがリセットされます。
オブジェクトの前のバージョンの表示
オブジェクトの前のバージョンを表示するには:
オブジェクトの編集時、「バージョン」タブには、作成情報と更新情報、このオブジェクトの内部IDとグローバルIDおよびチェック・イン・バージョン、チェック・イン日、チェック・イン操作を実行したユーザーの名前のリストが表示されます。
「バージョン」タブからのバージョンのリストア
ノート:
バージョン・ブラウザからバージョンをリストアすることもできます。「バージョン・ブラウザによるバージョンのリストア」を参照してください。
警告:
バージョンのリストアは元に戻せません。現在のオブジェクトは完全に消去され、選択したバージョンで置き換えられます。バージョンをリストアする前に、現在のオブジェクトの新規バージョンを作成することを検討してください。
「バージョン」タブからバージョンをリストアするには:
-
バージョンをリストアするオブジェクトを選択します。
-
プロパティ・インスペクタで、「バージョン」タブを選択します。または、オブジェクトを右クリックして、コンテキスト・メニューから「バージョン」→「リストア...」を選択します。
「バージョン」表で、リストアするバージョンに対応する行を選択します。「バージョンをリストア」ボタンをクリックするか、行を右クリックし、コンテキスト・メニューから「リストア」を選択します。
-
「はい」をクリックしてリストア操作を確認します。
バージョンの参照
バージョンを参照するには:
Oracle Data Integratorに組み込まれたバージョン・ブラウザというツールは、リポジトリに格納されたバージョンの表示に使用されます。
-
メイン・メニューから、「ODI」→「バージョン・ブラウザ」の順に選択します。
-
「オブジェクト・タイプ」ドロップダウン・リストおよび「オブジェクト名」ドロップダウン・リストを使用して、バージョン・リストを表示する対象オブジェクトをフィルタ処理します。
「バージョン・ブラウザ」から、2つのバージョンの比較、バージョンのリストア、XMLファイル形式でのバージョンのエクスポートまたは既存のバージョンの削除が可能です。
ノート:
バージョン・ブラウザには、バージョン・ブラウザを開いたときに存在するバージョンが表示されます。「リフレッシュ」をクリックすると、それ以降に作成された新しいバージョンがすべて表示されます。
バージョン・ブラウザによる2つのバージョンの比較
バージョン・ブラウザを使用して2つのバージョンを比較するには、「バージョン比較ツールの使用」を参照してください。
バージョン・ブラウザによるバージョンの削除
バージョン・ブラウザによりバージョンを削除するには:
-
バージョン・ブラウザを開きます。
-
削除するバージョンを選択します。
-
バージョン表で「削除」アイコン(赤色のXボタン)をクリックするか、右クリックしてコンテキスト・メニューから「削除」を選択します。
バージョンが削除されます。
バージョン・ブラウザによるバージョンのリストア
警告:
バージョンのリストアは元に戻せません。現在のオブジェクトは完全に消去され、選択したバージョンで置き換えられます。バージョンをリストアする前に、現在のオブジェクトの新規バージョンを作成することを検討してください。
バージョン・ブラウザによりバージョンをリストアするには:
-
バージョン・ブラウザを開きます。
-
リストアするバージョンを選択します。
-
「このバージョンをリストア」ボタンをクリックするか、右クリックしてコンテキスト・メニューから「リストア」を選択します。
-
「OK」をクリックしてリストア操作を確認します。
バージョンはリポジトリにリストアされます。
バージョン・ブラウザによるバージョンのエクスポート
バージョン・ブラウザによりバージョンをエクスポートするには:
この操作では、バージョンをリストアせずにファイルにエクスポートします。このエクスポートしたバージョンを別のリポジトリにインポートできます。
ノート:
バージョンをエクスポートすると、バージョンに含まれるオブジェクトがエクスポートされ、バージョン情報はエクスポートされません。これにより、旧バージョンを実際にリポジトリにリストアせずにエクスポートできます。
-
バージョン・ブラウザを開きます。
-
エクスポートするバージョンを選択します。
-
「このバージョンをXMLファイルとしてエクスポートします」ボタンをクリックするか、右クリックしてコンテキスト・メニューから「エクスポート」を選択します。
-
「エクスポート・ディレクトリ」を選択し、「エクスポート名」を指定します。エクスポート・ディレクトリにある同じ名前のファイルを確認なしで上書きするには、「既存のファイルを警告なしで置換」を選択します。
-
「OK」をクリックします。
バージョンは指定の場所にエクスポートされます。
20.3 バージョン比較ツールの使用
Oracle Data Integratorには、包括的なバージョン比較ツールが用意されています。このグラフィカル・ツールは、オブジェクトの2種類のバージョンを表示して比較するためのものです。
バージョン比較ツールには、次の機能が備わっています。
-
比較結果を色分けし並べて表示: 比較結果は2つのペインに並べて表示され、2つの比較対象バージョンの差異が色分けされます。
-
比較結果をツリーに編成: 比較ツールのツリーでは、比較結果がノード・オブジェクトの階層リストに表示されます。ここではノードの開閉が同期化されます。
-
PDF形式でのレポートの作成および印刷: バージョン比較ツールでは、オブジェクトの特定の2つのバージョンにおける差異をリストしたPDFレポートを生成および印刷できます。
-
サポートされるオブジェクト: バージョン比較ツールでサポートされているオブジェクトは、プロジェクト、フォルダ、パッケージ、シナリオ、マッピング、プロシージャ、ナレッジ・モジュール、順序、ユーザー関数、変数、モデル、モデル・フォルダおよびラベルです。
-
差異ビューア機能: このバージョン比較ツールは差異ビューアであり、参照目的でのみ提供されます。オブジェクト・バージョンの編集またはマージはサポートされていません。オブジェクトを編集したり、2つのバージョンの変更点をマージする必要がある場合は、対象オブジェクトに直接手動で変更を加える必要があります。
20.3.1 2つのバージョンの差異の表示
オブジェクトの特定の2つのバージョンにおける差異を表示するには、バージョン比較ツールを開きます。
バージョン比較ツールを開くには、次の3つの方法があります。
「プロジェクト」ツリーでオブジェクトを選択する方法
-
デザイナ・ナビゲータの「プロジェクト」ツリーで、バージョンを比較するオブジェクトを選択します。
-
オブジェクトを右クリックします。
-
「バージョン」→「バージョンの比較」の順に選択します。
-
「バージョンの比較」エディタで、オブジェクトの現在のバージョンの比較対象となるバージョンを選択します。
-
「OK」をクリックします。
-
バージョン比較ツールが開きます。
オブジェクトの「バージョン」タブを使用する方法
-
デザイナ・ナビゲータで、バージョンを比較するオブジェクトのオブジェクト・エディタを開きます。
-
「バージョン」タブに移動します。
「バージョン」タブには、このオブジェクトについて作成されたすべてのバージョンのリストが表示されます。このリストには、作成日、バージョンを作成したユーザーの名前および説明(指定した場合)も示されます。
-
<CTRL>キーを押したまま、比較する2つのバージョンを選択します。
-
右クリックして「比較」を選択します。
-
バージョン比較ツールが開きます。
バージョン・ブラウザを使用する方法
バージョン比較ツールでは、2つのバージョンの差異が示されます。左ペインには選択したオブジェクトの新しいバージョン、右ペインには旧バージョンが表示されます。
差異は色でハイライト表示されます。次の色コードが適用されます。
色 | 説明 |
---|---|
白(デフォルト) |
変更なし |
赤 |
削除 |
緑色 |
追加済/新規 |
黄 |
オブジェクト変更済 |
オレンジ |
フィールド変更済(このフィールド内の値は変更されています) |
ノート:
いずれかのバージョンに1つのオブジェクトが存在しない場合(削除された場合など)、(空の値により)空のオブジェクトとして表されます。
20.3.2 比較フィルタの使用
オブジェクトのバージョンが作成された後は、バージョン比較ツールを様々な時点で使用できます。
バージョンの作成またはチェック・インについては、「バージョンの使用」で説明しています。
バージョン比較ツールには、比較結果をカスタマイズする2種類のフィルタが用意されています。
-
オブジェクト・フィルタ: 対応するチェック・ボックス(「新規」、「削除済」、「変更」または変更なし、あるいはそのすべて)を選択して、新規追加オブジェクト、削除済オブジェクト、変更済オブジェクトまたは変更なしのオブジェクトのいずれを表示するか、あるいはそのすべてを表示するかを決定できます。
-
フィールド・フィルタ: 対応するチェック・ボックス(「新規」、「削除済」、「変更」または変更なし、あるいはそのすべて)を選択して、新規追加フィールド、削除済フィールド、変更済フィールドまたは変更なしのフィールドのいずれを表示するか、あるいはそのすべてを表示するかを決定できます。
20.4 ラベルの使用
ラベルは、包括的で一貫性のある、オブジェクトの相互依存したバージョンのセットです。他のオブジェクトと同様、ソリューションはバージョンとして指定の時間にチェック・インし、後日リストアできます。ラベルはマスター・リポジトリに保存されます。ラベルには、ラベルの要素と呼ばれるバージョンのグループが集約されます。
ラベルは、相互参照を使用して自動的に集約されます。相互参照をスキャンすることで、特定のオブジェクトに必要なすべての依存オブジェクトがラベルに自動的に含められます。たとえば、ラベルにプロジェクトを追加すると、このプロジェクトのインタフェースで使用されるすべてのモデルのバージョンが自動的にチェックインされ、ラベルに追加されます。ラベルとの間で要素を手動で追加または削除することもできます。
ラベルは、デザイナ・ナビゲータおよびオペレータ・ナビゲータの「ラベル」アコーディオンに表示されます。
次のオブジェクトをラベルに追加できます。
-
プロジェクト
-
モデル、モデル・フォルダ
-
シナリオ
-
ロード計画
-
グローバル変数、ナレッジ・モジュール、ユーザー関数および順序。
ラベルを作成するには:
-
デザイナ・ナビゲータまたはオペレータ・ナビゲータの「ラベル」ツールバー・メニューから、「新規ラベル」を選択します。
-
ラベル・エディタで、ラベルの「名前」および「説明」を入力します。
-
「ファイル」メニューから「保存」を選択します。
結果のラベルは、要素を追加できる空のシェルです。
20.4.1 ラベルにおける要素の使用
この項では、ラベルの要素を使用する際に実行できる様々なアクションについて説明します。
要素の追加
要素を追加するには、ラベル・エディタでツリーから「要素」リストにオブジェクトをドラッグします。Oracle Data Integratorでは相互参照がスキャンされ、この要素が正しく作用するために必要な「必須要素」が追加されます。追加対象オブジェクトが前回のバージョンのチェック・イン以降に挿入または更新されている場合、これらのオブジェクトの新規バージョンを作成するよう促されます。
要素の削除
ラベルから要素を削除するには、「要素」リストで削除する要素を選択し、「削除」ボタンをクリックします。この要素はリストに表示されなくなります。オブジェクトの既存のチェック・イン済バージョンは影響されません。
オブジェクトのロールバック
オブジェクトをラベルに格納されたバージョンにロールバックするには、リストアする要素を選択して「リストア」ボタンをクリックします。選択した要素はすべてラベルのバージョンからリストアされます。
20.4.2 ラベルの同期
ラベルを同期化すると、ラベルに含まれていない必須要素が自動的に追加され、変更済の要素の新規バージョンが作成され、さらに不要な要素が自動削除されます。同期化プロセスでは、リポジトリに格納された要素(プロジェクト、モデルなど)によって、ラベルのコンテンツが最新の状態になります。
ラベルを同期するには:
- 同期化するラベルを開きます。
- 「要素」セクションのツールバー・メニューで「同期化」をクリックします。
- Oracle Data Integratorでは相互参照がスキャンされます。相互参照によってラベルが最新であることが示された場合、メッセージが表示されます。最新でない場合は、ラベルとの間で追加または削除する要素のリストが表示されます。これらの要素は、プリンシパル要素(手動で追加されます)、必須要素(プリンシパル要素によって直接的または間接的に参照されます)および未使用の要素(プリンシパル要素では参照されません)にグループ化されます。
- 「同意」ボックスを選択し、必須要素をバージョニングして含めるか、未使用の要素を削除します。
- 「OK」をクリックしてラベルを同期化します。新規バージョンの作成を必要とする要素について、バージョン作成の各ウィンドウが表示される場合があります。
ラベル・コンテンツを最新の状態に保つには、ラベルを定期的に同期化する必要があります。また、これはラベル・バージョンをチェック・インする前に行う必要があります。
20.4.3 ラベルのリストアとチェック・イン
ラベル・バージョンをチェック・インおよびリストアする手順は、単一要素に使用する方法に類似しています。詳細は、バージョンの使用を参照してください。
オペレータ・ナビゲータまたはデザイナ・ナビゲータでラベルをリストアし、シナリオを本番にインポートすることもできます。
ラベルからシナリオをリストアするには:
- ラベルをダブルクリックして、ラベル・エディタを開きます。
- 「プリンシパル要素」または「必須要素」セクションからシナリオを選択します。プロジェクトおよびマッピングなどのその他の要素はリストアできないことに注意してください。
- 「要素」セクションのツールバー・メニューで「リストア」をクリックします。
「シナリオ」タブでシナリオにアクセスできるようになりました。
バージョン・ブラウザを使用してシナリオをリストアすることもできます。バージョン・ブラウザによるバージョンのリストアを参照してください。
ノート:
ラベルをリストアする場合、ラベル内の要素は自動的にリストアされません。これらの要素はラベル・エディタから手動でリストアする必要があります。
20.4.4 ラベルのインポートとエクスポート
ラベルは、Oracle Data Integratorのその他のオブジェクトと同様にエクスポートおよびインポートできます。エクスポート/インポートは、マスター・リポジトリどうしのラベルの転送に使用します。詳細は、エクスポートおよびインポートを参照してください。