データベース モデル変更ツール(DBconv)
内容
casp1032jp
内容
$SPECROOT
/SS-Tools ディレクトリにあるこのユーティリティ プログラムを使用すると、CA Spectrum データベース内の一連のモデルのモデル タイプを、あるモデル タイプから別のモデルタイプに変換することができます。DBconv は、アプリケーションを再発見し、モデルのセット内のインターフェースを再設定するためにも使用できます。このユーティリティの形式は以下のとおりです。
DBconv [-file=]<Input File Name> [-src_mth=]<Source Model Type Handle> [-dest_mth=]<Destination Model Type Handle> [-landscape=]<Landscape Handle> [-rediscover=]<r><d><i> [-all_landscapes] [-test=]<Test Level> [-quiet] [-debug]
DBconv と設定
DBconv は、入力ファイル(コマンド ラインで指定された)またはコマンド ライン自体からその設定を受け取ることができます。コマンド ライン オプションのリストを取得するには、オプションなしで DBconv を実行します。
- -file使用する入力ファイルを指定します。
- -src_mth変換前のモデル タイプ ハンドルを指定します。-rediscover を指定する場合は、再発見するモデルのタイプを指定します。
- -dest_mth変換後のモデル タイプ ハンドルを指定します。入力ファイル内の設定を無視します。-rediscover を指定すると、このオプションは無視されます。
- -landscapeモデルを検索するランドスケープ ハンドルを指定します。デフォルト:0x400000
- -all_landscapesすべてのランドスケープでモデルを検索することを指定します。
- -testテスト レベル 0 (デフォルト)は、変換を実際に行うことを意味します。テスト レベル 1 は、DBconv がコマンド ラインおよび入力ファイルを検証した直後に処理を停止することを意味します。テスト レベル 2 は、古いモデルを削除せず、新しいモデルを作成しないことを意味します。
- -quietエラー メッセージ以外の出力を生成しないことを指定します。
- -debug余分な出力があることを指定します。
- -rediscoverこのオプションを指定すると、検出されたモデルは変換されません。代わりに、以下で指定するアクションの 1 つ以上が、検出された各モデルに対して実行されます。
- d検出された各デバイス モデルのアプリケーション モデルをすべて破壊します。
- r検出された各デバイス モデルにアプリケーション再発見アクションを送信します。
- i検出された各デバイス モデルにインターフェース再設定アクションを送信します。
注:
コマンド ラインでは、上記のアクションを任意の順序で指定できます。ただし、常にここで示した順序で実行されます。DBconv コマンド ライン使用の例
次に示すのは、コマンド ラインでの DBconv ツールの標準的な使用法の例です。
- 指定した入力ファイルのみを使用して、変換を実行します。$ DBconv -file=config.dbc
- すべての既知のランドスケープで、すべての GnSNMPDev モデルを Smart Switch Routers に変換します。$ DBconv -src_mth=0x3d0002 -dest_mth=0x2c60000 -all_landscapes
- ランドスケープ 0x400000 で、すべての GnSNMPDev モデルを Smart Switch Router に変換します。$ DBconv -src_mth=0x3d0002 -dest_mth=0x2c60000 -landscape=0x400000
- すべてのランドスケープのすべての SmartSwitch Router について、アプリケーションをすべて破壊し、アプリケーションを再発見し、インターフェースを再設定します。$ DBconv -src_mth=0x2c60000 -rediscover=rdi -all_landscapes
- ランドスケープ 0x400000 内のすべての SmartSwitch Router について、インターフェースを再設定します。$ DBconv -src_mth=0x2c60000 -rediscover=i -landscape=0x400000
注:
DBconv の実行には、短い初期フェーズとそれより長い第 2 フェーズがあり、どのフェーズが有効かがウィンドウに表示されます。接続できないモデルは変換されません。いずれの場合も、エラー メッセージが表示されます。これらのエラー メッセージのいくつかの考えられる原因は次のとおりです。- 指定されたモデル タイプによって表されるデバイスへの接続が失われています
- 指定されたモデル タイプがデータベースに存在しません
- SpectroSERVER が応答していません
- SpectroSERVER にはそのユーザ ID のモデルがありません
入力ファイルでの DBconv の使用
DBconv は入力ファイルがあってもなくても使用できます。入力ファイルを使用する場合は、出発点として <
$SPECROOT
>/SS-Tools ディレクトリにある template.dbc ファイルを使用できます。入力ファイルを構成する複数のセクションを使用すると、コマンド ライン引数より正確に変換をカスタマイズできます。入力ファイルは複数のセクションで構成され、Configuration セクション以外はすべてオプションです。ここで指定するセクションの形式および大文字と小文字の使い分けを使用します。空白行および「#」文字(シャープ記号)で始まる行は無視されます。
DBconv 入力ファイルの要素
以下のセクションでは、DBconv で使用される入力ファイルの必要およびオプションの内容について説明します。
- Configuration (必須)このセクションには、以下で説明する単一の構成アイテムが含まれます。注:入力ファイルでは、Configuration セクションの Source_Model_Type、Destination_Model_Type、Landscape_Handle フィールドのみが必須です。その他のすべてのフィールドはオプションです。
- 例:Configuration { Source_Model_Type = 0x3d0002 Destination_Model_Type = 0x2c60000 Reconnect_Sleep_Time = 90 Dont_Change_Discovery_Attributes = true Models_To_Convert = 0 Landscape_Handle = all Is_Obsolete_Model_Type = false Relation_Section_Ignores = false}
- Source_Model_Type = <古いモデル タイプ ハンドル>変換前のモデル タイプ ハンドル。16 進で記述し、「0x」を前に付ける必要があります。
- Destination_Model_Type = <新しいモデル タイプ ハンドル>変換後のモデル タイプ ハンドル。16 進で記述し、「0x」を前に付ける必要があります。
- Landscape_Handle = <ランドスケープ ハンドル>変換を行うランドスケープを指定します。「all」を指定すると、DBconv はエンタープライズ モードに切り替わり、すべてのランドスケープのモデル タイプを変換します。「selection」を指定すると、Landscapes { } セクションで指定されているすべてのランドスケープが使用されます。
- Models_To_Convert = <変換する最大モデル数>この行に 0 より大きい値を指定すると、指定した数の古いタイプのモデルだけが変換されます。値が 0 の場合は、すべてのモデルが変換されます。
- Reconnect_Sleep_Time = <スリープ時間>Model_State がアクティブに変化してからポートの再接続が試行されるまでの、スリープ期間を秒単位で設定できます。デフォルト値は 60 秒です。
- Reconnect_Interval = <秒数>Reconnect_Sleep_Time が経過した後、DBconv はインターフェースとポートの再接続を試行します。この時間の後でモデルがまだアクティブにならない場合(一部のデバイス モデルは、すべてのモジュールとアプリケーションが作成されるまでアクティブになりません)、DBconv は指定された時間だけ待ってから再度試行します。デフォルト値は 30 秒です。
- Reconnect_Interval_Count = <回数>このオプションは、DBConv がインターフェースとポートへの再接続を試行する回数を制御します。デフォルト値は 30 回です。
- Dont_Change_Discovery_Attributes = <true/false>これが false である場合、変換プログラムは古いモデル タイプの検出関連の属性を変更します。これは、検出に古いモデル タイプではなく新しいモデル タイプを使用させるためです。(a)古いモデル タイプが GnSNMPDev である場合、または(b)古いモデル タイプと新しいモデル タイプが同じ場合、このデフォルト値は true になります。デフォルト値は false です。
- Is_Obsolete_Model_Type = <true/false>このスイッチは、モデル タイプの廃止フラグが設定されているモデルを変換します(これを設定すると、どの属性も読み取れません)。この場合、変換の間に属性の読み取り/検証/書き込みは行われません。インターフェースまたはポートはアクセスされません。ただし、モデルの関係は処理されます。これは、デバイス モデルがこのフラグで変換された場合、名前や IP アドレスなどがない新しいモデルが作成されることを意味します。デフォルト値は false です。
- Relation_Section_Ignores = <true/false>このスイッチは、Left_Relationships および Right_Relationship セクションを解釈します。値が false の場合、Left/Right セクションで指定されている関連付けのみが、デバイス モデルにリストアされます(Left/Right セクションがどちらも空の場合はなし)。値が true の場合、指定されたものを除くすべての関連付けがリストアされます。これはデバイス モデルの左の CONNECTS_TO には影響しません。DBconv は、デバイスがモデル化されるビューを維持するため、このリストアを常に試みます。
- Convert_Scm_Configs = <true/false>このスイッチは、SCM の設定がモデル タイプと共に変換されるかどうかを決定します。これを true に設定すると、変換対象のモデル/モデル タイプの代わりであった SCM 設定も変換されます。共有 SCM 設定は変換後のモデル タイプに変換され、非共有 SCM 設定は変換後のモデル ハンドルおよびモデル タイプに変換されます。注:ホスト SCM 設定は有効に転送されますが、属性設定は変換中に失われる可能性があります。
- Convert_Sanm_Policies = <true/false>このスイッチは、モデル タイプと共に SANM ポリシーを変換するかどうかを決定します。true に設定すると、ポリシーにおける変換前モデル タイプに対するすべての参照は、変換後モデル タイプ名に変換されます。
- ランドスケープ変換するランドスケープのリスト。DBconv がこのセクションに注目するためには、Configuration セクションの Landscape_Handle エントリを「all」に設定する必要があります。例:Landscapes { 0x400000 0x80c00000 }
- Model_Handles変換するモデルのリスト。選択したモデルのみを変換する場合は、そのモデル ハンドルをこのセクションに入力します。ほかのモデルはすべて無視されます。例:Model_Handles { 0x80c00be6 0x80c00be8 }
- Transfer_Attributes古いモデルから新しいモデルに転送する属性のリスト。これらの属性は古いモデル タイプと同様に新しいモデル タイプでも有効であることを確認してください。Network Address および Community Name 属性は常に転送されるので、このセクションで指定する必要はありません。例:Transfer_Attributes { 0x001006e 0x00010024 }
- Transpose_Attributes古いモデルから新しいモデルに転換する属性のリスト。これらの属性は古いモデル タイプと同様に新しいモデル タイプでも有効であることを確認してください。古い属性と新しい属性は同じタイプである必要があります。例:Transpose_Attributes { 0x001006e = 0x001884 0x00010024 = 0x777533 }
- Set_Attributesデータを強要する属性のリスト。これらの属性が有効であり、データが属性のタイプに対して有効であることを確認する必要があります。例:Set_Attributes { 0x001006e = Router 42 0x00010024 = public }
- Transfer_Port_Attributes古いモデルのポートから新しいモデルのポートに保存する属性のリスト。例:Transfer_Port_Attributes { 0x00011564 }
- Right_Relationships右側の古いモデルとの関連付けが無視されるか含まれる関係のリスト (詳細についてはこのセクションの「Relation_Section_Ignores」スイッチを参照)。例:Right_Relationships { 0x10004 0x230000 }
- Left_Relationships左側の古いモデルとの関連付けが無視されるか含まれる関係のリスト (詳細についてはこのセクションの「Relation_Section_Ignores」スイッチを参照)。例:Left_Relationships { 0x10004 0x230000 }
- Object_ID_Exists各ターゲット デバイスに存在する必要がある MIB オブジェクトのリスト。すべての MIB オブジェクトが存在し、読み取り可能な場合、ターゲット デバイスは変換できます。例:Object_ID_Exists { 1.3.6.1.4.1.52.2501.1.270.4.1.1.5 1.3.6.1.4.1.52.2501.1.1.5 }
- Filter_Attributesモデルの選択に使用する属性のリスト。検出された古いモデルの attribute_id の attribute_value が Filter_Attributes 行で指定されている値と等しい場合、そのモデルは選択されます。text_string 属性の場合、attribute_value は古いモデルから返される文字列の部分文字列であることだけが必要です。例:Filter_Attributes { 0x10053 = 1.3.6.1.4.1.49.2.3.5 0x10b5a = Network Administrator 0x1154f = false }
- Advanced_Transfer_Attributes既知の関係パスによってデバイス モデルに関連付けられている任意の数のモデルからの属性の転送を有効にします。任意の数のこれらのセクションを、入力ファイルに含めることができます。構文:Advanced_Transfer_Attributes { Path = <Relation Path> Identifier = <Identifier Attribute> If <Attribute ID> = <Value> If ModelType = <Model Type ID> Transfer = <Attribute to transfer> Transpose <Dest Attribute ID> = <Src Attribute ID> }説明:
転送するモデルの検索方法を指定します。関係パスでは、「.」で区切った関係名のセットを指定します。関係パスの要素数に制限はありません。Path = <Relation Path> [Mandatory]例:Path = HASPARTデバイス モデルに対する HASPART 関係の右側のモデルをすべて検索します(つまり、すべてのインターフェース)。Path = Contains.HASPARTContains 関係の右側のモデルをすべてスキャンします。これらの各モデルについて、HASPART 関係の右側でモデルをスキャンし、これらの発見されたモデルに対して転送を行います。 - Identifier = <Identifier Attribute> [Mandatory]関係パスによって指定されたモデルのセットが見つかったときは、モデル ハンドルが変わるので、これらのモデルを変換されたデータベースでのモデルに一致させる方法が必要です。DBconv は、Identifier によって指定された属性の値を読み取ります。その後、変換されたモデルとこの値を一致させようとします。一致が見つかる場合、DBconv はこのモデルが変換前のモデルに相当すると考えます。このエントリの共通の属性は Component_OID です。例:Identifier = 0x1006aIf <Attribute ID> = <Value>これはフィルタ エントリです。<Attribute ID> の値が <Value> と等しい場合、指定された属性だけが転送または転換されます。例:以下の 3 つの行は、ifType が 6 と等しいときに限り、Component_OID によって識別されるすべてのインターフェースと一致します。Path = HASPARTIdentifier = 0x1006aIf 0x1134c = 6If ModelType = <Model Type ID>モデル タイプが <Model Type ID> と一致する場合に、指定された属性だけを転送または転換するフィルタ エントリ。例:以下は、RS-8000 の SSR_PortIf インターフェースすべてに一致します。Path = HASPARTIdentifier = 0x1006aIf ModelType = 0x2c60006
- Transfer = <Attribute to transfer>転送される属性を指定します。エントリの数に制限はありません。1 つの Transfer エントリまたは 1 つの Transpose エントリのいずれかが必要です。例:Transfer = 0x11564
- Transpose <Dest Attribute ID> = <Src Attribute ID>転換される属性を指定します。<Src Attribute ID> で指定されている値を取得し、<Dest Attribute ID> に書き込みます。これらの属性のタイプは同じである必要があります。1 つの Transfer エントリまたは 1 つの Transpose エントリのいずれかが必要です。例:次の例は、RS-8000 の VLAN 名をコピーし、それを Notes フィールドに書き込みます。Transpose 0x11564 = 0x2c604dd次のエントリは、RS-8000 のすべての SS-PortIf モデルから Notes と PollingStatus をコピーします。Advanced_Transfer_Attributes { Path = HASPART Identifier = 0x1006a If ModelType = 0x2c60006 Transfer = 0x11564 Transfer = 0x1154f }
- Transfer_Notes指定された領域からのノート フィールドのコピーを有効にします。各行は、Advanced_Transfer_Attributes(このセクションで前述)として変換されます。例:
指定したクラス(デバイス、インターフェースなど)のすべてのモデルのノート フィールドをコピーするように、1 つ以上のフィールドを指定できます。Transfer_Notes { Device Interfaces Applications Modules Ports }