データベース ロックの削除

CA 製プログラムが CA Spectrum データベースにアクセスする場合は常に、そのデータベース ディレクトリにロック ファイルが作成されます。SpectroSERVER データベース内のロック ファイルの名前は .VNMDB.LOCK です。DDM データベース内のロックファイルの名前は .DDMDB.LOCK です。ロック ファイルは、データベースが現在使用されていることを示すインジケータとして機能し、別の CA 製プログラムからはアクセスできません。
casp1032jp
CA 製プログラムが CA Spectrum データベースにアクセスする場合は常に、そのデータベース ディレクトリにロック ファイルが作成されます。SpectroSERVER データベース内のロック ファイルの名前は .VNMDB.LOCK です。DDM データベース内のロックファイルの名前は .DDMDB.LOCK です。ロック ファイルは、データベースが現在使用されていることを示すインジケータとして機能し、別の CA 製プログラムからはアクセスできません。
以下の CA 製プログラムがロック ファイルを作成します。
  • converter
  • dbtool
  • lh_set
  • mte (Model Type Editor)
  • レポート
  • SpectroSERVER
  • SSdbdelete
  • SSdbload
  • SSdbsave
CA 製プログラムが正常終了すると、ロック ファイルは削除されます。ただし、CA 製プログラムが異常終了し、ロック ファイルが後に残る場合があります。ロック ファイルが削除されなければ、データベースにアクセスする他の CA 製プログラムの実行を妨げます。ロック ファイルが存在している状態で、別の CA 製プログラムが開始すると、以下のメッセージが表示されます。
Database already locked by:<user id>, by process:<process name>, with process ID:<process id>, on network node:<node name>, which started at:<date/time stamp>
異常終了したプログラムによって後に残されたと信じる .VNMDB.LOCK または .DDMDB.LOCK ファイルは手動で削除できますが、最初にプログラムが実行されていないことを確認する必要があります。プログラムがまだ実行している(そして、高い優先度のプログラムがデータベースにアクセスするのを妨げている)場合は、最初にプログラムの通常終了を試行します。それが不可能な場合は、UNIX の kill コマンド(オプションなし)または Windows タスク マネージャの[プロセスの終了]ボタンを使用してプログラムを停止できます。これらのどの方法でもロック ファイルを削除できます。
プログラムが異常終了した場合は、
$SPECROOT
/SS または
$SPECROOT
/SS/DDM ディレクトリに移動し、次のいずれかのコマンドを入力して、ロック ファイルを手動で削除できます。
  • rm .VNMDB.LOCK (SS ディレクトリからロック ファイルを削除する場合)
  • rm .DDMDB.LOCK (DDM ディレクトリからロック ファイルを削除する場合)
重要:
データベースの整合性を維持するには、
$SPECROOT
/SS または
$SPECROOT
/SS/DDM ディレクトリのいずれかからロック ファイルを削除する必要があるときはいつでも、SpectroSERVER および DDM データベースの両方をリストアする必要があります。データベース リストア処理を実行するまで、SpectroSERVER は再起動しません。
また、.VNMDB.LOCK および .DDMDB.LOCK ファイルは非 CA 製プログラムによるデータベース アクセスは妨げず、そのようなプログラムがロックに遭遇してもエラー メッセージは生成されないことに注意してください。そのため、非 CA ツールまたはアプリケーションに対して CA Spectrum データベースへのアクセスを許可する前に、そのデータベースにアクセスするすべての CA Spectrum プロセスがシャットダウンしていることを確認してください。