この章では、Oracle Fusion Middlewareで使用するメタデータ・リポジトリの管理について説明します。
この章の項目は次のとおりです。
メタデータ・リポジトリには、Oracle BPEL Process Manager、Oracle B2B、Oracle WebCenterなどのOracle Fusion Middlewareシステム・コンポーネントのメタデータが格納されます。また、Oracle Fusion Middlewareの構成に関するメタデータおよびアプリケーションのメタデータも格納できます。
Oracle Fusion Middlewareでは、複数のリポジトリ・タイプがサポートされています。リポジトリ・タイプとは特定のOracle Fusion Middlewareコンポーネント(Oracle BPEL Process Manager、Oracle Internet Directoryなど)に属する個別または一連のスキーマを示します。
特殊なタイプのリポジトリであるOracle Metadata Services(MDS)リポジトリには、特定タイプのデプロイ済アプリケーションのメタデータが格納されます。これには、ユーザーの組織で独自に開発されたカスタムのJava EEアプリケーションや、Oracle B2Bなどの一部のOracle Fusion Middlewareコンポーネント・アプリケーションが含まれます。MDSリポジトリ・タイプに固有の関連情報については、第13.3項を参照してください。
MDSには、データベース・ベースおよびファイルベースのリポジトリを作成できます。本番環境では、データベース・ベース・リポジトリを使用します。Oracle BPEL Process Managerなどのほとんどのコンポーネントでは、データベースにスキーマをインストールする必要があるため、データベース・ベース・リポジトリを使用する必要があります。
Oracle Fusion Middlewareメタデータ・リポジトリ作成ユーティリティ(RCU)を使用して、既存のデータベースにメタデータ・リポジトリを作成します。
RCUを使用すると、単一データベース内に複数のリポジトリを作成できます。MDSリポジトリや、Oracle WebCenterなど特定のコンポーネントのメタデータのリポジトリを作成できます。RCUはコンポーネントに必要なスキーマを作成します。スキーマとその表領域およびデータファイルについては、付録Dを参照してください。
RCUでは、コンポーネントのスキーマを削除することもできます。
サポートされるデータベース・プラットフォームのバージョン、およびデータベースに関するその他の前提条件については、次のサイトを参照してください。
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html
注意: ネットワーク待機時間を短縮するには、すべてのメタデータ・リポジトリを同一サイトのデータベースにコンポーネントとして配置することをお薦めします。 |
MDSリポジトリの管理については、第13.3項を参照してください。
関連項目: RCUを使用してデータベース・ベースのメタデータ・リポジトリを作成する方法については、『Oracle Fusion Middleware Repository Creation Utilityユーザーズ・ガイド』を参照してください。 |
Oracle Metadata Services(MDS)リポジトリには、特定タイプのデプロイ済アプリケーションのメタデータが格納されます。このデプロイ済アプリケーションには、ユーザーの組織で独自に開発されたカスタムのJava EEアプリケーションや、Oracle B2B、Oracle Web Services Managerなど、一部のOracle Fusion Middlewareコンポーネント・アプリケーションがあります。アプリケーションのメタデータを格納するMDSリポジトリにメタデータのコンテンツをデプロイする際には、選択したメタデータの圧縮アーカイブであるメタデータ・アーカイブ(MAR)が使用されます。
次の状況では、アプリケーションをMDSにデプロイして、デプロイ後のメタデータの管理を可能にする必要があります。
MARの形式でパッケージ化され、シードされたメタデータがアプリケーションに組み込まれている場合
実行時にユーザーのパーソナライズを有効にする必要がある場合
カスタムのOracle WebCenterアプリケーションがある場合
SOAコンポジットアプリケーション(SCA)がある場合
次の各項では、MDSリポジトリについて説明します。
関連項目: Oracle Real Application Clusters(Oracle RAC)でのMDSリポジトリの使用の詳細は、『Oracle Fusion Middleware高可用性ガイド』を参照してください。 |
MDSフレームワークを使用すると、カスタマイズ可能なアプリケーションを作成できます。カスタマイズ済アプリケーションは、ベース・アプリケーション(ベース・ドキュメント)と、カスタマイズを含む1つ以上のレイヤーで構成されます。MDSは、カスタマイズをメタデータ・リポジトリに格納します。実行時にはこのカスタマイズを取得してベース・メタデータにマージし、カスタマイズ済アプリケーションを公開します。カスタマイズはベースとは別個に保存されるため、アップグレードの際にカスタマイズが保護されます。つまり、新しいパッチをベースに適用する場合でも、カスタマイズに影響を与えずに行えるということです。カスタマイズ済アプリケーションが起動されると、カスタマイズの内容がベース・アプリケーションに適用されます。
カスタマイズ可能なアプリケーションでは、複数のカスタマイズ・レイヤーを使用できます。カスタマイズ・レイヤーには、業種やサイトなどがあります。各レイヤーで複数のカスタマイズ・レイヤー値を使用できますが、実行時には、通常そのようなレイヤー値は各レイヤーから1つのみ適用されます。たとえば、カスタマイズ可能なアプリケーションの業種レイヤーには、医療や金融などの業種の値を格納できます。一方、デプロイ対象のカスタマイズ済アプリケーションで一度に使用されるのは、このレイヤー値のいずれか一つのみです。ベース・ドキュメントおよびカスタマイズ・レイヤーの詳細は、『Oracle Fusion Middleware Oracle Application Development FrameworkのためのFusion開発者ガイド』の、MDSによるアプリケーションのカスタマイズに関する項を参照してください。
MDSリポジトリは、ファイルベースにも、データベース・ベースにもできます。本番環境では、データベース・ベース・リポジトリを使用します。1つのドメイン内に複数のMDSリポジトリを作成できます。
データベース・ベースのMDSリポジトリには、次の機能があり、これらはファイルベースのMDSリポジトリではサポートされません。
効率的な問合せ機能: データベース・ベースのMDSリポジトリは、セットベースの問合せ用に最適化されています。このため、データベース・リポジトリの検索などのパフォーマンスに優れています。
MDSリポジトリの問合せAPIには、問合せ操作を定義し、メタデータ・オブジェクトに対する条件を指定する構成メンバーがあります。これらの条件は、検索結果を特定の属性のタイプと値のセット、コンポーネント・タイプ、テキスト・コンテンツおよびメタデータ・パスに限定する一連の基準です。このAPIでは、複数の条件を組み合せ、ORおよびAND構成メンバーを使用することによって、動的な再帰的合成を実現できます。
アトミックなトランザクション・セマンティック: データベース・ベースのMDSリポジトリは、データベース・トランザクション・セマンティックを使用し、トランザクションの失敗(インポートやデプロイの失敗など)をロールバックする機能があります。
バージョニング: MDSリポジトリでは、ドキュメントのバージョンがデータベース・ベース・リポジトリで保持されます。バージョニングを使用すると、メタデータ・オブジェクトに対する変更は、メタデータ・リポジトリの既存データを単に上書きするのではなく、別のバージョンとして保存されます。バージョンのラベル付けだけではなくバージョン履歴の機能もあるため、特定時点におけるメタデータのセットを取得できます。
メタデータの変更の分離: データベース・ベースのMDSリポジトリでは、実行環境でメタデータの変更を分離して、すべてのユーザーに渡す前に一部のユーザー・グループでテストできます。
ポーリングに基づいた外部変更検出のサポート: あるアプリケーションで行った共有メタデータに対する変更を別のアプリケーションで検出できます。たとえば、クラスタ内の管理対象サーバーAおよびBにアプリケーションをデプロイし、管理対象サーバーAにデプロイされたアプリケーションのカスタマイズを変更した場合、そのデータはデータベース・ベース・リポジトリに書き込まれます。管理対象サーバーBにデプロイされたアプリケーションでは、更新されたカスタマイズが使用されます。これにより、高可用性がサポートされます(特に、アクティブ/アクティブ・シナリオの場合)。
更新のクラスタ化: データベース・ベースのMDSリポジトリでは、複数のホストからメタデータを更新できます。ファイルベースのMDSリポジトリでは、更新できるのは1度に1つのホストからのみです。
共有メタデータ・リポジトリを構成すると、複数のアプリケーションでメタデータを共有できます。メタデータを共有すると、アプリケーションの外部変更検出を構成することにより、あるアプリケーションがこのリポジトリのメタデータに対して行った変更を、共有リポジトリを使用している別のアプリケーションで確認できます。
MDSリポジトリでは、Oracle Fusion Middlewareコンポーネントなどのアプリケーションは、それぞれ専用のパーティションにデプロイされます。データベース・ベースであるか、ファイルベースであるかにかかわらず、パーティションは、1つの物理的なMDSリポジトリ内の独立した論理リポジトリです。
アプリケーションをデプロイして、MDSリポジトリに関連付ける方法は、第9章を参照してください。
MDSリポジトリへのパッチ適用に関しては、次の点に注意してください。
パッチを適用する前に、MDSリポジトリをドメインに登録する必要があります。そうしないと適用したパッチがロールバックできず、追加のパッチを適用できません。
パッチの適用対象は次のとおりです。
MDSのメタデータ
MDSのjarファイル
MDSの共有ライブラリ
データベース・ベースのメタデータ・リポジトリ内のMDSスキーマ。パッチには、新たな列の追加や列のサイズの拡大など、付加的な変更が含まれる場合があります。このタイプのパッチは、ロールバックできません。
データベース・ベースのメタデータ・リポジトリ内のMDSデータベースPL/SQL。パッチには、PL/SQLパッケージの変更や、新たなPL/SQLパッケージおよび手順が含まれる場合があります。
対応するMDS JARファイル・パッチを必要とする、データベース・ベースのメタデータ・リポジトリ内のMDSスキーマまたはPL/SQL
MDSリポジトリでは、Oracleデータベースだけではなく、SQL ServerやDB2など、Oracle以外のデータベースもサポートされます。これらのデータベースのサポート対象バージョンについては、次のサイトを参照してください。
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html
SQL ServerをMDSのデータベースとして使用する場合は、次の事項に注意してください。
SQL Serverでメタデータ・リポジトリを作成するには、ホストするデータベースのREAD_COMMITTED_SNAPSHOTをONに設定します。これにより、必要な行のバージョニング・サポートが有効になります。この機能は、SQLコマンドのALTER DATABASEを使用して有効化できます。次にその例を示します。
ALTER DATABASE mds SET READ_COMMITTED_SNAPSHOT ON
メタデータ・リポジトリで大/小文字区別のセマンティックをサポートするには、大/小文字区別の照合順序を使用する必要があります。たとえば、Latin1_Generalを使用する場合は、次のSQLコマンドを使用して、SQL_Latin1_General_CP1_CS_AS照合順序を選択します。
ALTER DATABASE mds COLLATE SQL_Latin1_General_CP1_CS_AS
この例では、サブストリングCS
が、大/小文字区別を示しています。
Oracle Content Server 10gをSQL Serverにインストールする場合、大/小文字区別なしの照合順序を使用するデータベース・インスタンスが必要です。そのため、MDSと同一のSQL Serverデータベース・インスタンスに配置することはできません。MDSとOracle Content Server 10gの両方をインストールする場合は、大/小文字区別なしの照合順序を使用する別のデータベース・インスタンスを作成して、Oracle Content Server 10gのスキーマをインストールする必要があります。
OracleのスキーマとSQL Serverのスキーマには若干の違いがあります。SQL Serverのスキーマでは、特定のテキスト・フィールドの長さが短くなっています。たとえば、SQL Serverのメタデータのフルパス名は、400文字に制限されています。
DB2をMDSのデータベースとして使用する場合は、次の事項に注意してください。
データベースのロック・タイムアウト・パラメータに小さい値を設定します。Oracleデータベースとは異なり、DB2では更新時の行のバージョニングがサポートされません。状況によっては、あるユーザーが行を更新しているときに、別のユーザーが別の行を更新するとブロックされる場合があります。このとき、別のユーザーは最初のユーザーによってトランザクションがコミットされるか、ロールバックされるまで待機する必要があります。同時実行性を向上させるために、-1を指定しないでください。ロック・タイムアウトが無限に設定されてしまいます。
DB2データベースのロック・タイムアウト値を問い合せるには、次のコマンドを使用します。
db2 'get database config for database_alias' | grep -i timeout
値が大きすぎる場合は、変更してください。たとえば、ロック・タイムアウト値を180秒に変更するには、次のコマンドを使用します。
db2 'update database config for database_alias using locktimout 180'
DB2のレジストリ変数DB2_EVALUNCOMMITTED、DB2_SKIPINSERTED、およびDB2_SJIPDELETEDをOFFに設定して、デッドロックやロックに関する問題を回避します。これらの変数はデフォルトでOFFに設定されています。現在のレジストリ変数の設定を表示するには、db2set -all
コマンドを使用します。
これらの変数がOFFに設定されていない場合は、次のコマンドを使用します。
db2set DB2_EVALUNCOMMITTED=OFF db2set DB2_SKIPINSERTED=OFF db2set DB2_SKIPDELETED=OFF
db2stop
および db2start
コマンドを使用して、データベース・サーバーを再起動します。
DB2では、メモリー・ストレスやロック使用状況によって、行ロックが表ロックにエスカレートする場合があります。その結果、デッドロックやロック・タイムアウトの影響により、ユーザーのトランザクションがロールバックされる可能性があります。ロック・エスカレーションを減らすには、MAXLOCKSおよびLOCKLIST構成パラメータのサイズを増やします。次のコマンドを使用します。
db2 'update database config for database_alias using locklistvalue
' db2 'update database config for database_alias using maxlocksvalue
'
分離レベルは、Currently Committedに設定する必要があります。設定を確認するには、次のコマンドを使用します。
db2 'get database config for database_alias' | grep -i commit
分離レベルをCurrently Committedに設定するには、次のコマンドを使用します。
db2 'update database config for database_alias using CUR_COMMIT ON'
データベース・トランザクション・ログが頻繁にいっぱいになる場合は、より大きなログ・ファイルを使用できるようにデータベースの構成パラメータの値を増やします。ログ・ファイルを大きくすると、より多くのスペースが必要になりますが、アプリケーションで操作をリトライする必要性が減少します。ログ・ファイルのサイズは10000以上、プライマリ・ログ・ファイルの数は50以上に設定する必要があります。次のコマンドを使用します。
db2 'update database config for database_alias using LOGFILESIZ 10000' db2 'update database config for database_alias using LOGPRIMARY 50'
Fusion Middleware ControlまたはWLSTコマンドを使用して、MDSリポジトリのほとんどの操作を実行できます。ただし、Fusion Middleware Controlのカスタム・ユーザー・インタフェースまたはWLSTコマンドが使用できない一部の操作では、システムMBeanを使用する必要があります。
次の各項では、システムMBeanのみがサポートされている場合を除き、Fusion Middleware ControlとWLSTコマンドを使用して、操作を実行する方法を説明します。システムMBeanのみがサポートされている場合、その項ではシステムMBeanを使用して操作を実行する方法を説明します。
パーティション、各パーティションにデプロイされたアプリケーションなど、リポジトリの詳細を表示できます。また、パーティションに対して、パージ、削除、メタデータのインポートやエクスポートなどの操作も実行できます。
後続の各項目で説明するMDS操作を使用する場合は次の事項に注意してください。
エクスポート操作では、MDSリポジトリ・パーティションからファイル・システムのディレクトリまたはアーカイブに、メタデータ・ドキュメントのバージョニング済のストライプ(最新バージョンまたはラベルに基づいた)がエクスポートされます。このディレクトリまたはアーカイブは、アプリケーションを実行しているホストからアクセス可能である必要があります。メタデータのバージョニングはファイルベース・リポジトリではサポートされないため、ファイルベース・リポジトリからは、最新バージョン(唯一のバージョン)がエクスポートされます。
インポート操作では、ファイル・システム・ディレクトリまたはアーカイブからMDSリポジトリ・パーティションにメタデータ・ドキュメントがインポートされます。このディレクトリまたはアーカイブは、アプリケーションを実行しているホストからアクセス可能である必要があります。ターゲット・リポジトリがデータベース・ベース・リポジトリの場合、メタデータ・ドキュメントは新しい最新バージョンとしてインポートされます。ターゲット・リポジトリがファイルベース・リポジトリの場合、メタデータ・ドキュメントは上書きされます。
注意:
|
表13-1は、各操作に必要な論理ロールを示しています。ロールは、その操作の実行にWLSTコマンド、Fusion Middleware Control、およびMBeanのどれを使用する場合でも適用されます。
表13-1 MDSの操作と必要なロール
操作 | 論理ロール |
---|---|
キャッシュのクリア |
アプリケーションのオペレータ・ロール |
メータデータ・パーティションのクローニング |
ドメインのAdminロール |
メタデータ・ラベルの作成 |
アプリケーションのAdminロール |
メタデータ・パーティションの作成 |
ドメインのAdminロール |
メタデータの削除 |
アプリケーションのAdminロール |
メタデータ・ラベルの削除 |
アプリケーションのAdminロール |
メタデータ・パーティションの削除 |
ドメインのAdminロール |
メタデータ・データベース・リポジトリの登録解除 |
ドメインのAdminロール |
メタデータ・ファイル・リポジトリの登録解除 |
ドメインのAdminロール |
メタデータのエクスポート |
アプリケーションのオペレータ・ロール |
MARのインポート |
アプリケーションのAdminロール |
メタデータのインポート |
アプリケーションのAdminロール |
メタデータ・ラベルの一覧表示 |
アプリケーションのMonitorロール |
メタデータ・ラベルの昇格 |
アプリケーションのAdminロール |
メタデータのパージ |
アプリケーションのAdminロール |
メタデータ・データベース・リポジトリの登録 |
ドメインのAdminロール |
メタデータ・ファイル・リポジトリの登録 |
ドメインのAdminロール |
これらのロールをWebLogic Serverのロールにマップする方法については、『Oracle Fusion Middlewareセキュリティ・ガイド』のWebLogicロールへの論理ロールのマッピングに関する項を参照してください。
次の各項では、データベース・ベースのMDSリポジトリを登録および登録解除する方法を説明します。
第13.2項で説明したように、RCUを使用してデータベース・ベースのMDSリポジトリを作成できます。MDSリポジトリへのアプリケーションのデプロイを可能にするには、あらかじめリポジトリをOracle WebLogic Serverドメインに登録しておく必要があります。
Fusion Middleware Controlを使用してデータベース・ベースのMDSリポジトリを登録する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開いてから、「WebLogicドメイン」を開きます。
ドメインを選択します。
「WebLogicドメイン」メニューから、「メタデータ・リポジトリ」を選択します。
次の図のように、「メタデータ・リポジトリ」ページが表示されます。
「データベース・ベース・リポジトリ」セクションで、「登録」をクリックします。
「データベース・ベースのメタデータ・リポジトリの登録」ページが表示されます。
「データベース接続」セクションに、次の情報を入力します。
「データベース」でデータベースのタイプを選択します。
「ホスト名」に、ホストの名前を入力します。
「ポート」に、データベースのポート番号を入力します(例: 1521
)。
「サービス名」に、データベースのサービス名を入力します。データベースのデフォルトのサービス名は、グローバル・データベース名です。これはorcl
などのデータベース名とドメイン名で構成されます。この例のサービス名はorcl.domain_name.com
になります。
「ユーザー名」に、SYS
などの、SYSDBAロールが割り当てられたデータベース・ユーザー名を入力します。
「パスワード」に、このユーザーのパスワードを入力します。
「ロール」で、SYSDBAなどのデータベース・ロールを選択します。
「問合せ」をクリックします。
次の図のように、データベース内のスキーマとそのメタデータ・リポジトリの表が表示されます。
リポジトリを選択して、次の情報を入力します。
「リポジトリ名」に名前を入力します。
「スキーマ・パスワード」に、スキーマ作成時に指定したパスワードを入力します。
「OK」をクリックします。
Oracle WebLogic Serverドメインにリポジトリが登録されます。また、mds-repository_nameという名前のシステム・データソースが作成されます。このデータソースに対するグローバル・トランザクション・サポートは無効になっています。
コマンドラインを使用してデータベース・ベースのMDSリポジトリを登録するには、WLSTのregisterMetadataDBRepository
コマンドを使用します。たとえば、MDSリポジトリmds-repos1を登録するには、次のコマンドを使用します。
registerMetadataDBRepository(name='mds-repos1', dbVendor='ORACLE', host='hostname', port='1521', dbName='ora11', user='username', password='password', targetServers='server1')
登録解除をしても、リポジトリに格納されているデータが失われることはありません。ただし、このリポジトリを使用しているアプリケーションはすべて、リポジトリの登録解除後に機能しなくなります。リポジトリの登録解除前には、必ずそのリポジトリを使用しているアプリケーションがないことを確認してください。
Fusion Middleware Controlを使用してMDSリポジトリの登録を解除する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開いてから、「WebLogicドメイン」を開きます。
ドメインを選択します。
「WebLogicドメイン」メニューから、「メタデータ・リポジトリ」を選択します。
「メタデータ・リポジトリ」ページが表示されます。
また、メタデータ・リポジトリのホーム・ページの「メタデータ・リポジトリ」メニューから、「管理」→「登録/登録解除」を選択して、「メタデータ・リポジトリの登録」ページにナビゲートすることもできます。
表からリポジトリを選択します。
「登録解除」を選択します。
「確認」ダイアログ・ボックスで「はい」をクリックします。
コマンドラインを使用してデータベース・ベースのMDSリポジトリの登録を解除するには、WLSTのderegisterMetadataDBRepository
コマンドを使用します。たとえば、MDSリポジトリmds-repos1を登録解除するには、次のコマンドを使用します。
deregisterMetadataDBRepository(name='mds-repos1')
次の各項目では、ファイルベース・メタデータ・リポジトリの登録および登録解除の方法を説明します。
Fusion Middleware Controlを使用して、ファイルベースMDSリポジトリを作成し、Oracle WebLogic Serverドメインに登録できます。
Fusion Middleware Controlを使用して、ファイルベース・リポジトリを作成および登録する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開いてから、「WebLogicドメイン」を開きます。
ドメインを選択します。
「WebLogicドメイン」メニューから、「メタデータ・リポジトリ」を選択します。
「メタデータ・リポジトリ」ページが表示されます。
「ファイルベース・リポジトリ」セクションで、「登録」をクリックします。
「メタデータ・リポジトリの登録」ページが表示されます。
次の情報を入力します。
「名前」に名前を入力します。たとえば、repos1と入力します。名前に接頭辞mds-
が追加され、mds-repos1という名前のリポジトリが登録されます。mds-
で始まる名前を入力した場合は、指定した名前のリポジトリが登録されます。
「ディレクトリ」で、ディレクトリを指定します。このリポジトリを使用するアプリケーションが実行される管理サーバーと管理対象サーバーには、このディレクトリに対する書込み権限が必要です。
次の事項に注意してください。
指定したパスがファイル・システム上に存在する場合は、メタデータ・ファイル・リポジトリが登録されます。このパスの下にあるすべてのサブディレクトリは、このファイルベース・リポジトリのパーティションとして自動的にロードされます。
指定したパスが存在しない場合は、登録中にこの名前のディレクトリがファイル・システム上に作成されます。まだパーティションが作成されていないため、ロードされるサブディレクトリはありません。
指定したパスが無効またはなんらかの理由(権限が拒否されるなど)で作成できない場合は、エラーが表示され、登録は失敗します。
指定したパスがディレクトリではなくファイルとして存在する場合は、エラーは表示されず、登録は成功します。
「OK」をクリックします。
リポジトリが作成および登録され、「メタデータ・リポジトリ」ページに表示されます。
これでパーティションの作成と削除ができるようになりました。これらの変更は、ファイル・システム上のディレクトリに反映されます。
ファイルベース・リポジトリは、システムMBeanを使用して作成することもできます。システムMBeanブラウザの使用方法の詳細は、第3.6項を参照してください。
Fusion Middleware Controlを使用して、ファイルベースMDSリポジトリの登録を解除できます。
Fusion Middleware Controlを使用してファイルベース・リポジトリの登録を解除する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開いてから、「WebLogicドメイン」を開きます。
ドメインを選択します。
「WebLogicドメイン」メニューから、「メタデータ・リポジトリ」を選択します。
「メタデータ・リポジトリ」ページが表示されます。
「ファイルベース・リポジトリ」セクションで、リポジトリを選択し「登録解除」をクリックします。
「確認」ダイアログ・ボックスで「OK」をクリックします。
ファイルベース・リポジトリが有効の場合は、リポジトリ・リストから削除されます。有効でない場合は、エラーが表示されます。
ファイルベース・リポジトリは、システムMBeanを使用して登録解除することもできます。システムMBeanブラウザの使用方法の詳細は、第3.6項を参照してください。
Fusion Middleware Controlを使用してMDSリポジトリに関する情報を表示する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開いてから、「メタデータ・リポジトリ」を開きます。
リポジトリを選択します。
次の図は、MDSリポジトリのホーム・ページを示しています。
リポジトリのタイプや場所など、リポジトリの一般情報を表示するには、第3.3.3項の説明に従って、コンテキスト・ペインのヘッダーの「情報」アイコンをクリックします。
システムMBeanのlistPartitions、listRepositories、およびlistRepositoryDetailsの各操作を使用すると、リポジトリ内のパーティションの一覧、リポジトリの一覧、ドメインに登録されているリポジトリの詳細を取得できます。
Fusion Middleware Controlのナビゲーション・ペインから、ドメインにナビゲートして選択します。「WebLogicドメイン」メニューから、「システムMBeanブラウザ」を選択します。
「システムMBeanブラウザ」ページが表示されます。
このページのナビゲーション・ペインで、「アプリケーション定義のMBean」→「oracle.mds.lcm」を開きます。ドメインを開いてから「MDSDomainRuntime」を開き、「MDSDomainRuntime」を選択します。
「アプリケーション定義のMBean」ペインで、「操作」タブを選択します。
listPartitions、listRepositories、listRepositoryDetailsのいずれかをクリックして、情報を表示します。
アプリケーションはデプロイ時にMDSリポジトリに関連付けできます。その後、WLSTまたはFusion Middleware Controlを使用して、アプリケーションが関連付けられているMDSリポジトリまたはパーティションを変更できます。たとえば、特定のアプリケーションに使用する必要がある別のメタデータが、異なるリポジトリに格納されている場合などです。
アプリケーションを新しいMDSリポジトリまたはパーティションに関連付けるには、次のいずれかを実行します。
新しいリポジトリまたはパーティションを指定して、アプリケーションを再デプロイします。
新しいパーティションを作成するには、次のいずれかを実行します。
パーティションを別のリポジトリにクローニングします。パーティションのクローニングは、タイプとバージョンが同じであるデータベースのデータベース・ベース・リポジトリでのみ有効です。パーティションをクローニングするときは、すべてのカスタマイズおよびラベルも含めて、メタデータのバージョン履歴を保持します。
パーティションのクローニング方法、およびクローニングしたパーティションを指定してアプリケーションを再デプロイする方法は、第13.3.6.1項で説明します。
現在のパーティションからメタデータをエクスポートして、新しいパーティションにインポートしたら、新しいパーティションを指定してアプリケーションを再デプロイします。
新しいリポジトリまたはパーティションを指定して、アプリケーションを再デプロイする方法は、第13.3.6.2項で説明します。
システム・データソースを変更します。システム・データソースを変更すると、そのデータソースが格納されるデータベースまたはスキーマを変更できます。
システム・データソースの変更方法は、第13.3.6.3項で説明します。
システムMBeanのcloneMetadataPartitionを使用すると、同じリポジトリまたは別のリポジトリにパーティションをクローニングできます。元のリポジトリもターゲット・リポジトリも、データベース・ベース・リポジトリを使用する必要があります。
パーティションをクローニングして、新しいリポジトリまたは同じリポジトリにアプリケーションを再デプロイする手順は次のとおりです。
システムMBeanのcloneMetadataPartition操作を使用して、パーティションをクローニングします。次の例では、partition1を元のリポジトリから新しいリポジトリにクローニングします。
Fusion Middleware Controlのナビゲーション・ペインから、アプリケーションがデプロイされている管理対象サーバーにナビゲートします。「WebLogicサーバー」メニューから、「システムMBeanブラウザ」を選択します。
「システムMBeanブラウザ」ページが表示されます。
「システムMBeanブラウザ」のナビゲーション・ペインで、「アプリケーション定義のMBean」→「oracle.mds.lcm」を開きます。ドメインを開いてから「MDSDomainRuntime.」を開きます。「MDSDomainRuntime」を選択します。
「アプリケーション定義のMBean」ペインで、「操作」タブを選択します。
次の図では、「システムMBeanブラウザ」に「アプリケーション定義のMBeans」ペインが表示されています。
「cloneMetadataPartiton」を選択します。
「操作: cloneMetadataPartiton」ページが表示されます。
「パラメータ」の表に次の値を入力します。
「fromRepository」に、メタデータ・ドキュメントのクローニング元のメタデータ・パーティションが格納されているメタデータ・リポジトリの名前を入力します。
「fromPartition」に、メタデータ・ドキュメントのクローニング元のパーティションの名前を入力します。
「toRepository」に、ソース・リポジトリ・パーティションのドキュメントのクローニング先とするメタデータ・リポジトリの名前を入力します。
「toPartition」に、ターゲット・パーティションとして使用するメタデータ・リポジトリ・パーティションの名前を入力します。この名前はリポジトリ内で一意にする必要があります。このパラメータに値を指定しない場合、ソース・パーティションの名前がターゲット・パーティションに使用されます。
「toRepository」の名前が元のリポジトリと同じ場合は、パーティション名を入力する必要があります。この名前はリポジトリ内で一意である必要があります。
「起動」をクリックします。
ナビゲーション・ペインでリポジトリを選択して、パーティションが作成されていることを確認します。このパーティションは「メタデータ・リポジトリ」ホーム・ページの「パーティション」表に記載されています。
アプリケーションのタイプに応じて、 第9.4.3項、第9.5.3項、または第9.6.3項の説明に従い、アプリケーションを再デプロイします。この操作の際には、「アプリケーション属性」ページで新しいパーティションおよびリポジトリを指定します。
リポジトリを変更するには、「リポジトリ名」の横にあるアイコンをクリックします。「メタデータ・リポジトリ」ダイアログ・ボックスでリポジトリを選択し、「OK」をクリックします。
パーティションを変更するには、「パーティション名」にパーティション名を入力します。
アプリケーションを再デプロイして、新しいパーティションを指定することで、新しいリポジトリに新しいパーティションを作成できます。続いて、WLSTを使用して、メタデータを新しいパーティションに転送します。
この手順を使用すると、タイプの異なる2つのリポジトリ間で(ファイルベースからデータベース・ベースへ、またはOracle Databaseから別のデータベースへ)メタデータを転送できます。
新しいパーティションを作成して、アプリケーションを再関連付けする手順は次のとおりです。
WLSTのexportMetadata
コマンドを使用して、ソース・パーティションからファイル・システム上のディレクトリにメタデータをエクスポートします。
exportMetadata(application='sampleApp', server='server1', toLocation='/tmp/myrepos/mypartition', docs='/**')
第9.4.3項、第9.5.3項または第9.6.3項の説明に従って、アプリケーションのタイプに応じてアプリケーションを再デプロイします。この操作の際には、「アプリケーション属性」ページで新しいパーティションおよびリポジトリを指定します。
リポジトリを変更するには、「リポジトリ名」の横にあるアイコンをクリックします。「メタデータ・リポジトリ」ダイアログ・ボックスでリポジトリを選択し、「OK」をクリックします。
パーティションを変更するには、「パーティション名」にパーティション名を入力します。
WLSTのimportMetadata
コマンドを使用して、ファイル・システムから新しいパーティションにメタデータをインポートします。
importMetadata(application='sampleApp', server='server1', fromLocation='/tmp/myrepos/mypartiton', docs='/**')
また、第13.3.3.2項または第13.3.2.2項の説明に従って、元のリポジトリの登録を解除することもできます。
または、WLSTコマンドcreateMetadataPartition
を使用して、新しいパーティションを作成することもできます。パーティション名はリポジトリ内で一意にする必要があります。このパーティション・パラメータがない場合は、ソース・パーティションの名前がターゲット・パーティションに使用されます。次の例では、パーティションpartition1を作成します。
createMetadataPartition(repository='mds-repos1', partition='partition1')
システム・データソースを変更して、アプリケーションを新しいリポジトリに再関連付けします。データソースが格納されるデータベースまたはスキーマを変更できます。そのためには、Oracle WebLogic Server管理コンソールを使用します。
チェンジ・センターで、「ロックして編集」をクリックします。
「ドメイン構造」セクションで、「サービス」→「JDBC」を開き、「データ・ソース」を選択します。
「JDBCデータ・ソースのサマリー」ページが表示されます。
変更するデータソースを選択します。
「設定」ページが表示されます。
「接続プール」タブを選択します。
データベースを変更するには、「URL」フィールドを変更します。たとえば、次のように指定します。
jdbc:oracle:thin:@hostname.domainname.com:1522/orcl
スキーマを変更するには、「プロパティ」フィールドを変更して、user
プロパティを変更します。たとえば、OFM-MDSという名前のスキーマを指定するには、次のように指定します。
user=OFM-MDS
データベースがDB2データベースの場合は、次のプロパティを追加します。
sendStreamAsBlob=true
「パスワード」にスキーマのパスワードを入力した後、確認のために再度そのパスワードを入力します。
「保存」をクリックします。
このデータソースを使用するサーバーを再起動します(「ターゲット」タブをクリックし、このデータソースを使用するサーバーを表示します)。
MDSのメタデータは、別のドメインのパーティションに転送できます。例に示すように、テスト・システムから本番システムにアプリケーションを移行します。テスト・システムのドメインにデプロイされているテスト・アプリケーションと、本番システムのドメインにデプロイされている本番アプリケーションがあります。テスト・システムから本番システムにカスタマイズを転送します。これを実行するには、テスト・システムのパーティションから本番システムのパーティションにメタデータを転送します。
パーティション間でメタデータを転送するには、パーティションからメタデータをエクスポートして、別のパーティションにインポートします。メタデータの転送にはFusion Middleware ControlまたはWLSTを使用できます。
Fusion Middleware Controlを使用してメタデータを転送する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開き、「アプリケーションのデプロイ」を開いてから、アプリケーションを選択します。
「アプリケーションのデプロイ」メニューで、「MDS構成」を選択します。
「MDS構成」ページが表示されます。
「エクスポート」をクリックします。次の図に示すように、「Export」ダイアログ・ボックスが表示されます。
「エクスポート」ダイアログ・ボックスに、メタデータのエクスポートが可能なディレクトリの場所またはアーカイブを入力します。このディレクトリまたはアーカイブは、ローカルまたはネットワークのディレクトリ、あるいはアプリケーションが物理的にデプロイされているファイルである必要があります。入力した場所がファイル・システムに存在しない場合は、ディレクトリが作成されますが、名前の末尾が.jar、.JAR、.zip、または.ZIPの場合は、アーカイブが作成されます。既存のアーカイブにメタデータをエクスポートすると、既存のファイルは上書きされます。
ディレクトリを指定する場合、メタデータは指定したディレクトリのサブディレクトリに書き込まれ、エクスポートされたパーティションの名前がサブディレクトリの名前として使用されます。
「ベース・ドキュメントの除外」を選択すると、カスタマイズのみがエクスポートされ、ベース・ドキュメントはエクスポートされません。ベース・ドキュメントおよびカスタマイズについては、第13.3.1項を参照してください。
「OK」をクリックします。
「確認」ダイアログ・ボックスで「Close」をクリックします。
本番アプリケーションが別のシステムにある場合は、エクスポートされたメタデータをそのシステムにコピーします。
本番システムのナビゲーション・ペインで、ファームを開き、「アプリケーションのデプロイ」を開いてから、アプリケーションを選択します。
「インポート」をクリックします。
次の図に示すように、「Import」ダイアログ・ボックスが表示されます。
「インポート」ダイアログ・ボックスに、エクスポートされたメタデータが格納されているディレクトリまたはアーカイブの場所を入力します。ディレクトリを指定する場合は、パーティション名が付けられているサブディレクトリも含めます。このディレクトリまたはアーカイブは、ローカルまたはネットワークのディレクトリ、あるいはアプリケーションが物理的にデプロイされているファイルである必要があります。
「OK」をクリックします。
WLSTを使用してメタデータを転送する手順は次のとおりです。
exportMetadata
コマンドを使用して、元のパーティションからメタデータをエクスポートします。
exportMetadata(application='sampleApp', server='server1', toLocation='/tmp/myrepos/mypartition', docs='/**')
このコマンドによって、メタデータ・ドキュメントのバージョニング済ストライプが、メタデータ・パーティションからファイル・システム・ディレクトリにエクスポートされます。
本番アプリケーションが別のシステムにある場合は、エクスポートされたメタデータをそのシステムにコピーします。
WLSTのimportMetadata
コマンドを使用して、メタデータを別のパーティションにインポートします。
importMetadata(application='sampleApp', server='server1', fromLocation='/tmp/myrepos/mypartiton', docs='/**')
fromLocation
パラメータの値は、WLSTを実行しているシステムと同一システム上の場所にするか、またはマップ済のネットワーク・ドライブまたはディレクトリ・マウント上の場所にする必要があります。ネットワーク参照を直接使用することはできません(\\mymachine\repositories\
など)。
ファイルベース・リポジトリをデータベース・ベース・リポジトリに移動できます(データベース・ベース・リポジトリからファイルベース・リポジトリへの移動はできません)。
停止時間を最短にするため、ファイルベース・リポジトリからデータベース・ベース・リポジトリにアプリケーションのメタデータを移動するには、次の手順を使用します。
第13.2項の説明に従い、RCUを使用して新しいリポジトリにスキーマを作成します。
ソース・パーティションと一致する名前を使用して、WLSTコマンドcreateMetadataPartition
で新しいパーティションを作成します。
createMetadataPartition(repository='mds-repos1', partition='partition1')
ソース・パーティションからファイル・システム上のディレクトリにメタデータをエクスポートします。
exportMetadata(application='sampleApp', server='server1', toLocation='/tmp/myrepos/partition1', docs='/**')
ファイル・システムから新しいパーティションにメタデータをインポートします。
importMetadata(application='sampleApp', server='server1', fromLocation='/tmp/myrepos/partition1', docs='/**')
第9.4.3項、第9.5.3項または第9.6.3項の説明に従って、アプリケーションのタイプに応じてアプリケーションを再デプロイします。この操作の際には、「アプリケーション属性」ページで新しいパーティションおよびリポジトリを指定します。
リポジトリを変更するには、「リポジトリ名」の横にあるアイコンをクリックします。「メタデータ・リポジトリ」ダイアログ・ボックスでリポジトリを選択し、「OK」をクリックします。
パーティションを変更するには、「パーティション名」にパーティション名を入力します。
第13.3.3.2項の説明に従って、ファイルベース・リポジトリの登録を解除します。
アプリケーションのデプロイもアプリケーションによる参照も存在しないメタデータ・パーティションは削除できます。リポジトリからのメタデータ・パーティションの削除が必要な場合には、次の状況が考えられます。
アプリケーションのアンデプロイ時。パーティション内のユーザー・カスタマイズなどのメタデータが引き続き必要な場合があるため、Oracle Fusion Middlewareではメタデータ・パーティションが残されます。メタデータが不要な場合は、パーティションを削除できます。
メタデータを別のパーティションに転送し、新しいパーティションを使用するようにアプリケーションを構成した場合。
パーティションをクローニングし、新しいパーティションを使用するようにアプリケーションを構成した場合。
パーティションを削除すると、そのパーティションに含まれるデータはすべて削除されます。
次の各項の説明に従って、WLSTまたはFusion Middleware Controlを使用し、メタデータのパーティションを削除できます。
メタデータ・パーティションをリポジトリから削除するには、WLSTコマンドdeleteMetadataPartition
を使用できます。たとえば、ファイルベース・リポジトリrepository1からメタデータ・パーティションを削除するには、次のコマンドを使用します。
deleteMetadataPartition(repository='mds-repos1', partition='partition1')
データベース・ベースのMDSリポジトリでは、メタデータ・バージョン履歴をパーティションからパージできます(ファイルベースのMDSリポジトリではバージョン履歴が保持されません)。この操作では、ラベルのないドキュメントのバージョン履歴がアプリケーションのリポジトリ・パーティションからパージされます。最新バージョンはラベルがない場合もパージされません。
ラベル付きドキュメントをパージするには、第13.3.11.2項で説明されているように、最初にラベルを削除する必要があります。
データベースのスペース不足またはパフォーマンスの劣化が疑われる場合は、MDSリポジトリのメンテナンスの一環として、メタデータ・バージョン履歴を定期的にパージすることを検討してください。この操作はパフォーマンス集約型であるため、メンテナンス・ウィンドウ内またはシステム使用量の少ないときに実行するようにしてください。
特定のタイプのアプリケーションに固有の推奨事項については、個々のコンポーネントのドキュメントを参照してください。
次の項の説明にあるように、WLSTまたはFusion Middleware Controlを使用して、メタデータ・バージョン履歴をパージできます。
WLSTを使用して、メタデータ・バージョン履歴をパージするには、purgeMetadata
コマンドを使用します。olderThan
パラメータで秒数を指定して、パージするドキュメントを指定します。次の例では、100秒以上経過しているすべてのドキュメントがパージされます。
purgeMetadata(application='sampleApp', server='server1', olderThan=100)
Fusion Middleware Controlを使用してメタデータ・バージョン履歴をパージする手順は次のとおりです。
ナビゲーション・ペインで、ファームを開き、「アプリケーションのデプロイ」を開いてから、アプリケーションを選択します。
「アプリケーションのデプロイ」メニューで、「MDS構成」を選択します。
「MDS構成」ページが表示されます。
「パージ」をクリックします。
次の図のように、「パージ」ダイアログ・ボックスが表示されます。
「次より古い過去のラベルのない全バージョンをパージ」フィールドで、時間の数値を入力し、時間の単位を選択します。たとえば、「3」と入力し、「月」を選択します。
「OK」をクリックします。
進行状況を示すボックスが表示されます。操作が完了すると、完了ボックスが表示されます。
「閉じる」をクリックします。
メタデータ・ラベルは、メタデータ・リポジトリ・パーティションから各オブジェクトの特定のバージョンを選択する手段です。概念的には、1つのドキュメント当たりバージョンのドキュメント・バージョンのコレクションで、様々なドキュメント・バージョンの水平ストライプを表します。このストライプは、ラベルが作成された時点におけるドキュメントの最新バージョンで構成されます。
ラベルに含まれるドキュメント・バージョンは、ラベルを明示的に削除しないかぎり、自動パージでは削除されません。このように、ラベルを作成することによって、ラベルの作成時点におけるメタデータのビューは、ラベルが削除されるまで使用可能です。
ラベルを使用すると、ラベル作成時点におけるメタデータを表示できます。パーティションに含まれるアプリケーションのメタデータの論理バックアップとリカバリをサポートするコマンドを使用できます。
ラベルは、データベース・ベース・リポジトリでのみサポートされます。
次の各項目で、ラベルの管理方法について説明します。
MDSリポジトリのパーティション内で、オブジェクトの特定バージョンにラベルを作成するには、WLSTコマンドcreateMetadataLabel
を使用します。たとえば、アプリケーションmy_mds_appにprod1という名前のラベルを作成するには、次のコマンドを使用します。
createMetadataLabel(application='my_mds_app', server='server1', name='prod1')
バージョンが複数あるアプリケーションの場合は、applicationVersionパラメータを使用してバージョンを指定する必要があります。
メタデータ・ラベルを削除するには、WLSTコマンドdeleteMetadataLabel
を使用します。たとえば、アプリケーションmy_mds_appのprod1という名前のラベルを削除するには、次のコマンドを使用します。
deleteMetadataLabel(application='my_mds_app', server='server1', name='prod1')
バージョンが複数あるアプリケーションの場合は、applicationVersion
パラメータを使用してバージョンを指定する必要があります。
アプリケーションに関連付けられたラベルを検索するには、第13.3.11.3項の説明に従って、listMetadataLabels
コマンドを使用します。
特定のアプリケーションのメタデータ・ラベルを一覧表示できます。一覧表示には、WLSTコマンドlistMetadataLabel
を使用します。たとえば、アプリケーションmy_mds_appのラベルを一覧表示するには、次のコマンドを使用します。
listMetadataLabels(application='my_mds_app', server='server1')
バージョンが複数あるアプリケーションの場合は、applicationVersion
パラメータを使用してバージョンを指定する必要があります。
メタデータ・ラベルが関連付けられたドキュメントを昇格して、最終バージョンにすることができます。つまり、最新への昇格が可能です。ラベルによって取得されたすべてのドキュメントを以前のバージョンにロールバックする場合にラベルを昇格します。
ラベルを最新に昇格するには、WLSTコマンドpromoteMetadataLabel
を使用します。たとえば、ラベルprod1を昇格する場合は、次のコマンドを使用します。
promoteMetadataLabel(application='my_mds_app', server='server1', name='prod1')
バージョンが複数あるアプリケーションの場合は、applicationVersion
パラメータを使用してバージョンを指定する必要があります。
次の各項目で、メタデータ・リポジトリ・スキーマの管理方法について説明します。
たとえば、スキーマOFM_MDSのパスワードを変更する手順は次のとおりです。
SQLPlusを使用して、データベースに接続します。SYSDBA権限のあるユーザーとして接続します。
次のコマンドを発行します。
SQL> ALTER USER schema IDENTIFIED BY new_password;
たとえば、OFM_MDSのパスワードをabc123
に変更するには、次のコマンドを使用します。
SQL> ALTER USER OFM_MDS IDENTIFIED BY abc123;
MDSリポジトリ・スキーマ・パスワードを変更する場合は、Oracle WebLogic Server管理コンソールを使用して、対応するMDSリポジトリ・データソースのパスワードを変更する必要があります。
「ドメイン構造」で、「サービス」→「JDBC」を開き、「データ・ソース」を選択します。
MDSリポジトリに関連するデータソースをクリックします。
「構成」タブをクリックして、「接続プール」タブをクリックします。
「パスワード」に新しいパスワードを入力します。
「保存」をクリックします。
このデータソースを使用する管理対象サーバーを再起動します。
Oracle Databaseに格納されるメタデータ・リポジトリのキャラクタ・セットを変更する方法については、次のサイトにアクセスして、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
http://www.oracle.com/technology/documentation/database.html
新しいシステムのデプロイメントには、すべてUnicodeを使用することをお薦めします。システムをUnicodeでデプロイすることにより、操作性、互換性、拡張性の面で多くの利点が得られます。Oracle Databaseを使用すると、Unicodeの利点を利用しながら、高パフォーマンスのシステムをより迅速かつより容易にデプロイすることができます。現在、多言語データのサポートが必要ない場合でも、Unicodeをまったく必要としていない場合でも、Oracle Databaseの使用は新しいシステムにとって長期的には最善の選択となる可能性が高く、最終的に、時間と資金が節約されるとともに、長期にわたって競争上の優位性が確立されます。
SQL Serverデータベースにメタデータを格納する場合で、ロケールを考慮したキャラクタ・セットが大/小文字を区別しない場合は、データベース・インスタンスの作成時に、大/小文字区別の照合順序を選択する必要があります。RCUを使用してSQL ServerにMDSスキーマを作成する場合は、Unicodeサポートがデフォルトになります。使用要件に応じて、このデフォルト設定はUnicode以外のスキーマを使用するように上書きできます。