Oracle® Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド 11gリリース1(11.1.1) B62261-01 |
|
![]() 戻る |
![]() 次へ |
この章では、Oracle Data IntegratorでのMicrosoft SQL Serverの使用方法について説明します。
この章の内容は次のとおりです。
Oracle Data Integrator(ODI)では、Microsoft SQL Serverのデータがシームレスに統合されます。Oracle Data Integratorの機能(リバース・エンジニアリング、チェンジ・データ・キャプチャ、データ整合性チェックおよび統合インタフェースなど)は、Microsoft SQL Serverを使用した場合に最良の動作が得られるように設計されています。
Microsoft SQL Serverの概念は、Oracle Data Integratorの概念に次のようにマップされます。各Microsoft SQL ServerはOracle Data Integratorの1つのデータ・サーバーに対応します。このサーバー内で、データベースと所有者のペアは、1つのOracle Data Integrator物理スキーマにマップされます。1つのデータベースに含まれる関連オブジェクトのセットは1つのデータ・モデルに対応しており、それぞれの表、ビューまたはシノニムは、1つのODIデータストアとして(その属性、列および制約とともに)表示されます。
Oracle Data Integratorでは、Java Database Connectivity(JDBC)を使用してMicrosoft SQL Serverに接続します。
Oracle Data Integratorには、Microsoft SQL Serverデータを処理するためのナレッジ・モジュール(KM)が用意されています。これらのリストを表2-1に示します。Microsoft SQL Serverでは、これらのMicrosoft SQL Server固有のナレッジ・モジュール以外に汎用SQL KMも使用できます。詳細は、第4章「汎用SQL」を参照してください。
表6-1 Microsoft SQL Serverナレッジ・モジュール
ナレッジ・モジュール | 説明 |
---|---|
IKM MSSQL Incremental Update |
増分更新モードでMicrosoft SQL Serverのターゲット表にデータを統合します。 |
IKM MSSQL Slowly Changing Dimension |
データ・ウェアハウスでタイプ2の緩やかに変化するディメンションとして使用されるMicrosoft SQL Serverのターゲット表に、データを統合します。 |
JKM MSSQL Consistent |
トリガーを使用してMicrosoft SQL Server表の一貫したジャーナル化を行うためのジャーナル化インフラストラクチャを作成します。 |
JKM MSSQL Simple |
トリガーを使用してMicrosoft SQL Server表の単純なジャーナル化を行うためのジャーナル化インフラストラクチャを作成します。 |
LKM File to MSSQL(BULK) |
固有のBULK INSERT SQLコマンドを使用して、ファイルからMicrosoft SQL Serverステージング領域データベースへデータをロードします。 |
LKM MSSQL to MSSQL(BCP) |
固有のBCP out/BCP inコマンドを使用して、Microsoft SQL Serverソース・データベースからMicrosoft SQL Serverステージング領域データベースへ、データをロードします。 |
LKM MSSQL to MSSQL(LINKED SERVERS) |
固有のリンク・サーバー機能を使用して、Microsoft SQL Serverソース・データベースからMicrosoft SQL Serverステージング領域データベースへ、データをロードします。 |
LKM MSSQL to ORACLE(BCP SQLLDR) |
BCPおよびSQLLDRユーティリティを使用して、Microsoft SQL ServerからOracleデータベース(ステージング領域)へデータをロードします。 |
LKM SQL to MSSQL(BULK) |
固有のBULK INSERT SQLコマンドを使用して、任意のANSI SQL-92ソース・データベースからMicrosoft SQL Serverステージング領域データベースへデータをロードします。 |
LKM SQL to MSSQL |
任意のANSI SQL-92ソース・データベースからMicrosoft SQL Serverステージング領域へデータをロードします。このLKMは、第4章「汎用SQL」に記載されている標準のLKM SQL to SQLと似ていますが、Microsoft SQL Serverの追加パラメータを指定できる点で異なります。 |
RKM MSSQL |
Microsoft SQL Serverオブジェクトのメタデータ(表、ビュー、シノニム、列および制約)を取得します。 |
Microsoft SQL Serverテクノロジでの作業を開始する前に、この項の情報を必ず読んでください。
インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。
サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network(OTN)からアクセスできます。
http://www.oracle.com/technology/products/oracle-data-integrator/index.html
Microsoft SQL Server用の一部のナレッジ・モジュールでは、このデータベース固有の機能が使用されます。これらのナレッジ・モジュールの使用時には、次の制限が適用されます。これらのトピックの追加情報は、Microsoft SQL Serverのドキュメントを参照してください。
この項では、Microsoft SQL ServerでBULK INSERTコマンドを使用する前に満たしておく必要がある要件を説明します。
BULK INSERTコマンドでロードするファイルは、Microsoft SQL Serverインスタンスのマシンからアクセスできることが必要です。サーバーのファイル・システム上に置くか、UNC(Unique Naming Convention)パスからアクセスできるようにします。
UNCファイル・パスはサポートされていますが、パフォーマンスの低下につながるためお薦めしません。
パフォーマンスの点から、ターゲット・サーバー・マシン上にOracle Data Integratorのエージェントをインストールすることをお薦めします。
この項では、Microsoft SQL ServerでBCPコマンドを使用する前に満たしておく必要がある要件を説明します。
BCPユーティリティおよびMicrosoft SQL Serverのクライアント・ネットワーク・ユーティリティは、Oracle Data Integratorのエージェントを実行するマシン上にインストールする必要があります。
トポロジで定義されるサーバー名は、これらのサーバーに使用されるMicrosoft SQL Serverクライアントの接続文字列と一致する必要があります。
クライアント・ユーティリティで定義されるサーバー名には、空白を使用できません。
UNCファイル・パスはサポートされていますが、パフォーマンスの低下につながるためお薦めしません。
ターゲットのステージング領域データベースには、select into/bulk copyオプションが必要です。
BCPプログラムによって生成されたファイルが空の場合は、実行が保留状態のままになります。
パフォーマンスの点から、ターゲット・サーバー・マシン上にOracle Data Integratorのエージェントをインストールすることをお薦めします。
この項では、Microsoft SQL Serverでリンク・サーバーを使用する前に満たしておく必要がある要件を説明します。
Microsoft SQL Serverのインスタンスに接続するためにトポロジで定義されたユーザーには、次の権限が必要です。
ユーザーは、ステージング領域データベースのdb_ownerであることが必要です。
ユーザーにはdb_ddladminロールが必要です。
リンク・サーバーを自動作成するために、ユーザーにはsysdamin権限が必要です。
MSDTCサービスは、両方のSQL Serverインスタンス(ソースおよびターゲット)で開始する必要があります。このサービスの構成に役立つヒントは次のとおりです。
MSDTCサービスのログオン・アカウントは、ネットワーク・サービス・アカウントです(LocalSystemアカウントではありません)。
MSDTCは、ネットワーク・トランザクションに対して有効であることが必要です。
Windowsファイアウォールは、ネットワーク上でMSDTCサービスが許可されるように構成する必要があります。デフォルトでは、WindowsファイアウォールによってMSDTCプログラムがブロックされます。
Microsoft SQL Serverは、MSDTCのスタートアップが完了した後に起動する必要があります。
MSDTCサービスの構成の詳細は、次のリンク先を参照してください。
トポロジの設定には次が含まれます。
各Microsoft SQL Serverデータ・サーバーは、特定のユーザー・アカウントに接続された1つのMicrosoft SQL Serverサーバーに対応します。このユーザーには、このサーバーの複数のデータベースへのアクセス権が付与されます。これらのデータベースは、データ・サーバーの下に作成されたOracle Data Integrator内の物理スキーマに対応します。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のデータ・サーバーの作成に関する項に記載されている標準の手順で、Microsoft SQL Serverテクノロジ用データ・サーバーを作成します。この項では、Microsoft SQL Serverデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。
「定義」タブ:
名前: Oracle Data Integratorに表示されるデータ・サーバーの名前
サーバー: データ・サーバーの物理名
ユーザー/パスワード: Microsoft SQL Serverユーザーおよびそのパスワード
「JDBC」タブ:
JDBCドライバ: weblogic.jdbc.sqlserver.SQLServerDriver
JDBC URL: jdbc:weblogic:sqlserver://hostname:port[;property=value[;...]]
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の物理スキーマの作成に関する項に記載されている標準の手順で、Microsoft SQL Server物理スキーマを作成します。
この物理スキーマ内の作業スキーマおよびデータ・スキーマは、それぞれデータベースと所有者のペアに対応します。作業スキーマは一時データベースを指す必要があります。データ・スキーマは、統合するデータをホストするデータベースを指す必要があります。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の論理スキーマの作成に関する項に記載されている標準の手順で、この物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。
Microsoft SQL Serverデータベースを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の統合プロジェクトの作成に関する項を参照してください。
Microsoft SQL Serverでの作業を開始するにあたり、使用するプロジェクトに次のナレッジ・モジュールをインポートすることをお薦めします。
IKM MSSQL Incremental Update
IKM MSSQL Slowly Changing Dimension
JKM MSSQL Consistent
JKM MSSQL Simple
LKM File to MSSQL(BULK)
LKM MSSQL to MSSQL(BCP)
LKM MSSQL to MSSQL(LINKED SERVERS)
LKM MSSQL to ORACLE(BCP SQLLDR)
LKM SQL to MSSQL(BULK)
LKM SQL to MSSQL
CKM SQL: この汎用KMは、SQLサーバーの整合性チェックを実行するために使用します。
RKM MSSQL
この項の内容は次のとおりです。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルの作成に関する項に記載されている標準の手順で、Microsoft SQL Serverモデルを作成します。
Microsoft SQL Serverでは、JDBCドライバの機能のみを使用する標準のリバース・エンジニアリング、およびRKMを使用してメタデータ取得する、カスタマイズされたリバース・エンジニアリングの両方がサポートされています。
通常は、標準のJDBCリバース・エンジニアリングを使用して作業を開始することを検討してください。Microsoft SQL Serverで標準のリバース・エンジニアリングを使用すると、表、ビューおよび列が取得されます。
それ以外のメタデータを取得する場合に、カスタマイズされたリバース・エンジニアリングに切り替えることを検討してください。Microsoft SQL Server のカスタマイズされたリバース・エンジニアリングでは、表、ビューおよびシノニムが取得されます。RKM MSSQLでも、ユーザー定義のデータ型を持つ列がリバース・エンジニアリングされ、ユーザー定義のデータ型が固有のデータ型に変換されます。
標準のリバース・エンジニアリング
Microsoft SQL Serverで標準のリバース・エンジニアリングを実行するには、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を行います。
カスタマイズされたリバース・エンジニアリング
RKMを使用してMicrosoft SQL Serverでカスタマイズされたリバース・エンジニアリングを実行するには、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を行います。この項では、Microsoft SQL Serverテクノロジ固有のフィールドのみについて説明します。
Microsoft SQL Serverモデルの「リバース」タブでKM: RKM MSSQL.<project name>
を選択します。
COMPATIBLEオプションにMicrosoft SQL Serverのバージョンを入力します。このオプションによって、シノニムのリバースが有効になるかどうかが決まります。シノニムは、Microsoft SQLServerバージョン2005以上のみでサポートされています。
このRKMの使用時には、次の情報に注意してください。
接続ユーザーには、すべてのINFORMATION_SCHEMAビューに対するSELECT権限が必要です。
リポジトリおよびモデル内のユーザー定義のデータ型が使用される列では、固有のデータ型のみが保存されます。
Microsoft .NET Frameworkの共通言語ランタイム(CLR)でアセンブリのクラスを介して実装されたユーザー定義のデータ型は、リバースされません。
ODI Microsoft SQL Serverナレッジ・モジュールでは、チェンジ・データ・キャプチャ機能がサポートされています。ジャーナル化の設定方法および取得された変更の使用方法の詳細は、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の「チェンジ・データ・キャプチャの使用」を参照してください。
Microsoft SQL Serverジャーナル化ナレッジ・モジュールでは、単純ジャーナル化および一貫性セット・ジャーナル化がサポートされています。Microsoft SQL Server JKMでは、トリガーを使用してソース表でのデータ変更を取得します。
Oracle Data Integratorには、Microsoft SQL Server表をジャーナル化するためのナレッジ・モジュールが用意されています。これらのリストを表6-2に示します。
表6-2 Microsoft SQL Serverのジャーナル化ナレッジ・モジュール
KM | 説明 |
---|---|
JKM MSSQL Consistent |
トリガーを使用してMicrosoft SQL Server表の一貫したジャーナル化を行うためのジャーナル化インフラストラクチャを作成します。 |
JKM MSSQL Simple |
トリガーを使用してMicrosoft SQL Server表の単純なジャーナル化を行うためのジャーナル化インフラストラクチャを作成します。 |
Oracle Changed Data Capture Adaptersを使用すると、Microsoft SQL Serverでログ・ベースのチェンジ・データ・キャプチャを実行できます。詳細は、第25章「Oracle Changed Data Capture Adapters」を参照してください。
Oracle Data Integratorには、Microsoft SQL Serverの表で定義された制約と照合してデータの整合性をチェックするための汎用CKM SQLが用意されています。詳細は、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の「フロー制御および統合後制御の設定」を参照してください。
詳細は、第4章「汎用SQL」を参照してください。
統合インタフェースのソース、ステージング領域またはターゲットとしてMicrosoft SQL Serverを使用できます。
インタフェースまたはチェック用に選択したKMによって、このインタフェースまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、Microsoft SQL Serverデータ・サーバーに関連する様々な状況でのKMの選択に役立ちます。
インタフェースのソース、ターゲットまたはステージング領域としてMicrosoft SQL Serverを使用できます。インタフェース・フロー・タブでの、Microsoft SQL Serverと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、インタフェースのパフォーマンスに関してきわめて重要です。
Oracle Data Integratorには、Microsoft SQL Serverからターゲットまたはステージング領域のデータベースへデータをロードするための最適化されたメソッドを実装するナレッジ・モジュールが用意されています。これらの最適化されたMicrosoft SQL Server KMを表6-3にリストします。
これらのKM以外に、汎用SQL KMまたは関係するもう一方のテクノロジ固有のKMを使用して、Microsoft SQL Serverからターゲットまたはステージング領域のデータベースへデータをロードすることもできます。
表6-3 Microsoft SQL ServerからデータをロードするためのKM
ソースまたはステージング領域のテクノロジ | KM | 説明 |
---|---|---|
Microsoft SQL Server |
LKM MSSQL to MSSQL(BCP) |
固有のBCP out/BCP inコマンドを使用して、Microsoft SQL Serverソース・データベースからMicrosoft SQL Serverステージング領域データベースへ、データをロードします。 |
Microsoft SQL Server |
LKM MSSQL to MSSQL(LINKED SERVERS) |
固有のリンク・サーバー機能を使用して、Microsoft SQL Serverソース・データベースからMicrosoft SQL Serverステージング領域データベースへ、データをロードします。 |
Oracle |
LKM MSSQL to ORACLE(BCP SQLLDR) |
BCPおよびSQLLDRユーティリティを使用して、Microsoft SQL ServerからOracleデータベース(ステージング領域)へデータをロードします。 |
Oracle Data Integratorには、ソースまたはステージング領域からMicrosoft SQL Serverデータベースへデータをロードするための最適化されたメソッドを実装するナレッジ・モジュールが用意されています。これらの最適化されたMicrosoft SQL Server KMを表6-4にリストします。
これらのKM以外に、汎用SQL KMまたは関係するもう一方のテクノロジ固有のKMも使用できます。
表6-4 Microsoft SQL ServerにデータをロードするためのKM
ソースまたはステージング領域のテクノロジ | KM | 説明 |
---|---|---|
ファイル |
LKM File to MSSQL(BULK) |
固有のBULK INSERT SQLコマンドを使用して、ファイルからMicrosoft SQL Serverステージング領域データベースへデータをロードします。 |
Microsoft SQL Server |
LKM MSSQL to MSSQL(BCP) |
固有のBCP out/BCP inコマンドを使用して、Microsoft SQL Serverソース・データベースからMicrosoft SQL Serverステージング領域データベースへ、データをロードします。 |
Microsoft SQL Server |
LKM MSSQL to MSSQL(LINKED SERVERS) |
固有のリンク・サーバー機能を使用して、Microsoft SQL Serverソース・データベースからMicrosoft SQL Serverステージング領域データベースへ、データをロードします。 |
SQL |
LKM SQL to MSSQL(BULK) |
固有のBULK INSERT SQLコマンドを使用して、任意のANSI SQL-92ソース・データベースからMicrosoft SQL Serverステージング領域データベースへデータをロードします。 |
SQL |
LKM SQL to MSSQL |
任意のANSI SQL-92ソース・データベースからMicrosoft SQL Serverステージング領域へデータをロードします。 |
Oracle Data Integratorには、Microsoft SQL Server用に最適化されたデータ統合戦略を実装するナレッジ・モジュールが用意されています。これらの最適化されたMicrosoft SQL Server KMを表6-5にリストします。 I
これらのKM以外に、汎用SQL KMも使用できます。
インタフェース・フロー・タブのIKMの選択によって、統合のパフォーマンスおよび可能性が決まります。
表6-5 Microsoft SQL Serverにデータを統合するためのKM
KM | 説明 |
---|---|
IKM MSSQL Incremental Update |
増分更新モードでMicrosoft SQL Serverのターゲット表にデータを統合します。 |
IKM MSSQL Slowly Changing Dimension |
データ・ウェアハウスでタイプ2の緩やかに変化するディメンションとして使用されるMicrosoft SQL Serverのターゲット表に、データを統合します。 |
緩やかに変化するディメンションの使用
緩やかに変化するディメンションを使用する場合は、ターゲット・データベースの各列に対して「緩やかに変化するディメンション」の値を必ず設定してください。この値は、「サロゲート・キー」、「自然キー」、列の上書きまたは挿入、「現在のレコード・フラグ」、「開始タイムスタンプ」および「終了タイムスタンプ」列を識別するために、IKM MSSQL Slowly Changing Dimensionで使用されます。