この章では、Oracle Fusion Middlewareで使用するメタデータ・リポジトリの管理について説明します。
次の項目が含まれます。
注意: IBM Websphereでメタデータ・リポジトリを管理する方法の詳細は、Oracle Fusion Middlewareサード・パーティ・アプリケーション・サーバー・ガイドのIBM Websphereでのメタデータ・サービス(MDS)の構成に関する項を参照してください。 |
メタデータ・リポジトリには、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リポジトリ・タイプに固有の関連情報については、第14.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リポジトリの管理については、第14.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 Cluster(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リポジトリに関連付ける方法は、第10章を参照してください。
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
Oracle Databaseを使用する場合、Repository Creation Utility(RCU)によって作成されたMDSデータベース・ユーザーには、DBMS_OUTPUTおよびDBMS_LOBに対するEXECUTE権限が必要です。RCUを使用してメタデータ・リポジトリを作成するときに、DBMS_OUTPUTおよびDBMS_LOBに対するEXECUTE権限がPUBLICにない場合、RCUユーザーは、DBMS_OUTPUTおよびDBMS_LOBに関するEXECUTE権限をMDSユーザーに付与する権限を持っている必要があります。
正しい権限を持っていることを確認するには、DBMS_OUTPUTおよびDBMS_LOBに対してGRANT OPTION付きのEXECUTE権限を持っているSYSDBAユーザーまたはDBAユーザーとしてRCUにログインします。
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リポジトリ・パーティションにメタデータ・ドキュメントがインポートされます。ディレクトリにエクスポートした場合、このディレクトリは、アプリケーションを実行しているホストからアクセス可能である必要があります。アーカイブにエクスポートした場合、このアーカイブは、コマンドを実行するシステム上に配置できます。
ターゲット・リポジトリがデータベース・ベース・リポジトリの場合、メタデータ・ドキュメントは新しい最先端バージョンとしてインポートされます。ターゲット・リポジトリがファイルベース・リポジトリの場合、メタデータ・ドキュメントは上書きされます。
注意:
|
表14-1は、各操作に必要な論理ロールを示しています。ロールは、その操作の実行にWLSTコマンド、Fusion Middleware Control、およびMBeanのどれを使用する場合でも適用されます。
表14-1 MDSの操作と必要なロール
操作 | 論理ロール |
---|---|
キャッシュのクリア |
アプリケーションのオペレータ・ロール |
メータデータ・パーティションのクローニング |
ドメインのAdminロール |
メタデータ・ラベルの作成 |
アプリケーションのAdminロール |
メタデータ・パーティションの作成 |
ドメインのAdminロール |
メタデータの削除 |
アプリケーションのAdminロール |
メタデータ・ラベルの削除 |
アプリケーションのAdminロール |
メタデータ・パーティションの削除 |
ドメインのAdminロール |
メタデータ・データベース・リポジトリの登録解除 |
ドメインのAdminロール |
メタデータ・ファイル・リポジトリの登録解除 |
ドメインのAdminロール |
メタデータのエクスポート |
アプリケーションのオペレータ・ロール |
MARのインポート |
アプリケーションのAdminロール |
メタデータのインポート |
アプリケーションのAdminロール |
メタデータ・ラベルの一覧表示 |
アプリケーションのMonitorロール |
メタデータ・ラベルの昇格 |
アプリケーションのAdminロール |
メタデータのパージ |
アプリケーションのAdminロール |
メタデータ・ラベルのパージ |
アプリケーションのAdminロール |
メタデータ・データベース・リポジトリの登録 |
ドメインのAdminロール |
メタデータ・ファイル・リポジトリの登録 |
ドメインのAdminロール |
これらのロールをWebLogic Serverロールにマップする方法の詳細は『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』の論理ロールのWebLogicロールへのマッピングに関する項を参照してください。
次の各項では、データベース・ベースのMDSリポジトリを登録および登録解除する方法を説明します。
アプリケーションをMDSリポジトリにデプロイする前に、Oracle WebLogic Serverドメインにリポジトリを登録する必要があります。次の各項で説明するように、Fusion Middleware ControlまたはWLSTを使用して、データベース・ベースのMDSリポジトリを登録できます。
第14.2項の説明に従って、RCUを使用してデータベース・ベースのMDSリポジトリを作成します。
Fusion Middleware Controlを使用してデータベース・ベースのMDSリポジトリを登録する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開いてから、「WebLogicドメイン」を開きます。
ドメインを選択します。
「WebLogicドメイン」メニューから、「メタデータ・リポジトリ」を選択します。
次の図のように、「メタデータ・リポジトリ」ページが表示されます。
「データベース・ベース・リポジトリ」セクションで、「登録」をクリックします。
「データベース・ベースのメタデータ・リポジトリの登録」ページが表示されます。
「データベース接続」セクションに、次の情報を入力します。
「データベース・タイプ」で、データベースのタイプを選択します。
「ホスト名」に、ホストの名前を入力します。
「ポート」に、データベースのポート番号を入力します(例: 1521
)。
「サービス名」に、データベースのサービス名を入力します。データベースのデフォルトのサービス名は、グローバル・データベース名です。これはorcl
などのデータベース名とドメイン名で構成されます。この例のサービス名はorcl.domain_name.com
になります。
「ユーザー名」に、SYS
などの、SYSDBAロールが割り当てられたデータベース・ユーザー名を入力します。
「パスワード」に、このユーザーのパスワードを入力します。
「ロール」で、SYSDBAなどのデータベース・ロールを選択します。
「問合せ」をクリックします。
次の図のように、データベース内にメタデータ・リポジトリがある表が表示されます。
リポジトリを選択して、次の情報を入力します。
「リポジトリ名」に名前を入力します。
「スキーマ・パスワード」に、スキーマ作成時に指定したパスワードを入力します。
「OK」をクリックします。
リポジトリは、Oracle WebLogic Serverドメインに登録され、管理サーバーに対してターゲット設定されます。リポジトリのターゲット設定を他のサーバーにする方法は、第14.3.2.2項を参照してください。
また、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リポジトリを登録すると、リポジトリは管理サーバーに対してターゲット指定されます。リポジトリのターゲット設定を追加のサーバーにすることや、ターゲット設定からサーバーを削除することができます。
MDSリポジトリを追加のサーバーにターゲット設定するには:
ナビゲーション・ペインで、ファームを開いてから、「メタデータ・リポジトリ」を開きます。
リポジトリを選択します。
次の図のようにリポジトリのホーム・ページが表示されます。
「ターゲット・サーバー」セクションで、「追加」をクリックします。
「リポジトリをターゲット設定します」ダイアログ・ボックスが表示されます。
サーバーまたはクラスタを選択して、「ターゲット」をクリックします。
クラスタを開いて、クラスタ内のサーバーを表示できます。ただし、クラスタを選択した場合、リポジトリはクラスタ内のすべてのサーバーにターゲット設定されます。
操作が完了したら、「閉じる」をクリックします。
サーバーが「ターゲット・サーバー」セクションにリストされます。
リポジトリのターゲット設定からサーバーを削除するには:
ナビゲーション・ペインで、ファームを開いてから、「メタデータ・リポジトリ」を開きます。
リポジトリを選択します。
リポジトリのホーム・ページが表示されます。
「ターゲット・サーバー」セクションで、ターゲット・サーバーを選択し、「削除」をクリックします。
「リポジトリをターゲット設定解除します」ダイアログ・ボックスが表示されます。
サーバーまたはクラスタを選択して、「ターゲット設定解除」をクリックします。
クラスタを開いて、クラスタ内のサーバーを表示できます。ただし、クラスタを選択した場合、リポジトリはクラスタ内のすべてのサーバーのターゲット設定から削除されます。
操作が完了したら、「閉じる」をクリックします。
登録解除をしても、リポジトリに格納されているデータが失われることはありません。ただし、登録解除されたリポジトリを使用しているアプリケーションはすべて、リポジトリの登録解除後に機能しなくなります。リポジトリの登録解除前には、必ずそのリポジトリを使用しているアプリケーションがないことを確認してください。
次の各項で説明するように、Fusion Middleware ControlまたはWLSTを使用して、データベース・ベースのMDSリポジトリを登録解除できます。
Fusion Middleware Controlを使用してMDSリポジトリの登録を解除する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開いてから、「WebLogicドメイン」を開きます。
ドメインを選択します。
「WebLogicドメイン」メニューから、「メタデータ・リポジトリ」を選択します。
「メタデータ・リポジトリ」ページが表示されます。
また、メタデータ・リポジトリのホーム・ページの「メタデータ・リポジトリ」メニューから、「管理」→「登録/登録解除」を選択して、「メタデータ・リポジトリの登録」ページにナビゲートすることもできます。
表からリポジトリを選択します。
「登録解除」を選択します。
「確認」ダイアログ・ボックスで、「はい」をクリックします。
次の各項目では、ファイルベース・メタデータ・リポジトリの登録および登録解除の方法を説明します。
Fusion Middleware Controlを使用して、ファイルベースMDSリポジトリを作成し、Oracle WebLogic Serverドメインに登録できます。
Fusion Middleware Controlを使用して、ファイルベース・リポジトリを作成および登録する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開いてから、「WebLogicドメイン」を開きます。
ドメインを選択します。
「WebLogicドメイン」メニューから、「メタデータ・リポジトリ」を選択します。
「メタデータ・リポジトリ」ページが表示されます。
「ファイルベース・リポジトリ」セクションで、「登録」をクリックします。
「メタデータ・リポジトリの登録」ページが表示されます。
次の情報を入力します。
「名前」に名前を入力します。たとえば、repos1と入力します。名前に接頭辞mds-
が追加され、mds-repos1という名前のリポジトリが登録されます。mds-
で始まる名前を入力した場合は、指定した名前のリポジトリが登録されます。
「ディレクトリ」で、ディレクトリを指定します。このリポジトリを使用するアプリケーションが実行される管理サーバーと管理対象サーバーには、このディレクトリに対する書込み権限が必要です。
次の点に注意してください。
指定したパスがファイル・システム上に存在する場合は、メタデータ・ファイル・リポジトリが登録されます。このパスの下にあるすべてのサブディレクトリは、このファイルベース・リポジトリのパーティションとして自動的にロードされます。
指定したパスが存在しない場合は、登録中にこの名前のディレクトリがファイル・システム上に作成されます。まだパーティションが作成されていないため、ロードされるサブディレクトリはありません。
指定したパスが無効またはなんらかの理由(権限が拒否されるなど)で作成できない場合は、エラーが表示され、登録は失敗します。
指定したパスがディレクトリではなくファイルとして存在する場合は、エラーは表示されず、登録は成功します。
「OK」をクリックします。
リポジトリが作成および登録され、 「メタデータ・リポジトリ」ページに表示されます。
これでパーティションの作成と削除ができるようになりました。これらの変更は、ファイル・システム上のディレクトリに反映されます。
ファイルベース・リポジトリは、システムMBeanを使用して作成することもできます。システムMBeanブラウザの使用方法の詳細は、第14.3.5項を参照してください。
Fusion Middleware Controlを使用して、ファイルベースMDSリポジトリの登録を解除できます。
Fusion Middleware Controlを使用してファイルベース・リポジトリの登録を解除する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開いてから、「WebLogicドメイン」を開きます。
ドメインを選択します。
「WebLogicドメイン」メニューから、「メタデータ・リポジトリ」を選択します。
「メタデータ・リポジトリ」ページが表示されます。
「ファイルベース・リポジトリ」セクションで、リポジトリを選択し「登録解除」をクリックします。
「確認」ダイアログ・ボックスで「OK」をクリックします。
ファイルベース・リポジトリが有効の場合は、リポジトリ・リストから削除されます。有効でない場合は、エラーが表示されます。
ファイルベース・リポジトリは、システムMBeanを使用して登録解除することもできます。システムMBeanブラウザの使用方法の詳細は、第14.3.5項を参照してください。
アプリケーションを新しいリポジトリに再関連付けするように、システム・データソースを変更できます。データソースを含むデータベースまたはスキーマを変更できます。この変更を行うために、Oracle WebLogic Server管理コンソールまたはFusion Middleware Controlを使用できます。Fusion Middleware Controlを使用するには、次の手順を実行します。
ナビゲーション・ペインで、ファームを開いてから、「WebLogicドメイン」を開きます。
ドメインを選択します。
「WebLogicドメイン」メニューで「JDBCデータソース」を選択します。
「JDBCデータソース」ページが表示されます。
変更するデータソースを選択して、「編集」をクリックします。
「JDBCデータソースの編集」ページが表示されます。
「接続プロパティ」タブを選択します。
データベースを変更するには、「データベースURL」フィールドを変更します。たとえば、次のように指定します。
jdbc:oracle:thin:@hostname.domainname.com:1522/orcl
「パスワード」で、データベースのパスワードを入力します。
スキーマを変更するには、「プロパティ」セクションを変更し、「ユーザー」の値を変更します。
データベースがDB2データベースの場合、プロパティsendStreamAsBlobを値をtrueにして追加します。
「適用」をクリックします。
このデータソースを使用するサーバーを再起動します。
この章のほとんどの手順は、Fusion Middleware ControlまたはWLSTを使用してMDSリポジトリを管理する方法を説明していますが、システムMBeanも使用できます。
Fusion Middleware Controlのナビゲーション・ペインから、ドメインにナビゲートして選択します。「WebLogicドメイン」メニューから、「システムMBeanブラウザ」を選択します。
「システムMBeanブラウザ」ページが表示されます。
このページのナビゲーション・ペインで、「アプリケーション定義のMBean」→「oracle.mds.lcm」を開きます。ドメインを開いてから「MDSDomainRuntime」を開き、「MDSDomainRuntime」を選択します。
「アプリケーション定義のMBean」ペインで、「操作」タブを選択します。
registerMetadataFileRepositoryなど「操作」の1つをクリックします。
「操作」ページが表示されます。
「値」列で、操作の値を入力します。
「起動」をクリックします。
次の各項で説明するように、Fusion Middleware ControlまたはシステムMBeanを使用して、MDSリポジトリに関する情報を表示できます。
Fusion Middleware Controlを使用してMDSリポジトリに関する情報を表示するには:
ナビゲーション・ペインで、ファームを開いてから、「メタデータ・リポジトリ」を開きます。
リポジトリを選択します。
次の図は、MDSリポジトリのホーム・ページを示しています。
どのアプリケーションがリポジトリを使用しているかを表示するには、「アプリケーション」列のアイコンをクリックします。「パーティションを使用するアプリケーション」ダイアログ・ボックスが、「デプロイ済アプリケーション」タブおよび「参照元アプリケーション」タブとともに表示されます。
「デプロイ済アプリケーション」タブに、メタデータがリポジトリ・パーティションにデプロイされたアプリケーションのリストが表示されます。
「参照元アプリケーション」タブに、リポジトリ・パーティションに格納されているメタデータを参照するアプリケーションのリストが表示されます。
このページでは、次の操作も実行できます。
第14.3.10.1項で説明するように、パーティションを削除します。
第14.3.12.5項で説明するように、ラベルを削除します。
第14.3.2.2項で説明するように、ターゲット・サーバーを追加または削除します。
システムMBeanのlistPartitions、listRepositories、およびlistRepositoryDetailsの各操作を使用すると、リポジトリ内のパーティションの一覧、リポジトリの一覧、ドメインに登録されているリポジトリの詳細を取得できます。
Fusion Middleware Controlのナビゲーション・ペインから、ドメインにナビゲートして選択します。「WebLogicドメイン」メニューから、「システムMBeanブラウザ」を選択します。
「システムMBeanブラウザ」ページが表示されます。
このページのナビゲーション・ペインで、「アプリケーション定義のMBean」→「oracle.mds.lcm」を開きます。ドメインを開いてから「MDSDomainRuntime」を開き、「MDSDomainRuntime」を選択します。
「アプリケーション定義のMBean」ペインで、「操作」タブを選択します。
listPartitions、listRepositories、listRepositoryDetailsなど「操作」の1つをクリックします。
「操作」ページが表示されます。
「起動」をクリックします。
「戻り値」表に情報が表示されます。
アプリケーションのMDS構成属性を変更する方法の詳細は、第10.9項を参照してください。
アプリケーションはデプロイ時にMDSリポジトリに関連付けできます。その後、WLSTまたはFusion Middleware Controlを使用して、アプリケーションが関連付けられているMDSリポジトリまたはパーティションを変更できます。たとえば、特定のアプリケーションに使用する必要がある別のメタデータが、異なるリポジトリに格納されている場合などです。
アプリケーションを新しいMDSリポジトリまたはパーティションに関連付けるには、次のいずれかを実行します。
新しいリポジトリまたはパーティションを指定して、アプリケーションを再デプロイします。
新しいパーティションを作成するには、次のいずれかを実行します。
パーティションを別のリポジトリにクローニングします。パーティションのクローニングは、タイプとバージョンが同じであるデータベースのデータベース・ベース・リポジトリでのみ有効です。パーティションをクローニングするときは、すべてのカスタマイズおよびラベルも含めて、メタデータのバージョン履歴を保持します。
パーティションのクローニング方法、およびクローニングしたパーティションを指定してアプリケーションを再デプロイする方法は、第14.3.7.1項で説明します。
新しいパーティションを作成し、次に現在のパーティションからメタデータをエクスポートして、新しいパーティションにこのメタデータをインポートします。
パーティションの作成方法、データのエクスポートおよびインポート方法、およびアプリケーションを再デプロイして新しいリポジトリまたはパーティションを指定する方法は、第14.3.7.2項で説明します。
システム・データソースを変更します。システム・データソースを変更すると、そのデータソースが格納されるデータベースまたはスキーマを変更できます。
システム・データソースの変更方法は、第14.3.4項で説明します。
システム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」の名前が元のリポジトリと同じ場合は、パーティション名を入力する必要があります。この名前はリポジトリ内で一意である必要があります。
「起動」をクリックします。
ナビゲーション・ペインでリポジトリを選択して、パーティションが作成されていることを確認します。このパーティションは「メタデータ・リポジトリ」ホーム・ページの「パーティション」表に記載されています。
第10.4.3項、第10.5.3項または第10.6.3項の説明に従って、アプリケーションのタイプに応じてアプリケーションを再デプロイします。この操作の際には、「アプリケーション属性」ページで新しいパーティションおよびリポジトリを指定します。
リポジトリを変更するには、「リポジトリ名」の横にあるアイコンをクリックします。「メタデータ・リポジトリ」ダイアログ・ボックスでリポジトリを選択し、「OK」をクリックします。
パーティションを変更するには、「パーティション名」にパーティション名を入力します。
アプリケーションを再デプロイして、新しいパーティションを指定することで、同じリポジトリまたは別のリポジトリに新しいパーティションを作成できます。続いて、WLSTを使用して、メタデータを新しいパーティションに転送します。
この手順を使用すると、タイプの異なる2つのリポジトリ間で(ファイルベースからデータベース・ベースへ、またはOracle Databaseから別のデータベースへ)メタデータを転送できます。
新しいパーティションを作成して、アプリケーションを再関連付けする手順は次のとおりです。
WLSTのexportMetadata
コマンドを使用して、ソース・パーティションからファイル・システム上のディレクトリにメタデータをエクスポートします。
exportMetadata(application='sampleApp', server='server1', toLocation='/tmp/myrepos/mypartition', docs='/**')
第10.4.3項、第10.5.3項または第10.6.3項の説明に従って、アプリケーションのタイプに応じてアプリケーションを再デプロイします。この操作の際には、「アプリケーション属性」ページで新しいパーティションおよびリポジトリを指定します。
リポジトリを変更するには、「リポジトリ名」の横にあるアイコンをクリックします。「メタデータ・リポジトリ」ダイアログ・ボックスでリポジトリを選択し、「OK」をクリックします。
パーティションを変更するには、「パーティション名」にパーティション名を入力します。
WLSTのimportMetadata
コマンドを使用して、ファイル・システムから新しいパーティションにメタデータをインポートします。
importMetadata(application='sampleApp', server='server1', fromLocation='/tmp/myrepos/mypartiton', docs='/**')
また、第14.3.3.2項または第14.3.2.3項の説明に従って、元のリポジトリの登録を解除することもできます。
または、WLSTコマンドcreateMetadataPartition
を使用して、新しいパーティションを作成することもできます。パーティション名はリポジトリ内で一意にする必要があります。このパーティション・パラメータがない場合は、ソース・パーティションの名前がターゲット・パーティションに使用されます。次の例では、パーティションpartition1を作成します。
createMetadataPartition(repository='mds-repos1', partition='partition1')
MDSのメタデータは、別のドメインのパーティションに転送できます。例に示すように、テスト・システムから本番システムにアプリケーションを移行します。テスト・システムのドメインにデプロイされているテスト・アプリケーションと、本番システムのドメインにデプロイされている本番アプリケーションがあります。テスト・システムから本番システムにカスタマイズを転送します。これを実行するには、テスト・システムのパーティションから本番システムのパーティションにメタデータを転送します。
パーティション間でメタデータを転送するには、パーティションからメタデータをエクスポートして、別のパーティションにインポートします。次の各項で説明するように、メタデータの転送にはFusion Middleware ControlまたはWLSTを使用できます。
Fusion Middleware Controlを使用してメタデータを転送する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開き、「アプリケーションのデプロイ」を開いてから、アプリケーションを選択します。
「アプリケーションのデプロイ」メニューで、「MDS構成」を選択します。
次の図のように「MDS構成」ページが表示されます。
「エクスポート」セクションで、次のいずれかを選択します。
「このWebブラウザが稼働しているマシンにあるアーカイブにメタデータ・ドキュメントをエクスポートします。」
「エクスポート」をクリックします。
エクスポート操作では、zipファイルがエクスポートされます。オペレーティング・システムおよびブラウザに応じて、ファイルを保存するかまたはファイルを開くかを質問するダイアログ・ボックスが表示されます。
「このアプリケーションが稼働しているマシンにあるディレクトリまたはアーカイブにメタデータ・ドキュメントをエクスポートします。」
ディレクトリの場所またはメタデータをエクスポートできるアーカイブを入力します。
ドキュメントの転送先のターゲット・ディレクトリまたはアーカイブ・ファイル(.jar、.JAR、.zipまたは.ZIP)は、ソース・パーティションから選択されます。ディレクトリにエクスポートする場合、このディレクトリは、ローカル・ディレクトリまたはネットワーク・ディレクトリ、あるいはアプリケーションが物理的にデプロイされているファイルである必要があります。アーカイブにエクスポートする場合、このアーカイブをローカル・ディレクトリまたはネットワーク・ディレクトリ、あるいはアプリケーションが物理的にデプロイされるファイルにすることができます。または、コマンドを実行しているシステム上にすることもできます。
該当する場所がファイル・システム上に存在しない場合、.jar、.JAR、.zipまたは.ZIPで名前が終わるときにアーカイブ・ファイルが作成される場合を除いて、ディレクトリが作成されます。アーカイブ・ファイルがすでに存在する場合、exportMetadata操作によってファイルが上書きされます。
「エクスポート」をクリックします。次に「確認」ダイアログ・ボックスで、「閉じる」をクリックします。
「ベース・ドキュメントの除外」を選択すると、カスタマイズのみがエクスポートされ、ベース・ドキュメントはエクスポートされません。ベース・ドキュメントおよびカスタマイズについては、第14.3.1項を参照してください。
本番アプリケーションが別のシステムにある場合は、エクスポートされたメタデータをそのシステムにコピーします。
本番システムのナビゲーション・ペインで、ファームを開き、「アプリケーションのデプロイ」を開いてから、アプリケーションを選択します。
「アプリケーションのデプロイ」メニューで、「MDS構成」を選択します。
「MDS構成」ページが表示されます。
「インポート」セクションで、次のいずれかを選択します。
「このWebブラウザが稼働しているマシンにあるアーカイブからメタデータ・ドキュメントをインポートします。」
「このアプリケーションが稼働しているマシンにあるディレクトリまたはアーカイブからメタデータ・ドキュメントをインポートします。」
エクスポートされたメタデータが格納されているディレクトリまたはアーカイブの場所を入力します。ディレクトリを指定する場合は、パーティション名が付けられているサブディレクトリも含めます。このディレクトリまたはアーカイブは、ローカルまたはネットワークのディレクトリ、あるいはアプリケーションが物理的にデプロイされているファイルである必要があります。
「インポート」をクリックします。
「確認」ダイアログ・ボックスで「Close」をクリックします。
WLSTを使用してメタデータを転送する手順は次のとおりです。
exportMetadata
コマンドを使用して、元のパーティションからメタデータをエクスポートします。
exportMetadata(application='sampleApp', server='server1', toLocation='/tmp/myrepos/mypartition', docs='/**')
このコマンドでは、メタデータ・パーティションからファイル・システム・ディレクトリにメタデータ・ドキュメントのバージョニング済のストライプがエクスポートされます。adf-config.xmlのcust-config要素で宣言されたカスタマイズ・クラスのみがエクスポートされます。adf-config.xmlに宣言されたcust-config要素がない場合、すべてのカスタマイズ・クラスがエクスポートされます。
すべてのカスタマイズをエクスポートするには、オプションrestrictCustTo="%"を使用します。
本番アプリケーションが別のシステムにある場合は、エクスポートされたメタデータをそのシステムにコピーします。
WLSTのimportMetadata
コマンドを使用して、メタデータを別のパーティションにインポートします。
importMetadata(application='sampleApp', server='server1', fromLocation='/tmp/myrepos/mypartiton', docs='/**')
fromLocation
パラメータの値は、WLSTを実行しているシステムと同一システム上の場所にするか、またはマップ済のネットワーク・ドライブまたはディレクトリ・マウント上の場所にする必要があります。ネットワーク参照を直接使用することはできません(\\mymachine\repositories\
など)。
adf-config.xmlのcust-config要素で宣言されたカスタマイズ・クラスのみがエクスポートされます。adf-config.xmlに宣言されたcust-config要素がない場合、すべてのカスタマイズ・クラスがエクスポートされます。
すべてのカスタマイズをインポートするには、オプションrestrictCustTo="%"を使用します。
ファイルベース・リポジトリをデータベース・ベース・リポジトリに移動できます(データベース・ベース・リポジトリからファイルベース・リポジトリへの移動はできません)。
停止時間を最短にするため、ファイルベース・リポジトリからデータベース・ベース・リポジトリにアプリケーションのメタデータを移動するには、次の手順を使用します。
第14.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='/**')
第10.4.3項、第10.5.3項または第10.6.3項の説明に従って、アプリケーションのタイプに応じてアプリケーションを再デプロイします。この操作の際には、「アプリケーション属性」ページで新しいパーティションおよびリポジトリを指定します。
リポジトリを変更するには、「リポジトリ名」の横にあるアイコンをクリックします。「メタデータ・リポジトリ」ダイアログ・ボックスでリポジトリを選択し、「OK」をクリックします。
パーティションを変更するには、「パーティション名」にパーティション名を入力します。
第14.3.3.2項の説明に従って、ファイルベース・リポジトリの登録を解除します。
アプリケーションのデプロイもアプリケーションによる参照も存在しないメタデータ・パーティションは削除できます。リポジトリからのメタデータ・パーティションの削除が必要な場合には、次の状況が考えられます。
アプリケーションのアンデプロイ時。パーティション内のユーザー・カスタマイズなどのメタデータが引き続き必要な場合があるため、Oracle Fusion Middlewareではメタデータ・パーティションが残されます。メタデータが不要な場合は、パーティションを削除できます。
メタデータを別のパーティションに転送し、新しいパーティションを使用するようにアプリケーションを構成した場合。
パーティションをクローニングし、新しいパーティションを使用するようにアプリケーションを構成した場合。
パーティションを削除すると、そのパーティションに含まれるデータはすべて削除されます。
次の各項の説明に従って、WLSTまたはFusion Middleware Controlを使用し、メタデータのパーティションを削除できます。
Fusion Middleware Controlを使用してリポジトリ・パーティションからメタデータ・パーティションを削除する手順は次のとおりです。
ナビゲーション・ペインで、ファームを開いてから、「メタデータ・リポジトリ」を開きます。
リポジトリを選択します。
リポジトリのホーム・ページが表示されます。
「リポジトリ・パーティション」セクションで、パーティションを選択し、「削除」を選択します。
「確認」ダイアログ・ボックスで「OK」をクリックします。
データベース・ベースのMDSリポジトリでは、メタデータ・バージョン履歴をパーティションからパージできます(ファイルベースのMDSリポジトリではバージョン履歴が保持されません)。この操作では、ラベルのないドキュメントのバージョン履歴がアプリケーションのリポジトリ・パーティションからパージされます。最新バージョンはラベルがない場合もパージされません。
メタデータ・ラベルをパージするには、第14.3.12.4項の説明に従って、purgeMetadataLabels
コマンドを使用します。次に、メタデータ・バージョン履歴をパージできます。
データベースのスペース不足またはパフォーマンスの劣化が疑われる場合は、MDSリポジトリのメンテナンスの一環として、メタデータ・バージョン履歴を定期的にパージすることを検討してください。この操作はパフォーマンス集約型であるため、メンテナンス・ウィンドウ内またはシステム使用量の少ないときに実行するようにしてください。
特定のタイプのアプリケーションに固有の推奨事項については、個々のコンポーネントのドキュメントを参照してください。
次の項の説明にあるように、WLSTまたはFusion Middleware Controlを使用して、メタデータ・バージョン履歴をパージできます。
Fusion Middleware Controlを使用してメタデータ・バージョン履歴をパージする手順は次のとおりです。
ナビゲーション・ペインで、ファームを開き、「アプリケーションのデプロイ」を開いてから、アプリケーションを選択します。
「アプリケーションのデプロイ」メニューで、「MDS構成」を選択します。
「MDS構成」ページが表示されます。
「パージ」セクションで、「次より古い過去のラベルのない全バージョンをパージ」フィールドに時間の数字を入力し、時間の単位を選択します。たとえば、「3」と入力し、「月」を選択します。
「パージ」をクリックします。
「確認」ダイアログ・ボックスで「Close」をクリックします。
WLSTを使用して、メタデータ・バージョン履歴をパージするには、purgeMetadata
コマンドを使用します。olderThan
パラメータで秒数を指定して、パージするドキュメントを指定します。次の例では、100秒以上経過しているすべてのドキュメントがパージされます。
purgeMetadata(application='sampleApp', server='server1', olderThan=100)
MDSAppConfig MBeanを使用して、自動パージを有効化できます。
Fusion Middleware Controlのナビゲーション・ペインから、ドメインにナビゲートして選択します。「WebLogicドメイン」メニューから、「システムMBeanブラウザ」を選択します。
「システムMBeanブラウザ」ページが表示されます。
「アプリケーション定義のMBean」→「oracle.adf.share.config」→「サーバー: 名前」→「アプリケーション: 名前」→「ADFConfig」→「ADFConfig」→「ADFConfig」を開きます。
「MDSAppConfig」を選択します。
「アプリケーション定義のMBean」ページが表示されます。
AutoPurgeTimeToLiveに、値を秒単位で入力します。
メタデータ・ラベルは、メタデータ・リポジトリ・パーティションから各オブジェクトの特定のバージョンを選択する手段です。概念的に、これは一連のドキュメント・バージョン(ドキュメントごとに1バージョン)で、様々なドキュメント・バージョンの水平のストライプを表します。このストライプは、ラベルが作成された時点におけるドキュメントの最先端バージョン(最新のバージョン)で構成されます。
ラベルを使用すると、ラベル作成時点におけるメタデータを表示できます。パーティションに含まれるアプリケーションのメタデータの論理バックアップとリカバリをサポートするWLSTコマンドを使用できます。
ラベルは、データベース・ベース・リポジトリでのみサポートされます。
ラベルに含まれるドキュメント・バージョンは、ラベルを明示的に削除しないかぎり、自動パージでは削除されません。このように、ラベルを作成することによって、ラベルの作成時点におけるメタデータのビューは、ラベルが削除されるまで使用可能です。
MARが含まれるアプリケーションがデプロイされると、接頭辞postDeployLabel_
が付いたラベルが作成されます。たとえば、postDeployLabel_mdsappdb_mdsappdb.mar_2556916398です。
MARにパッチを適用するたびに、新しいデプロイメント・ラベルが作成されますが、以前のデプロイメント・ラベルは削除されません。同様に、MARが含まれるアプリケーションをアンデプロイすると、そのアプリケーションはアンデプロイされますが、ラベルはメタデータ・リポジトリ・パーティションに残ります。
デプロイメント・ラベルを削除する場合、アプリケーションを再起動するとMARは自動的に再デプロイされ、デプロイメント・ラベルも再作成されます。
次の各項目で、ラベルの管理方法について説明します。
MDSリポジトリのパーティション内で、オブジェクトの特定バージョンにラベルを作成するには、WLSTコマンドcreateMetadataLabel
を使用します。たとえば、アプリケーションmy_mds_appにprod1という名前のラベルを作成するには、次のコマンドを使用します。
createMetadataLabel(application='my_mds_app', server='server1', name='prod1') Executing operation: createMetadataLabel. Created metadata label "prod1".
バージョンが複数あるアプリケーションの場合は、applicationVersionパラメータを使用してバージョンを指定する必要があります。
特定のアプリケーションのメタデータ・ラベルを一覧表示できます。一覧表示には、WLSTコマンドlistMetadataLabel
を使用します。たとえば、アプリケーションmy_mds_appのラベルを一覧表示するには、次のコマンドを使用します。
listMetadataLabels(application='my_mds_app', server='server1') Executing operation: listMetadataLabels. Database Repository partition contains the following labels: prod1 prod2 postDeployLabel_mdsappdb_mdsappdb.mar_2556916398
バージョンが複数あるアプリケーションの場合は、applicationVersionパラメータを使用してバージョンを指定する必要があります。
メタデータ・ラベルが関連付けられたドキュメントを昇格して、最終バージョンにすることができます。つまり、最新への昇格が可能です。ラベルによって取得されたすべてのドキュメントを以前のバージョンにロールバックする場合にラベルを昇格します。
ラベルを最新に昇格するには、WLSTコマンドpromoteMetadataLabel
を使用します。たとえば、ラベルprod1を昇格する場合は、次のコマンドを使用します。
promoteMetadataLabel(application='my_mds_app', server='server1', name='prod1') Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root. For more help, use help(domainRuntime) Executing operation: promoteMetadataLabel. Promoted metadata label "prod1" to tip.
バージョンが複数あるアプリケーションの場合は、applicationVersionパラメータを使用してバージョンを指定する必要があります。
指定した名前のパターンまたは経過時間と一致するメタデータ・ラベルをパージし、使用しなくなったラベルをパージできます。こうすることにより、データベースのサイズが減り、パフォーマンスが向上します。リポジトリからドキュメントやリビジョン履歴をパージする前に、使用しなくなったメタデータ・ドキュメントに関連付けられているラベルを削除する必要があります。
アンデプロイした古いアプリケーションのラベルを削除することが適切と思われる場合もありますが、これらのラベルは削除されていません。MARにパッチを適用するたびに、新しいラベルが作成されますが、以前のラベルは削除されません。
次の各項で説明するように、Fusion Middleware ControlまたはWLSTを使用して、メタデータ・ラベルをパージできます。
Fusion Middleware Controlを使用してメタデータ・ラベルを処理するには:
ファームを開いてから、「メタデータ・リポジトリ」を開きます。
リポジトリを選択します。
リポジトリのホーム・ページが表示されます。
「パーティション」を選択し、「ラベルの管理」をクリックします。
次の図のように「ラベルの管理」ページが表示されます。
デフォルトでは、選択したパーティションで1年より長く経過し、デプロイされていないまたはサンドボックスに関連付けられていないすべてのメタデータ・ラベルが表にリストされます。
デフォルトでは、サンドボックスに関連付けられているラベルおよびアプリケーションにデプロイ済のラベルは表示されません。これらのラベルを表示するには、「サンドボックス」または「デプロイメント」、あるいは両方を選択します。次の点に注意してください。
サンドボックスに関連付けられたラベルは削除できません。
「デプロイメント」を選択すると、MARデプロイメントに関連付けられたラベルが表示されます。
表示されているラベルを名前でフィルタ処理するには、「名前」の上のボックスにフィルタ基準を入力します。文字には大/小文字区別があります。次のワイルドカードを使用できます。
パーセント(%): 任意の数の文字に一致します。
アンダースコア(_): 1文字に一致します。
バックスラッシュ(\): ワイルドカードのエスケープ文字として使用します。
たとえば、文字列postDeployLabel%
では、postDeployLabel
で始まる任意のラベルが返されます。この結果、デプロイ済のMARに関連付けられたラベルが表示されます。
特定の時間より古いラベルでラベルをフィルタ処理するには、「次より古い」で時間を選択します。たとえば、2か月を指定すると、2か月よりも古いラベルが返されます。
ラベルを選択し、「選択項目の削除」をクリックします。
「確認」ボックスで、「OK」をクリックします。
特定のデプロイ済アプリケーションで未使用のラベルをすべてパージするには、次の手順を実行します。
「デプロイメント」を選択します。
文字列postDeployLabel_
application_name%
を使用して、名前でフィルタ処理します。
最新(使用中)以外をすべて選択して削除します。(現在使用中の最新のラベルは最初にリストされます。)
「選択項目の削除」をクリックします。
WLSTコマンドのpurgeMetadataLabels
を使用して、指定したパターンまたは経過時間と一致するメタデータ・ラベルをパージできます。このコマンドでは、指定した基準と一致するラベルがパージされますが、そのラベルによって指定されていたメタデータ・ドキュメントは削除されません。
たとえば、指定した名前のパターンと一致し30分よりも長く経過したメタデータ・ラベルすべてをパージするには、次のようにします。
purgeMetadataLabels(repository='mds-myRepos', partition='partition1', namePattern='prod*', olderThanInMin='30') Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root. For more help, use help(domainRuntime) Executing operation: purgeMetadataLabels. The following metadata labels were purged: repository=mds-soa,parititon=partition1,namePattern=prod*,olderThanInMin=30:
指定したメタデータ・ラベルを削除するには、WLSTコマンドdeleteMetadataLabel
を使用します。たとえば、アプリケーションmy_mds_appのprod1という名前のラベルを削除するには、次のコマンドを使用します。
deleteMetadataLabel(application='my_mds_app', server='server1', name='prod1')
バージョンが複数あるアプリケーションの場合は、applicationVersionパラメータを使用してバージョンを指定する必要があります。
アプリケーションに関連付けられたラベルを検索するには、第14.3.12.2項の説明に従って、listMetadataLabels
コマンドを使用します。
次の各項目で、メタデータ・リポジトリ・スキーマの管理方法について説明します。
たとえば、スキーマOFM_MDSのパスワードを変更する手順は次のとおりです。
SQL*Plusを使用して、データベースに接続します。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リポジトリ・データソースのパスワードを変更する必要があります。
「ドメイン構造」で、「サービス」→「データ・ソース」を選択します。
MDSリポジトリに関連するデータソースをクリックします。
「構成」タブをクリックして、「接続プール」タブをクリックします。
「パスワード」に新しいパスワードを入力します。
「保存」をクリックします。
このデータソースを使用する管理対象サーバーを再起動します。
Oracle Databaseに格納されるメタデータ・リポジトリのキャラクタ・セットを変更する方法については、次のサイトにアクセスして、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html
新しいシステムのデプロイメントには、すべてUnicodeを使用することをお薦めします。システムをUnicodeでデプロイすることにより、操作性、互換性、拡張性の面で多くの利点が得られます。Oracle Databaseを使用すると、Unicodeの利点を利用しながら、高パフォーマンスのシステムをより迅速かつより容易にデプロイすることができます。現在、多言語データのサポートが必要ない場合やUnicodeをまったく必要としていない場合でも、これは新しいシステムにとって長期的には最善の選択となる可能性が高く、最終的に、時間と資金が節約されるとともに、長期にわたって競争上の優位性が確立されます。
SQL Serverデータベースにメタデータを格納する場合で、ロケールを考慮したキャラクタ・セットが大/小文字を区別しない場合は、データベース・インスタンスの作成時に、大/小文字区別の照合順序を選択する必要があります。RCUを使用してSQL ServerにMDSスキーマを作成する場合は、Unicodeサポートがデフォルトになります。使用要件に応じて、このデフォルト設定はUnicode以外のスキーマを使用するように上書きできます。
Oracle Fusion Middlewareデータベース内のデータの量が非常に多くなった場合、データベースの保守が困難になり、パフォーマンスに影響を及ぼす可能性があります。場合によっては、Oracle Fusion Middlewareは、データを自動的にパージします。また、Oracle Fusion Middlewareがデータの増加を管理する方法(時間とともに蓄積し、パフォーマンスに影響を及ぼす可能性のあるデータをパージするスクリプトなど)を提供する場合もあります。
Oracle Fusion Middlewareのコンポーネントの多くは、データをパージするためにPL/SQL手順として書き込まれたスクリプトを提供します。このスクリプトは、次の場所にあります。
ORACLE_HOME/common/sql/component-name_purge_purgetype.sql
たとえば、Oracle Business Process Managementのログをパージするスクリプトは、次の場所にあります。
ORACLE_HOME/common/sql/bpm_purge_logs.sql
表14-2 にOracle Fusion Middlewareのコンポーネントのデータのパージに関する情報へのポインタを示します。
表14-2 データのパージに関する情報
コンポーネント | 説明 |
---|---|
Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイドの一時的なストレージ表のクリーンアップに関する項を参照してください。 |
|
Oracle Application Development Frameworkビジネス・コンポーネント |
次のスクリプトを使用して、Oracle ADFビジネス・コンポーネントでユーザー・セッションの状態および一時的な永続コレクションの格納に使用されるデータベース内の行をパージします。
ORACLE_COMMON_HOME/common/sql/adfbc_purge_statesnapshots.sql
PS_TXN表は、自動的にパージされます。 |
Oracle SOA Suite |
『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のデータベースの成長の管理に関する項を参照してください。 |
Oracle WebLogic Server: Oracle Infrastructure Webサービス |
WS-RMがデータベース・ストアを使用している場合、次のスクリプトを使用してデータをパージします。
ORACLE_COMMON_HOME/common/sql/ows_purge_wsrm_msgs.sql
|
Oracle WebLogic Server: JAXWS Webサービス |
『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のWebサービスの永続性のクリーンアップに関する項の説明に従って、Webサービス永続ストアをクリーンアップします。 WebServicePersistenceMBeanのdefaultMaximumObjectLifetimeフィールドを使用して、オブジェクトの最大ライフタイムを設定します。『Oracle Fusion Middleware Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』のWebLogic Server MBeanの理解に関する項を参照してください。 |
構成の必要はありません。データは自動的にパージされます。 |
|
Oracle WebLogic Server: JMS |
『Oracle Fusion Middleware Oracle WebLogic Server JMSの構成と管理』の基本的なJMSシステム・リソースの構成に関する項およびJMSメッセージの管理に関する項を参照してください。 『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』のWebLogic JMSのチューニングに関する項も参照してください。 |
Oracle WebLogic Server: JDBCデータソースまたはファイルベース・データソースのセッション永続性 |
構成の必要はありません。データは自動的にパージされます。 |
データの自動パージおよび手動パージの詳細は、第14.3.11項を参照してください。 |
|
構成の必要はありません。データは自動的にパージされます。 |
|
アーカイブのデータのエクスポートに関する項の説明に従って、データをエクスポートし、削除します。次にコレクションの削除に関する項の説明に従って、コレクションを削除します。これらの項は両方ともOracle Fusion Middleware Content Serverシステム管理者ガイドにあります。 |
|
第14.3.11項の説明に従って、MDSメタデータをパージします。 |
|
Oracle WebCenterアクティビティ・ストリーム |
第14.5.2.1項を参照してください。 |
Oracle WebCenter Analytics |
第14.5.2.2項を参照してください。 |
Oracle Real-Time Decisions |
構成の必要はありません。データは自動的にパージされます。 |
Oracle BI Enterprise Edition |
構成の必要はありません。データは自動的にパージされます。 |
Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート設計者ガイドのジョブ履歴の削除に関する項の説明に従って、ジョブ履歴を削除します。 |
|
Oracle Internet Directory |
構成の必要はありません。データは自動的にパージされます。 |
Oracle Identity Manager |
構成の必要はありません。データは自動的にパージされます。 |
Oracle Identity Federation |
構成の必要はありません。データは自動的にパージされます。 |
特定の状況では、Oracle Schedulerを使用して、スクリプトの実行を自動化することを検討できます。たとえば、スケジュール済ジョブを設定して、Oracle SOA Suiteの完了インスタンスについて14日前までをパージすることができます。
Oracle Scheduler(エンタープライズ・ジョブ・スケジューラ)は、Oracle Databaseの一部です。Oracle Schedulerは、DBMS_SCHEDULER PL/SQLパッケージ内の手順および機能によって実装されます。
Oracle Schedulerの詳細は、Oracle Database管理者ガイドのOracle Schedulerの概念に関する項およびジョブの作成、実行、および管理に関する項を参照してください。
WS-RMがデータベース・ストアを使用している場合、次のスクリプトを使用してデータをパージします。
ORACLE_COMMON_HOME/common/sql/ows_purge_wsrm_msgs.sql
次の各項では、Oracle WebCenterのデータのパージについて説明します。
Oracle WebCenterアクティビティ・ストリーミングは、パーティション化されていない環境でデータベースのレコードをパージする一連のWLSTコマンドを提供します。レポート内での分析に必要のないレコードがデータベースに含まれている場合や、大量のデータのためOracle WebCenterのパフォーマンスが低下する場合にパージが必要になります。
Oracle WebCenterアクティビティ・ストリームのデータをパージするには、次のWLSTコマンドを使用します。
archiveASByDate: 指定した日付より前のアクティビティ・ストリーム・データをアーカイブします。
archiveASByDeletedObjects: 削除されたオブジェクトに関連付けられたアクティビティ・ストリーム・データをアーカイブします。
archiveASByClosedSpaces: 現在閉じられているSpacesに関連付けられたアクティビティ・ストリーム・データをアーカイブします。
archiveASByInactiveSpaces: 指定した日付以降非アクティブになっているSpacesに関連付けられたアクティビティ・ストリーム・データをアーカイブします。
restoreASByDate: アーカイブされているアクティビティ・ストリーム・データを指定した日付から本番表にリストアします。
WLSTスクリプトは、Oracle WebCenter Activity Streamingが含まれるOracleホームから起動する必要があります。WLSTスクリプトをWebLogic Serverホームで使用しないでください。
これらのコマンドの詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスのActivity Streamに関する項を参照してください。
Oracle WebCenter Analyticsは、パーティション化されていない環境でデータベースのレコードをパージするスクリプトを提供します。レポート内での分析に必要のないレコードがデータベースに含まれている場合や、大量のデータのためOracle WebCenterのパフォーマンスが低下する場合にパージが必要になります。
スクリプトanalytics_purge_facts.sqlは、指定した基準を満たすすべてのファクト表を削除します。
Oracle WebCenter Analyticsがパーティション化された環境で稼働している場合、これらのスクリプトを実行する前に、データベースのパーティション削除機能を使用する必要があります。
初めてスクリプトを実行する前に、analytics_purge_packageスクリプトを実行して、パージ・パッケージをデータベースにインストールする必要があります。
ACTIVITIESスキーマのスキーマ・ユーザーとしてデータベースにログインします。
analytics_purge_packageスクリプトを実行します。たとえば、Oracle Databaseの場合、次のようにします。
@ORACLE_HOME/oracle_common/common/sql/oracle/analytics_purge_package.sql
DB2データベースでは、次のコマンドを使用します。
db2 -td@ -f analytics_purge_package.sql
analytics_purge_facts.sqlスクリプトの場所は、使用するデータベースのタイプによって異なります。
Oracle Database:
ORACLE_HOME/oracle_common/common/sql/oracle/analytics_purge_facts.sql
SQL Server:
ORACLE_HOME/oracle_common/common/sql/sqlserver/analytics_purge_facts.sql
DB2:
ORACLE_HOME/oracle_common/common/sql/db2/analytics_purge_facts.sql
analytics_purge_facts.sqlスクリプトは、次のパラメータを取ります。
Month From: スクリプトによって、指定した月の初めより後に作成されたデータがパージされます。月をMMの形式で入力します。たとえば、8月を指定するには08と入力します。
Year From: Month Fromパラメータとともに使用します。スクリプトによって、指定した年の指定した月の初めより後に作成されたデータがパージされます。年をYYYYの形式で入力します。たとえば、2010と入力します。
Month To: スクリプトによって、指定した月の終わりまでに作成されたデータがパージされます。月をMMの形式で入力します。たとえば、09を入力して9月を指定すると、スクリプトによって9月末より前に作成されたすべてのデータがパージされます。
Year To: Month Toパラメータとともに使用します。スクリプトによって、指定した年の指定した月の終わりまでに作成されたデータがパージされます。年をYYYYの形式で入力します。たとえば、2010と入力します。
Record Batch Size: 一度にコミットするレコードの最大サイズ。
Max Run Time: プロセスを実行する最大時間(分単位)。プロセスは、この時間に到達すると、パージの進行状況に関係なく停止します。
注意: 現在の月は削除できません。現在の月を指定すると、スクリプトによってエラーが返されます。 |
Oracle DatabaseまたはDB2データベースを使用している場合、スクリプトによって各パラメータの入力を求めるプロンプトが表示されます。
SQL Serverデータベースを使用している場合、analytics_purge_facts.sqlスクリプトを編集して、データのパージの基準を指定する必要があります。
次に、2010年8月1日から2010年11月30日までのAnalyticsファクト・データベース・レコードすべてを削除するSQL Serverのスクリプトの例を示します。
CALL ANALYTICS_PURGE ( 8, --from month 2010, --from year 11, --to month 2010, --to_year 1000, --commit batch size 60 --max run time minutes );
このスクリプトを使用するには:
SQL Serverデータベースを使用している場合、このスクリプトを編集して、基準を指定します。
スクリプトを実行します。たとえば、Oracle Database上でスクリプトを実行するには、次のようにします。
sqlplus analytics_user/analytics_user_pwd @analytics_purge_facts.sql Enter value for month_from: 8 old 4: ANALYTICS_PURGE.PURGE_ANALYTICS_INSTANCES ( &month_from, -- MM format new 4: ANALYTICS_PURGE.PURGE_ANALYTICS_INSTANCES ( 8, -- MM format Enter value for year_from: 2010 old 5: &year_from, -- YYYY format new 5: 2010, -- YYYY format Enter value for month_to: 11 old 6: &month_to, -- MM format new 6: 11, -- MM format Enter value for year_to: 2010 old 7: &year_to, -- YYYY format new 7: 2010, -- YYYY format Enter value for record_commit_batch_size: 1000 old 8: &record_commit_batch_size, new 8: 1000, Enter value for max_minutes_run: 60 old 10: &max_minutes_run) ; new 10: 60) ; Log (09-12-2010 08:27:49) Purge Process Started . . . Log (09-12-2010 08:27:49) Log (09-12-2010 08:27:49) Purge Process Finished PL/SQL procedure successfully completed.
Oracle Fusion Middleware Metadata Repository Creation Utility (RCU)を使用してスキーマを作成する場合、アクティビティ・グラフとAnalytics表をパーティション化することを指定できます(RCUのカスタム変数スクリーンに関する項を参照)。表をパーティション化することを選択した場合、Oracle WebCenterは、データベースのネイティブ・パーティショニングを使用して、パーティションを自動的に作成します。
Oracle WebCenterは、パーティション・マネージャ・プロセスを提供します。このプロセスは、別スレッドとして24時間ごとに1回実行されます。これは、データベースのAnalyticsファクト表(ASFACT_*)それぞれにパーティションを作成します。最初に、このプロセスはあらかじめ6個のパーティションを生成します。このパーティションそれぞれが今後の月と対応しています。新しい月が始まるたびに、パーティション・マネージャは新しいパーティションを作成します。
データをパーティション化すると、パーティション・マネージャが作成した古いパーティションを削除することによりデータをパージできるため、データのパージが簡単になります。したがって、パーティション化された環境でデータをパージするには、単に不要となった月ベースのパーティションを削除することをお薦めします。
注意: WC_Utilities管理対象サーバーを起動して、パーティション・マネージャ・プロセスを実行する必要があります。 |
たとえば、表の古いパーティションを削除するには、次のSQLコマンドを使用します。
alter table table_name drop partition partition_name;