この章では、構成収集表の定義と、そのエンタープライズ構成管理フレームワークへの統合に関する情報を提供します。
この章の内容は次のとおりです。
プラグイン開発者は、スナップショット・タイプごとに構成関連機能をエンタープライズ構成管理に統合する作業において、次の手順に従う必要があります。
収集される構成データは、ある収集から次の収集までの間に、あらゆる点で変更されることのないようにしてください(ただし、管理者が明示的な操作を行った場合を除きます)。管理者の明示的な操作によって変更される可能性はあるが、そのような操作がなければ変更されないデータのみを構成データとして収集する必要があります。
ターゲット型定義の一部として確立された構成収集メトリックと一致するように、収集表を定義するエンタープライズ構成管理に固有のメタデータ・ファイルを定義します。
詳細は、項7.3.1「構成収集表の定義」を参照してください。
指定のターゲット型に対するスナップショット・タイプに名前を付けます(名前は管理エージェント側で指定されるCollectionItem
名と一致する必要があります)。
詳細は、項7.3.2「構成管理スナップショット・メタデータ要素の概要」を参照してください。
プラグインのデプロイ時に、エンタープライズ構成管理を使用してメタデータを登録します。これにより、エンタープライズ構成管理フレームワークに基づくあらゆる制約に従うスナップショット・データの表が作成されます。また、データ表をエンタープライズ構成管理メタデータ表に登録します。
詳細は、項7.3.4「構成管理フレームワークへのメタデータの登録」を参照してください。
標準管理エージェントの収集メカニズムと統合します。CollectionItem
および対応するメトリックは、どちらも管理エージェントで定義される必要があります。
詳細は、項7.3.7「標準収集メトリックおよびRAWメトリックへの変更」を参照してください。
定義済みの構成収集データが管理エージェントによって管理リポジトリに戻されていることを検証します。
詳細は、項7.3.8「構成収集データのテスト」および項7.3.9「トラブルシューティング」を参照してください。
構成収集のメタデータは、プラグインにパッケージ化されている次の3つのメタデータ・ファイルで定義されます。
このファイルは、収集した構成データを格納する管理リポジトリ内の表を定義します。また、EDKには構成メタデータ・ファイルの例が含まれます。
\samples\plugins\HostSample\stage\oms\metadata\snapshotlive\demo_hostsample_ecmdef.xml
詳細は、項7.3.1「構成収集表の定義」を参照してください。
各構成データ項目は、ターゲット・タイプ・メタデータ・ファイル内の他のメトリックとともに定義されるメトリックとして収集されます。また、EDKにはターゲット・タイプ・メタデータ・ファイルの例が含まれます。
\samples\plugins\HostSample\stage\oms\metadata\targetType\demo_hostsample.xml
詳細は、項3.3「ターゲット・タイプ・メタデータ・ファイルの作成」を参照してください。
各メトリックに対して構成データが収集される頻度は、デフォルト収集メタデータ・ファイルで定義されます。各メトリックのメトリック・アラート・イベント条件とそのようなアラートの表示メッセージも、このファイルで定義されます。また、EDKにはデフォルト収集メタデータ・ファイルの例が含まれます。
\samples\plugins\HostSample\stage\oms\metadata\default_collection\demo_hostsample.xml
詳細は、項3.5「デフォルトの収集ファイルの作成」を参照してください。
この項では、構成スナップショット表の作成方法について説明します。Oracleホームのターゲット・タイプ定義がEnterprise Managerフレームワークに追加されていると仮定します。
構成データを格納するメタデータおよび表を定義し、管理エージェントでデータを収集するメトリックを定義することができます。
ターゲット・タイプ・メタデータ・ファイルで定義される各エンタープライズ構成管理メトリックは、構成メタデータXMLファイルによって定義される表に対応しています。ターゲット・タイプ・メタデータ・ファイルの詳細は、第3章「ターゲット・メタデータ・ファイルの作成」を参照してください。
表には、データベース内の外部キー制約に類似した親子関係があることがあります。すべての親表の行に対して子表の行にn数があり、すべての子表の行には正確に1つの親表の行があります。実際にエンタープライズ構成管理では表をツリーにできます。そこでは各表に最大1つの親表があります。1つの構成はこれら一連のツリーから構成されており、その場合、繰り返される表はありません。
データベースからすると、表には、祖先表のすべてのキー列が含まれる必要があります。(内部的には、各エンタープライズ構成管理表にはRAW(16)型のECM_SNAPSHOT_ID列が含まれ、、指定の行が属するスナップショットを識別します。)
収集表のメタデータは、最低限、次を指定する必要があります。
表名、列名、列タイプ、および表の間の階層関係(存在する場合)。
キー列(表の中で行を一意に識別する列)。キーを正確に指定する必要があります。Enterprise Manager UI、比較および履歴は、キー列を広範囲に使用します。
Enterprise Managerの一般UIに表示されるUI表示名。
図7-1に、構成表のOracleホーム・エンティティ関連図(ERD)を示します。
構成メタデータXMLファイルは、METADATA
タグで始まります。METADATA
タグは、ターゲット・タイプとスナップショット・タイプの関係を確立し、UI表示名を定義します。
<METADATAS> <METADATA SNAP_TYPE="oracle_home_config" TARGET_TYPE="oracle_home" VER="1"> <METADATA_UI_NAME>Oracle Home Configuration</METADATA_UI_NAME> CONFIGURATION COLLECTION TABLE DEFINITIONS </METADATA> <METADATAS>
構成収集表の定義は、METADATA
タグ内でカプセル化されます。
構成メタデータXMLの要素の詳細は、項7.3.2「構成管理スナップショット・メタデータ要素の概要」を参照してください。構成XMLファイルを制御するXMLスキーマ定義(XSD)の詳細は、拡張開発キット(EDK)の仕様を参照してください。
EM_ECM_OH_HOME_INFO表には、Oracleソフトウェアのインストールに関連したプロパティが格納されます。この表のメタデータは、次のとおりです。
<TABLE NAME="EM_ECM_OH_HOME_INFO" SINGLE_ROW="Y"> <UI_NAME>Home Info</UI_NAME> <COLUMN NAME="HOME_LOCATION" TYPE="STRING" TYPE_FORMAT="1024">Install Location</COLUMN> <COLUMN NAME="OUI_HOME_NAME" TYPE="STRING" TYPE_FORMAT="256" >OUI Home Name</COLUMN> <COLUMN NAME="OUI_HOME_GUID" TYPE="STRING" TYPE_FORMAT="32" >OUI Home GUID</COLUMN> <COLUMN NAME="HOME_TYPE" TYPE="STRING" TYPE_FORMAT="1" >Home Type</COLUMN> <COLUMN NAME="HOME_POINTER" TYPE="STRING" TYPE_FORMAT="1024">Home Pointer</COLUMN> <COLUMN NAME="IS_CLONABLE" TYPE="NUMBER" TYPE_FORMAT="1" >Is Clonable</COLUMN> <COLUMN NAME="IS_CRS" TYPE="NUMBER" TYPE_FORMAT="1" >Is CRS</COLUMN> <COLUMN NAME="ARU_ID" TYPE="NUMBER" TYPE_FORMAT="10" >ARU ID of the Oracle Home</COLUMN> <COLUMN NAME="HOME_SIZE" TYPE="NUMBER" TYPE_FORMAT="10" >Size of Oracle Home (KB)</COLUMN> </TABLE>
対応するデータベース表は次のとおりです。
COLUMN_NAME | DATA_TYPE | COLUMN_WIDTH | KEY |
---|---|---|---|
ECM_SNAPSHOT_ID | RAW | 16 | PK |
HOME_LOCATION | VARCHAR2 | 1024 | |
OUI_HOME_NAME | VARCHAR2 | 256 | |
OUI_HOME_GUID | VARCHAR2 | 32 | |
HOME_TYPE | VARCHAR2 | 1 | |
HOME_POINTER | VARCHAR2 | 1024 | |
IS_CLONABLE | NUMBER | 1 | |
IS_CRS | NUMBER | 1 | |
ARU_ID | NUMBER | 10 | |
HOME_SIZE (単位: KB) | NUMBER | 10 |
この表の場合、主キーはECM_SNAPSHOT_IDから構成されています。メタデータの例のSINGLE_ROW="Y"
属性は、各スナップショットが、この表では多くとも1つの行しか持たず、したがって、この表の他のいかなる列もキーとしてマークする必要がないことを示します。つまり、スナップショットを識別するECM_SNAPSHOT_ID列は表の唯一のキー列になります。
EM_ECM_OH_DEP_HOMES表には、指定のOracleホームが依存するOracleホーム・ディレクトリの場所が格納されます。このデータは、Oracleホーム間の依存のアソシエーションを形成するために使用されます。この表のメタデータは、次のとおりです。
<TABLE NAME="EM_ECM_OH_DEP_HOMES"> <UI_NAME>Dependee Oracle Homes</UI_NAME> <COLUMN NAME="DEP_HOME_LOCATION" TYPE="STRING" TYPE_FORMAT="1024" IS_KEY="Y">Dependee Home Location</COLUMN> </TABLE>
対応するデータベース表は次のとおりです。
COLUMN_NAME | DATA_TYPE | COLUMN_WIDTH | KEY |
---|---|---|---|
ECM_SNAPSHOT_ID | RAW | 16 | PK |
DEP_HOME_LOCATION | VARCHAR2 | 1024 | PK |
この表の主キーは、ECM_SNAPSHOT_IDとDEP_HOME_LOCATIONから構成されています。
注意: メタデータ・ファイルでは、キー列(および常にキーの一部となるECM_SNAPSHOT_ID)はIS_KEY="Y"でマークされます。 |
EM_ECM_OH_COMPONENT表には、Oracleホーム・ディレクトリにあるOracleソフトウェア・コンポーネントの情報が格納されます。この表のメタデータは、次のとおりです。
<TABLE NAME="EM_ECM_OH_COMPONENT"> <UI_NAME>Components installed in Oracle Home</UI_NAME> <COLUMN NAME="COMPONENT_NAME" TYPE="STRING" TYPE_FORMAT="128" IS_KEY="Y">Component Name</COLUMN> <COLUMN NAME="COMPONENT_VERSION" TYPE="STRING" TYPE_FORMAT="64" IS_KEY="Y">Base Version of Component</COLUMN> <COLUMN NAME="CURRENT_VERSION" TYPE="STRING" TYPE_FORMAT="64" >Current Version of the Component</COLUMN> <COLUMN NAME="INSTALL_TIME" TYPE="TIMESTAMP" >Install Time</COLUMN> <COLUMN NAME="IS_TOP_LEVEL" TYPE="NUMBER" TYPE_FORMAT="1" >Is it a top level Component</COLUMN> <COLUMN NAME="EXTERNAL_NAME" TYPE="STRING" TYPE_FORMAT="128" >External name</COLUMN> <COLUMN NAME="DESCRIPTION" TYPE="STRING" TYPE_FORMAT="1024" >Description</COLUMN> <COLUMN NAME="LANGUAGES" TYPE="STRING" TYPE_FORMAT="1024" >Languages</COLUMN> <COLUMN NAME="INSTALLED_LOCATION" TYPE="STRING" TYPE_FORMAT="1024" >Installed Location</COLUMN> <COLUMN NAME="INSTALLER_VERSION" TYPE="STRING" TYPE_FORMAT="64" >Installer Version</COLUMN> <COLUMN NAME="MIN_DEINSTALLER_VERSION" TYPE="STRING" TYPE_FORMAT="64" >Minimum Deinstaller Version</COLUMN>
対応するデータベース表は次のとおりです。
COLUMN_NAME | DATA_TYPE | COLUMN_WIDTH | KEY |
---|---|---|---|
ECM_SNAPSHOT_ID | RAW | 16 | PK |
COMPONENT_NAME | VARCHAR2 | 128 | PK |
COMPONENT_VERSION | VARCHAR2 | 64 | PK |
CURRENT_VERSION | VARCHAR2 | 64 | |
INSTALL_TIME | DATE | [-] | |
IS_TOP_LEVEL | NUMBER | 1 | |
EXTERNAL_NAME | VARCHAR2 | 128 | |
DESCRIPTION | VARCHAR2 | 1024 | |
LANGUAGES | VARCHAR2 | 1024 | |
INSTALLED_LOCATION | VARCHAR2 | 1024 | |
INSTALLER_VERSION | VARCHAR2 | 64 | |
MIN_DEINSTALLER_VERSION | VARCHAR2 | 64 |
この表の主キーは、ECM_SNAPSHOT_ID、COMPONENT_NAMEおよびCOMPONENT_VERSIONから構成されています。
EM_ECM_OH_COMP_INST_TYPE表には、Oracleソフトウェア・コンポーネントのインストールのタイプが格納されます(Oracle Universal Installer (OUI)のみ)。これは、EM_ECM_OH_COMPONENT表の子表です。この表のメタデータは、次のとおりです。
<TABLE NAME="EM_ECM_OH_COMP_INST_TYPE"> <UI_NAME>Install Types of Components</UI_NAME> <COLUMN NAME="NAME_ID" TYPE="STRING" TYPE_FORMAT="128" IS_KEY="Y">Install Type Name ID</COLUMN> <COLUMN NAME="INSTALL_TYPE_NAME" TYPE="STRING" TYPE_FORMAT="128" >Install Type Name</COLUMN> <COLUMN NAME="DESC_ID" TYPE="STRING" TYPE_FORMAT="128" >Install Type Description ID</COLUMN> </TABLE> </TABLE>
注意: 余分な</TABLE> 閉じタグは、EM_ECM_OH_COMPONENT親表のためのものです。 |
対応するデータベース表は次のとおりです。
COLUMN_NAME | DATA_TYPE | COLUMN_WIDTH | KEY |
---|---|---|---|
ECM_SNAPSHOT_ID | RAW | 16 | PK |
COMPONENT_NAME | VARCHAR2 | 128 | PK |
COMPONENT_VERSION | VARCHAR2 | 64 | PK |
NAME_ID | VARCHAR2 | 128 | PK |
INSTALL_TYPE_NAME | VARCHAR2 | 128 | |
DESC_ID | VARCHAR2 | 128 |
この表の場合、主キーはECM_SNAPSHOT_ID、COMPONENT_NAME、COMPONENT_VERSIONおよびNAME_IDから構成されています。
注意: COMPONENT_NAMEおよびCOMPONENT_VERSIONはここにリストされていませんが、親表のキー列から継承されます。これらの列の値は、ECM_SNAPSHOT_ID、COMPONENT_NAMEおよびCOMPONENT_VERSIONの値が同一であるEM_ECM_OH_COMPONENTの行に一致している必要があります。 |
構成メタデータXMLファイルを作成する場合、次のことに注意してください。
それぞれの表定義では、その名前と、少なくとも1つの列仕様を指定する必要があります。
例7-1 表定義
<TABLE NAME="..." ...> Optional UI name Column definitions Optional Indexes definitions: starting 12c PS1 platform release Optional Child Table definitions </TABLE>
表7-1 に、TABLE要素の属性を示します。
表名は指定のスナップショット・タイプに固有である必要があります。複数のスナップショット・タイプで共有することはできません。Enterprise Managerの内部名はEM_で始めることができますが、プラグインおよびアドオンの場合、表名を大文字のプラグイン・タグ(プラグインIDの3番目の部分)で始め、後にアンダースコアを続けることをお薦めします。たとえば、プラグインoracle.sysman.xyzは、XYZ_CONFIGのように、XYZ_で始まる表名を定義する必要があります。
それぞれの列定義では、少なくともその名前とタイプを指定する必要があります。
表7-1 に、COLUMN要素の属性を示します。
列のタイプは、STRING、NUMBER、TIMESTAMP、RAWのいずれかです。TYPE_FORMATはオプションです。その意味はタイプの値から導出されます。STRINGの場合、それは最大の文字列長です。NUMBERの場合、Oracleデータベースに関する精度とスケールです (たとえば、TYPE_FORMAT=”4, 9”)。
TABLEタグをネスティングすることによって、表の間の親子関係を指定します。
表とビューの名前は25文字までです。
表と列の順序は重要です。UI表示には、その順序が反映されます。インポートとエクスポートの操作では、順序は変わりません。削除操作(表データに対する)は、逆の順序で行われます。子行は、親行の前に削除されます。
COLUMNタグには、列のUI表示名が含まれます。
表には、表の中で行を一意に識別するキー列が必要です。キー列の合計サイズが大きくなりすぎないようにしてください(4,000が最大ですが、それよりずっと小さいサイズでも構いません)。
すべての祖先表のキー列は子表によって継承されると自動的に仮定され、子表の仕様では繰り返されません。
ただし、表は、1つの親行当たりの行が1だけであるか、表が最上表で、1つのスナップショット当たりの行が1つだけの場合、キーを必要としません。キーのない表では、SINGLE_ROW="Y"属性を指定する必要があります。これは、デフォルトでは"N"に設定されています。
構成メタデータの主要な要素に関する情報は、項7.3.2「構成管理スナップショット・メタデータ要素の概要」を参照してください。
表7-1 には、構成管理を定義する主要な要素を記述しています。
表7-1 構成メタデータXMLファイルの主要な要素
要素 | 説明 |
---|---|
|
構成メタデータXMLファイルは、METADATASタグで始まります。 <METADATAS> One or more snapshot specifications </METADATAS> スナップショットの指定は |
スナップショットの指定は
|
|
表名と少なくとも1つの列を指定します。次の属性があります。
|
|
|
それぞれの列定義は、
|
|
導出された関連付け、コンプライアンス・ルール、レポート、またはその他の、ECM_SNAPSHOT_ID以外の列に基づく表行へのアクセスにおけるパフォーマンスが重要な問合せで表が使用されている場合、オプションの索引が便利です。 オプションの索引定義要素<INDEXES>では、1つ以上の<INDEX>要素を指定し、各<INDEX>要素には名前と列を指定する必要があります。 <INDEXES> <INDEX NAME="..." COLUMNS="..." /> <INDEX NAME="..." COLUMNS="..." /> … </INDEXES>
|
注意: 事前定義されたECM_METADATA_ID列は、常に各索引の最後の列として追加されます。 |
例7-3は、oracle_home_configスナップショットの構成メタデータXMLファイルの例です。すべての*
_IGNORE
属性は、ファイル内で指定されていないため、デフォルト値(N)を保持します。
例7-3 構成メタデータXMLファイルの例
<METADATAS> <METADATA SNAP_TYPE="oracle_home_config" TARGET_TYPE="oracle_home" VER="1" <METADATA_UI_NAME>Oracle Home Configuration</METADATA_UI_NAME> <TABLE NAME="EM_ECM_OH_HOME_INFO" SINGLE_ROW="Y"> <UI_NAME>Home Info</UI_NAME> <COLUMN NAME="HOME_LOCATION" TYPE="STRING" TYPE_FORMAT="1024">Install Location</COLUMN> <COLUMN NAME="OUI_HOME_NAME" TYPE="STRING" TYPE_FORMAT="256">OUI Home Name</COLUMN> <COLUMN NAME="OUI_HOME_GUID" TYPE="STRING" TYPE_FORMAT="32">OUI Home GUID</COLUMN> <COLUMN NAME="HOME_TYPE" TYPE="STRING" TYPE_FORMAT="1">Home Type</COLUMN> <COLUMN NAME="HOME_POINTER" TYPE="STRING" TYPE_FORMAT="1024">Home Pointer</COLUMN> <COLUMN NAME="IS_CLONABLE" TYPE="NUMBER" TYPE_FORMAT="1">Is Clonable</COLUMN> <COLUMN NAME="IS_CRS" TYPE="NUMBER" TYPE_FORMAT="1">Is CRS</COLUMN> <COLUMN NAME="ARU_ID" TYPE="NUMBER" TYPE_FORMAT="10">ARU ID of the Oracle Home</COLUMN> <COLUMN NAME="HOME_SIZE" TYPE="NUMBER" TYPE_FORMAT="10">Size of Oracle Home (KB)</COLUMN> </TABLE> <TABLE NAME="EM_ECM_OH_DEP_HOMES"> <UI_NAME>Dependee Oracle Homes</UI_NAME> <COLUMN NAME="DEP_HOME_LOCATION" TYPE="STRING" TYPE_FORMAT="1024" IS_KEY="Y">Dependee Home Location</COLUMN> </TABLE> <TABLE NAME="EM_ECM_OH_COMPONENT"> <UI_NAME>Components installed in Oracle Home</UI_NAME> <COLUMN NAME="COMPONENT_NAME" TYPE="STRING" TYPE_FORMAT="128" IS_KEY="Y">Component Name</COLUMN> <COLUMN NAME="COMPONENT_VERSION" TYPE="STRING" TYPE_FORMAT="64" IS_KEY="Y">Base Version of Component</COLUMN> <COLUMN NAME="CURRENT_VERSION" TYPE="STRING" TYPE_FORMAT="64">Current Version of the Component</COLUMN> <COLUMN NAME="INSTALL_TIME" TYPE="TIMESTAMP" >Install Time</COLUMN> <COLUMN NAME="IS_TOP_LEVEL" TYPE="NUMBER" TYPE_FORMAT="1">Is a top level Component</COLUMN> <COLUMN NAME="EXTERNAL_NAME" TYPE="STRING" TYPE_FORMAT="128">External name</COLUMN> <COLUMN NAME="DESCRIPTION" TYPE="STRING" TYPE_FORMAT="1024">Description</COLUMN> <COLUMN NAME="LANGUAGES" TYPE="STRING" TYPE_FORMAT="1024" >Languages</COLUMN> <COLUMN NAME="INSTALLED_LOCATION" TYPE="STRING" TYPE_FORMAT="1024">Installed Location</COLUMN> <COLUMN NAME="INSTALLER_VERSION" TYPE="STRING" TYPE_FORMAT="64">Installer Version</COLUMN> <COLUMN NAME="MIN_DEINSTALLER_VERSION" TYPE="STRING" TYPE_FORMAT="64">Minimum Deinstaller Version</COLUMN> <TABLE NAME="EM_ECM_OH_COMP_INST_TYPE"> <UI_NAME>Install Types of Components</UI_NAME> <COLUMN NAME="NAME_ID" TYPE="STRING" TYPE_FORMAT="128" IS_KEY="Y">Install Type Name ID</COLUMN> <COLUMN NAME="INSTALL_TYPE_NAME" TYPE="STRING" TYPE_FORMAT="128" >Install Type Name</COLUMN> <COLUMN NAME="DESC_ID" TYPE="STRING" TYPE_FORMAT="128">Install Type Description</COLUMN> </TABLE> </TABLE> </METADATA> </METADATAS>
注意: このファイルの情報を使用して、ターゲット・タイプのメタデータ・ファイルにメトリックを定義します。詳細は、第7.3.7項「標準収集メトリックおよびRAWメトリックへの変更」および例7-6を参照してください。 |
構成メタデータXMLファイルを完成させたら、プラグイン・ステージング・ディレクトリ内の次のディレクトリにファイルを保存します。
oms/metadata/snapshotlive
プラグイン・ステージング・ディレクトリに保存した構成メタデータ・ファイルは、プラグイン・デプロイメント時に自動登録できます。
プラグイン・ステージング・ディレクトリまたはプラグイン・デプロイメントの詳細は、第14章「プラグインの検証、パッケージ化およびデプロイ」を参照してください。
構成メタデータXMLファイルが完了したら、構成管理フレームワークに登録する必要があります。構成メタデータXMLファイルは、プラグイン・ステージ・ディレクトリのoms/metadata/snapshotlive
ディレクトリに配置する必要があります。プラグインのインストールまたはアップグレード時に登録は自動的に実行され、必要なスキーマ・オブジェクトが作成されて構成メタデータが構成管理フレームワークに登録されます。プラグイン・ステージング・ディレクトリおよび登録の詳細は、第14章「プラグインの検証、パッケージ化およびデプロイ」を参照してください。
XML専用プラグインの開発時に登録サービスを手動で実行するには、次のコマンドを入力します。
emctl register oms metadata -sysman_pwdsysman password
-pluginIdplugin ID
-service LiveSnapshotRegistration -filesnapshot metadata XML file
注意: このコマンドを実行する前に、管理リポジトリにプラグインをインポートする必要があります。
plugin IDは、スナップショット・メタデータ・ターゲット・タイプが属しているプラグインのIDです。LiveSnapshotRegistration
は、構成管理スキーマ・オブジェクトを作成および更新し、構成メタデータを登録するメタデータ・サービスです。
このコマンドは、開発環境内のSYSMAN資格証明を使用して、スナップショット構成ファイル(snapshot metadata XML file)を登録します。
構成管理は、追加ファイルを生成するためにオプションで実行できる次のユーティリティを提供します。
EDK_DIR
/bin/empdk generate_metadata_resource -stage_dirplugin_stage
-service LiveSnapshotRegistration -input_dirinput directory
[-out_diroutput directory
] [-file_extensionlist of file extensions/suffixes
] [-debugdebug file name
]
詳細は次のとおりです。
EDK_DIR: EDKパッケージが解凍されるディレクトリ(詳細は、第1.3項「拡張開発キット(EDK)のインストール」を参照してください)。
plugin_stage: プラグインのステージング・ディレクトリ(詳細は、第14.2項「プラグインのステージング」を参照してください)。
input directory: 構成メタデータXMLファイルを含むディレクトリ。
output directory: 生成されたリソース・ファイルを含むディレクトリ。指定されていない場合、リソース・ファイルは現在のディレクトリに生成されます。
list of file extensions/suffixes: リソース・ファイルのファイル拡張子または接尾辞のカンマ区切りリスト。指定されていない場合、サポートされるすべてのリソース・ファイルは出力ディレクトリに生成されます。
debug file name: デバッグ情報を含んだファイル。指定されていない場合、デバッグ・ログ・ファイル(createplugin.logtime)が出力ディレクトリに作成され、警告およびエラー・メッセージのみを格納します。
入力ディレクトリ内の各構成メタデータXMLファイルの場合、指定したリソース・ファイルは、ファイル名ecm_metadata_xml_file_name
を接頭辞に持ち、対応する次のサポートされる接尾辞を持つ出力ディレクトリに生成されます。
.dlf
file_name
.dlf
は、スナップショット・タイプ名、表名および列名の変換用ファイルです。生成されたDLFファイルとその変換済バージョンは、プラグインのplugin_stage
/oms/rsc/ecm
ディレクトリに配置されます。
_metrix.xml
、_collection.xml
file_name
_metric.xml
およびfile_name
_collection.xml
は管理エージェント側統合の開始テンプレートとして使用できます。詳細は、項7.3.7「標準収集メトリックおよびRAWメトリックへの変更」を参照してください。
データ・ロード形式(DLF)翻訳ファイルは、プラグイン・メタデータ・ファイル内の表示文字列がUIにエンド・ユーザーの言語で表示されるよう、その国際化をサポートするために使用されます。通常は、元の(英語などの) DLFファイルを翻訳者に提供し、翻訳者が他のロケール用に同様のファイルを作成します。このようなファイルはすべて、プラグインのインストール時に管理リポジトリにロードされます。
注意: DLFファイルの生成はオプションであり、必要になるのは翻訳が必要な場合のみです。 |
スナップショット・タイプ名、表および列名の翻訳用にDLFファイルを生成するには、次のコマンドを実行します。
$ORACLE_HOME/emcore/pdk/partner/bin/empdk generate_metadata_resource -stage_dirstaging directory
-service LiveSnapshotRegistration -input_dirinput directory containing snapshot metadata XML file
-file_extensionextension to use for generated DLF files
-out_diroutput directory to which to generate the DLF files
[-debugdebug output file
]
生成されたDLFファイルと対応する翻訳版は、プラグインの次のディレクトリに配置する必要があります。
plugin_stage
/oms/rsc/ecm
各DLFファイルに次の内容を手動で追加する必要があります。
<table xml:lang="en" name="MGMT_MESSAGES"> <lookup-key> <column name="MESSAGE_ID"/> <column name="SUBSYSTEM"/> <column name="LANGUAGE_CODE"/> <column name="COUNTRY_CODE"/> </lookup-key> <columns> <column name="MESSAGE_ID" type="string" maxsize="256"/> <column name="SUBSYSTEM" type="string" maxsize="64"/> <column name="LANGUAGE_CODE" type="string" language="%l"/> <column name="COUNTRY_CODE" type="string" language="%Cs"/> <column name="MESSAGE" type="string" maxsize="1000" translate="yes"/> </columns> <dataset> GENERATED FILE CONTENT </dataset> </table>
注意: 顧客にメタデータの新しいバージョンをリリースするたびに、整数のメタデータ・バージョン(VER属性)を増分する必要があります。バージョンは、ECM XMLメタデータ・ファイル(METADATA要素内のVER属性)および対応するエージェント収集ファイル内で増分する必要があります。VER属性の詳細は、表7-1「構成メタデータXMLファイルの主要な要素」を参照してください。 |
既存のスナップショット・メタデータをアップグレードする場合、次の変更がサポートされます。
新規表
新しい非キー列(これらは以前の既存の列の後に表示される必要があります)
新しい索引リスト(以前のあらゆる索引を上書きします)
STRING型列の長さの増加
UI_IGNORE、COMPARE_IGNORE、COMPARE_UI_IGNORE、HISTORY_IGNORE、HISTORY_UI_IGNOREおよびUI_NAMEの各属性の値
注意:
|
次のメタデータを例にとります。
例7-4 オリジナルのメタデータ定義
<METADATAS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <METADATA VER=”1” SNAP_TYPE="sn_dbconfig" TARGET_TYPE="sn_oracle_database" UI_IGNORE="Y" HISTORY_IGNORE="N" COMPARE_IGNORE="Y" COLLECTION_GROUP="COL_GRP_0"> <METADATA_UI_NAME>Database Configuration</METADATA_UI_NAME> <TABLE NAME="TABLESPACES" DATA_SOURCE="R"> <UI_NAME>Tablespaces</UI_NAME> <COLUMN NAME="TABLESPACE_NAME" TYPE="STRING" TYPE_FORMAT="30" IS_KEY="Y">Tablespace Name</COLUMN> <COLUMN NAME="SIZE" TYPE="NUMBER">Size</COLUMN> <COLUMN NAME="STATUS" TYPE="STRING" TYPE_FORMAT="10">Status</COLUMN> <TABLE NAME="DATAFILES"> <UI_NAME>Datafiles</UI_NAME> <COLUMN NAME="FILE_NAME" TYPE="STRING" TYPE_FORMAT="1024" IS_KEY="Y">File Name</COLUMN> <COLUMN NAME="FILE_SIZE" TYPE="NUMBER" HISTORY_IGNORE="Y">Size</COLUMN> <COLUMN NAME="STATUS" TYPE="STRING" TYPE_FORMAT="9">Status</COLUMN> </TABLE> </TABLE> </METADATA> </METADATAS>
例7-5は、例7-4で説明したメタデータ定義へのアップグレードの例です。変更箇所は太字で強調表示されています。
例7-5 アップグレードされたメタデータ定義
<METADATAS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <METADATA VER=”2
” SNAP_TYPE="sn_dbconfig" TARGET_TYPE="sn_oracle_database" UI_IGNORE="Y" HISTORY_IGNORE="N" COMPARE_IGNORE="Y" COLLECTION_GROUP="COL_GRP_0"> <METADATA_UI_NAME>Database Configuration</METADATA_UI_NAME> <TABLE NAME="TABLESPACES" DATA_SOURCE="R"> <UI_NAME>Tablespaces</UI_NAME> <COLUMN NAME="TABLESPACE_NAME" TYPE="STRING" TYPE_FORMAT="30" IS_KEY="Y">Tablespace Name</COLUMN> <COLUMN NAME="SIZE" TYPE="NUMBER">Size</COLUMN> <COLUMN NAME="STATUS" TYPE="STRING" TYPE_FORMAT="10">Status</COLUMN> <TABLE NAME="DATAFILES"> <UI_NAME>Datafiles</UI_NAME> <COLUMN NAME="FILE_NAME" TYPE="STRING" TYPE_FORMAT="1024" IS_KEY="Y">File Name</COLUMN> <COLUMN NAME="FILE_SIZE" TYPE="NUMBER" HISTORY_IGNORE="Y">Size</COLUMN> <COLUMN NAME="STATUS" TYPE="STRING" TYPE_FORMAT="10
">Status</COLUMN><COLUMN NAME="DESC" TYPE="STRING" TYPE_FORMAT="128">Status</COLUMN>
</TABLE> </TABLE><TABLE NAME="TABLESPACES_1" DATA_SOURCE="R" >
<UI_NAME>Tablespaces_1</UI_NAME>
<COLUMN NAME="TABLESPACE_NAME" TYPE="STRING" TYPE_FORMAT="30"
IS_KEY="Y">Tablespace Name</COLUMN>
<COLUMN NAME="SIZE" TYPE="NUMBER">Size</COLUMN>
<COLUMN NAME="STATUS" TYPE="STRING" TYPE_FORMAT="10">Status</COLUMN>
<COLUMN NAME="NOTES" TYPE="STRING" TYPE_FORMAT="128">Status</COLUMN>
<TABLE NAME="DATAFILES_1">
<UI_NAME>Datafiles_1</UI_NAME>
<COLUMN NAME="FILE_NAME" TYPE="STRING" TYPE_FORMAT="1024"
IS_KEY="Y">File Name</COLUMN>
<COLUMN NAME="FILE_SIZE" TYPE="NUMBER" HISTORY_IGNORE="Y">Size</COLUMN>
<COLUMN NAME="STATUS" TYPE="STRING" TYPE_FORMAT="10">Status</COLUMN>
</TABLE>
</TABLE>
</METADATA> </METADATAS>
古いリリースのEnterprise Managerでは、METADATA要素でDROP_EXISTING_DATA属性を使用できましたが、もうサポートされていないため削除する必要があります。
ECMメタデータに非下位互換性の変更を持たせる必要がある場合は、新しいスナップショット・タイプを作成する必要があります(これは古いスナップショット・タイプとは互換性がありません)。ECMは下位互換性のある変更のみをサポートしています。
エンタープライズ構成管理データは、通常のメトリック、収集、および管理エージェントのメカニズムで収集されます。このデータは、次の変更とともに通常のRAWメトリックを介して収集されます。
構成スナップショット情報を収集するすべてのMetric
およびCollectionItem
タグにCONFIG=”TRUE”
属性を追加します。
CollectionItem NAME
属性がスナップショット・タイプ名(たとえば、oracle_home_config)と同じであることを確認します。
データ収集のスケジュールには、1日当たり1回を超える頻度の間隔を指定しないでください。
注意: いかなるRAWメトリック表記述子にも、ECM_SNAPSHOT_IDを列として含めないようにします。 |
子表に祖先キー列が含まれる場合、階層的な一連の表を一度に1つずつ移入することができます。収集時に階層関係を表現する必要はありません。収集項目では、親表を、対応する子表の前にリストする必要があります。
例7-6は、例7-3で定義したEM_ECM_OH_HOME_INFO表のターゲット・タイプ・メタデータXMLファイルにおけるメトリック定義です。太字フォントで強調表示した情報は、構成メタデータXMLファイル(例7-3)によって提供されます。
ターゲット・タイプ・メタデータXMLファイルの詳細は、項3.3「ターゲット・タイプ・メタデータ・ファイルの作成」を参照してください。
例7-6 メトリックの定義
<Metric NAME="EM_ECM_OH_HOME_INFO" TYPE="RAW" CONFIG="TRUE"
> <Display> <Label NLSID="…">Home Info
</Label> </Display> <TableDescriptor TABLE_NAME="EM_ECM_OH_HOME_INFO
"> <ColumnDescriptor NAME="HomeLocation" COLUMN_NAME="HOME_LOCATION" TYPE="S"
> <Display> <Label NLSID="…">Install Location
</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="OuiHomeName" COLUMN_NAME="OUI_HOME_NAME" TYPE="S"
> <Display> <Label NLSID="…">OUI Home Name
</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="OuiHomeGuid" COLUMN_NAME="OUI_HOME_GUID" TYPE="S"
> <Display> <Label NLSID="…">OUI Home GUID
</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="HomeType" COLUMN_NAME="HOME_TYPE" TYPE="S"
> <Display> <Label NLSID="…">Home Type
</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="HomePointer" COLUMN_NAME="HOME_POINTER" TYPE="S"
> <Display> <Label NLSID="…">Home Pointer
</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="IsClonable" COLUMN_NAME="IS_CLONABLE" TYPE="N"
> <Display> <Label NLSID="…">Is Clonable
</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="IsCrs" COLUMN_NAME="IS_CRS" TYPE="N"
> <Display> <Label NLSID="…">Is CRS
</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="AruId" COLUMN_NAME="ARU_ID" TYPE="N"
> <Display> <Label NLSID="…">ARU ID of the Oracle Home
</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="HomeSize" COLUMN_NAME="HOME_SIZE" TYPE="N"
> <Display> <Label NLSID="…">Size of Oracle Home (KB)
</Label> </Display> </ColumnDescriptor> </TableDescriptor> <!-- TODO : EDIT: Edit the QueryDescriptor Element Template as required --> <QueryDescriptor FETCHLET_ID="" AGENT_MODE=""> <Property NAME="" SCOPE=""></Property> </QueryDescriptor> </Metric>
例7-7は、例7-6で定義したメトリックのデフォルト収集メタデータ・ファイルにおけるメトリック収集の定義です。太字フォントで強調表示した情報は、構成メタデータXMLファイル(例7-3)によって提供されます。
デフォルトの収集メタデータ・ファイルの詳細は、項3.5「デフォルトの収集ファイルの作成」を参照してください。
例7-7 メトリック収集の定義
<CollectionItem NAME="oracle_home_config_test" CONFIG="TRUE"
>
<Schedule OFFSET_TYPE="INCREMENTAL">
<!-- Configuration Collection is done at most once every 24 Hours -->
<IntervalSchedule INTERVAL="24" TIME_UNIT="Hr" />
</Schedule>
<MetricColl NAME="EM_ECM_OH_HOME_INFO" />
<MetricColl NAME="EM_ECM_OH_DEP_HOMES" />
<MetricColl NAME="EM_ECM_OH_CRS_NODES" />
<MetricColl NAME="EM_ECM_OH_CLONE_PROPS" />
<MetricColl NAME="EM_ECM_OH_COMPONENT" />
<MetricColl NAME="EM_ECM_OH_COMP_INST_TYPE" />
<MetricColl NAME="EM_ECM_OH_COMP_DEP_RULE" />
</CollectionItem>
プラグインの場合、oparファイル内のomsディレクトリとagentディレクトリの両方で、メタデータ・ファイルとdefault_collection XMLファイルを忘れずに含めてください。
構成管理フレームワークに構成収集表を統合したら、次の手順を実行することによって構成収集をテストできます。
管理エージェントを再起動します。
AGENT_HOME
/agent/bin/emctl stop agentAGENT_HOME
/agent/bin/emctl start agent
前のコマンドで、AGENT_HOME は管理エージェントのホーム・ディレクトリを表します。
Enterprise Manager Cloud Controlから「ターゲット」を選択し、必要なターゲットを選択します。
ターゲットを右クリックして「構成」、「最新収集」の順に選択して、最新のデータ収集を表示します。
必要な収集データが表示されていることを確認します。
構成収集に関する問題がある場合、次の操作を行います。
スナップショット・タイプがMGMT_ECM_SNAPSHOT_METADATA表に登録されていることを確認します。
select * from mgmt_ecm_snapshot_metadata where target_type =your_target_type
and snapshot_type =your_snapshot_type
;
2つの行が表示されるはずです。そうでない場合、次のディレクトリにあるMRSの通常のログ・ファイルで、登録時にエラーがなかったか確認します。
$ORACLE_HOME/cfgtoollogs/pluginca
対応するメトリックを定義して、収集が開始され、データが蓄積していることを検証します。UIで最新の収集を見ている場合、まずメタデータのUI_IGNOREフラグが、チェックしているデータのYでないことを確認してください。収集が発生していない場合、次の事項を確認します。
収集項目名がスナップショット・タイプと同じで、収集項目とそのすべてのメトリックの両方に対してCONFIG="TRUE"が指定されていることを確認します。
詳細は、項7.3.7「標準収集メトリックおよびRAWメトリックへの変更」を参照してください。
メトリックがRAWメトリックとして定義されており、表記述子がECM表に対応していることを確認します。
収集が管理リポジトリに到着しているが、最新のものとしては未更新かどうかを確認します。
MGMT_ECM_GEN_SNAPSHOT表で、ターゲットとスナップショット・タイプのis_current
ステータスを確認します。行がない場合、収集は実行されていません。IS_CURRENTフラグはYに設定され、データの最新のスナップショットであることを示しているはずです。内部の目的のために行のIS_CURRENT値が他の値に設定されている可能性もあります。たとえば、値がYの行がなく、IS_CURRENT値がTとDになっている場合、スナップショットの読込みが開始されているが完了していないことを示します。
エージェント・ターゲット・タイプ・メタデータ・ファイルとdefault_collection XMLファイルでMETA_VERの値を確認します。
開発中に新しいメトリックまたは収集項目を追加した場合、これらの新しいエントリの登録を成功させるために、これらのファイルでMETA_VERの増加が必要になることがあります。META_VER値に関して、Enterprise Management開発用の最新の指示を確認します。
たとえば、開発時に変更を登録するために、バージョンを増やす必要があることがあります。1リリース当たりバージョンを1つのみ増やす必要があります。したがって、コードをマージする場合、現在のリリースについてすでに増分したときは、META_VERを以前と同じにする必要が生じることがあります。
収集から見た場合、新しいターゲット・タイプ・メタデータ・ファイルとdefault_collection XMLファイルの両方を正常に登録し、最新のファイルを使用してエージェントを再起動してください。次のコマンドを使用すると、ターゲット・タイプ・メタデータ・ファイルおよびdefault_collection XMLファイルを登録できます。
emctl register oms metadata -service targetType -filetarget type XML filename
[-core | -pluginIdPlugin Id
] [ sysman_pwd "sysman password"]
emctl register oms metadata -service default_collection -filedefault collection XML filename
[-core | -pluginIdPlugin Id
] [ sysman_pwd "sysman password"]
テストしている特定のターゲット・インスタンスの場合、最新のMETA_VERに基づいている最新の収集済データを確認するために、META_VERが、ロード済スナップショット・タイプのMETA_VERと一致することを確認してください。
ターゲット・インスタンスのカテゴリ・プロパティがValid-Ifと一致するかどうかを確認するために、ターゲット・タイプ、スナップショット・タイプおよびメトリックに対して定義されているValid-Ifを確認します。一致しない場合、構成はこのようなターゲットに適用されないため、ターゲットは対応するデータを示しません。
OMSリポジトリで、スナップショット・タイプのmgmt_system_error_log表およびemoms_pbs.trc/logを確認します。
次のコマンドを使用して、mgmt_metric_errors表を調べることもできます。
select * from mgmt_metric_errors where target_guid = '<your target guid>' and coll_name = '<your snapshot type>'
エージェントで、エージェント・ログ・ディレクトリにあるgcagent.logファイルや他のファイルに同じ文字列がないか確認します。
これで役に立たない場合は、エージェント・バックアップ・ファイル機能を有効にします(backupUploadedFiles=trueをemd.propertiesに追加してエージェントを再起動します)。
次の場所でスナップショット・タイプを検索し、エージェントがデータをOMSに送信していることを確認し、送信しているものを確かめます。
agentStateDir/sysman/emd/upload/upload/succbkup/
遭遇する可能性のある1つの問題は、構成の差分取得機能に関連しています。
なんらかの理由で構成がロードされていないのにエージェントが自らロードしたと考えている場合、かつ、この時点から構成が変更されていない場合、エージェントは短いnothing-changedファイル・タイプを送信し続け、ローダーはこのファイル・タイプを無視し続けます。この問題を解決する(デバッグ時にあり得る問題として除去する)には、次のコマンドを実行して(カンマの前後はスペースなし)、エージェント・ログから構成を取り除きます。
emctl clearstate agent -incrementalconfigtargetName
,targetType
その次に、収集を開始して、次のコマンドを実行します。
emctl control agent runCollectiontargetName
:targetType
snapshot type
例:
emctl clearstate agent -incrementalconfig myOracleHomeTargetName,oracle_home emctl control agent runCollection myOracleHomeTargetName:oracle_home oracle_home_config
Oracle Management Serviceおよび管理リポジトリで、スナップショット・タイプに対応するMGMT_SYSTEM_ERROR_LOG表とemoms_pbs.trcファイルを確認します。次のように、MGMT_METRIC_ERRORS表も確認します。
管理エージェントで、エージェント・ログ・ディレクトリにあるgcagent.logファイルや他のファイルに同じ文字列がないか確認します。
まだ問題が残る場合、管理エージェントのバックアップ・ファイル機能をオンにします。
emd.propertiesファイルを開きます。
次の行をファイルに追加します。
backupUploadedFiles=true
管理エージェントを再起動します。
AGENT_HOME
/agent/bin/emctl stop agentAGENT_HOME
/agent/bin/emctl start agent
前のコマンドで、AGENT_HOME は管理エージェントのホーム・ディレクトリを表します。
次のディレクトリでスナップショット・タイプを検索し、管理エージェントがデータをOMSに送信していることを確認します。
agentStateDir/sysman/emd/upload/upload/succbkup/
構成差分機能に関連する問題が発生する可能性があります。構成が読み込まれず、管理エージェントが構成のロードを中断した場合(構成が変更されていない場合)、管理エージェントは、何も変更されておらず、ローダーがファイルを引き続き無視することを示す短いファイルを送信します。
この可能な問題を消去または除去するには、次のようにして管理エージェント・ログを消去します。
emctl clearstate agent -incrementalconfigtargetName
,targetType
例:
emctl clearstate agent -incrementalconfig myOracleHomeTargetName,oracle_home
その次に、収集を開始して、次のコマンドを実行します。
emctl control agent runCollectiontargetName
:targetType
snapshot_type
例:
emctl control agent runCollection myOracleHomeTargetName:oracle_home oracle_home_config
Cloud Controlコンソールから履歴機能と比較機能をテストし、結果がどのように表示されるか、またはフラグが変更されていないか確認します。
Enterprise Manager Cloud Controlから「ターゲット」を選択し、必要なターゲットを選択します。
ターゲットを右クリックして「構成」を選択し、「履歴」を選択して構成履歴を表示するか、「比較」を選択して比較機能をテストします。
注意: これらのページの詳細は、Cloud Controlのオンライン・ヘルプを参照してください。 |