del_recordレコードの削除

機能

削除フラグが設定されているレコードをテーブルから完全に削除します。

削除フラグが設定されているレコードのうち,削除した日時が,指定した日数以前の日時であるレコードだけをテーブルから削除することもできます。

データベースの容量が少なくなったときに,このコマンドで容量を空けることができます。

形式

del_record [-o 出力ファイル名] [-q] [-e ログファイル名] { -a | -d 日数値 } [-t テーブル名] [-b バックアップファイル名]

オプション

-o 出力ファイル名
指定したファイルに標準出力データを出力します。ただし,出力メッセージのうち,KDCM00071-E~KDCM00076-Eは出力しません。
出力ファイル名の指定方法の詳細は,「5.2(3)-oオプションに指定する出力ファイル」を参照してください。
-q
標準出力および標準エラー出力への出力を抑制します。
-e ログファイル名
指定したログファイルに,次の情報を出力します。
  • SQLクエリ発行直前および発行直後のSQLクエリ文字列
  • SQLクエリ発行時のエラーメッセージ
ログファイル名の指定方法の詳細は,「5.2(4)-eオプションに指定するログファイル」を参照してください。
-a
削除フラグが設定されているすべてのレコードを削除します。
-aオプションを指定しない場合は,-dオプションを指定してください。
-d 日数値
削除フラグが設定されているレコードのうち,削除した日時が,指定した日数以前の日時であるレコードだけをテーブルから削除します。
例えば,コマンドの実行時刻が2004/08/1 12:30:15で-dオプションに1を設定した場合は,2004/07/31 12:30:15以前のデータが削除対象となります。また,-dオプションに0を設定した場合は,-aオプションと同様に,削除フラグが設定されているすべてのレコードを削除します。
-dオプションを指定しない場合は,-aオプションを指定してください。
-t テーブル名
指定したテーブルの削除フラグをチェックします。削除するテーブルを限定する場合に指定してください。
削除フラグをチェックできるテーブルを次に示します。
  • カテゴリ情報テーブル(TBL_CATEGORY)
  • コミュニティ情報テーブル(TBL_COMMUNITY)
  • コミュニティロールテーブル(TBL_COMMUROLE)
  • ワークプレーステーブル(TBL_WORKPLACE)
  • アプリケーションテーブル(TBL_APPLICATION)
  • メンバ情報テーブル(TBL_MEMBER)
  • ユーザ情報テーブル(TBL_USER)
  • メンバロールテーブル(TBL_MEMBERROLE)
  • テンプレートテーブル(TBL_TEMPLATE)
  • ワークプレーステンプレートテーブル(TBL_WORKTEMPLATE)
  • システムアプリケーションテーブル(TBL_SYSAPPLI)
このオプションを省略した場合は,すべてのテーブルをチェックします。
-b バックアップファイル名
削除しようとしているデータのバックアップを作成します。
ファイル名の指定方法
バックアップファイルのファイル名は,絶対パス,またはコマンドを実行するディレクトリからの相対パスで指定します。ファイル名は220バイト以内の文字列で指定します。ただし,絶対パスで表したときに220バイト以内の文字列になるように指定してください。
ファイル名の形式
新規に作成される出力ファイルのファイル名は,次のようになります。
aaa_bbb_yyyyMMdd_HHmmss.ccc
文字列の意味
aaa:-bオプションに指定したファイル名から拡張子を除いた文字列
bbb:コマンド名
yyyy:実行日付(年)
MM:実行日付(月)
dd:実行日付(日)
HH:実行時刻(時)
mm:実行時刻(分)
ss:実行時刻(秒)
ccc:-eオプションに指定したファイル名の拡張子
例えば,-bオプションに指定したファイル名が「backup.bak」,コマンドの実行日時が「2003年12月31日20:32:10」の場合,「backup_コマンド名_20031231_203210.bak」となります。
 
-bオプションを省略した場合
hptl_clb_ccm_cmd.propertiesファイルのhptl_clb_ccm_cmd_backupfileの値がファイル名になります。ただし,hptl_clb_ccm_cmd_backupfileの値のファイルがすでに存在する場合は,「(hptl_clb_ccm_cmd_backupfile指定文字列の拡張子の前)_コマンド名_実行日付_実行時刻.(hptl_clb_ccm_cmd_backupfileオプション指定文字列の拡張子)」となります。
例えば,hptl_clb_ccm_cmd_backupfileの指定文字列がbackup.bak,コマンドの実行日時が2003年12月31日20:32:10の場合,「backup_コマンド名_20031231_203210.bak」となります。
 
-bオプションを省略しhptl_clb_ccm_cmd_backupfileキーを指定していない場合
プログラムのデフォルトである「backup」がファイル名となります。カレントディレクトリに「backup」という名前のファイルがすでに存在する場合は,「backup_コマンド名_実行日付_実行時刻」となります。
例えば,コマンドの実行日時が2003年12月31日20:32:10の場合,「backup_コマンド名_20031231_203210.bak」となります。
 
すでに同名のファイルが存在する場合は,追加で書き込みされます。

戻り値

del_recordコマンドの戻り値を次に示します。

表5-9 del_recordコマンドの戻り値

戻り値意味
0正常終了しました。
1ユーザによる強制終了が発生したか,またはコマンド用jarが見つかりません。
2hptl_clb_ccm_cmd.propertiesが見つかりません。
出力ファイル,ログファイル,またはバックアップファイルを生成できません。
3必要なオプションが指定されていません。
4排他のオプションが重複して指定されています。
12出力ファイル名,ログファイル名,またはバックアップファイル名が長過ぎます。
14hptl_clb_ccm_cmd.propertiesの属性値が適切な範囲にありません。
21データベースからの応答がありません。
22データベースへの接続に失敗しました。
23SQLクエリの実行に失敗しました。
24JDBCドライバがインストールされていません。または,パスが通っていません。
31入出力処理中にエラーが発生しました。
32トレース処理中にエラーが発生しました。
33コマンドの書式が違います。
34システム情報の取得に失敗しました。
35nullが指定されました。
36内部矛盾が発生しました。
39次の意味が考えられます。
  • コマンドが実行できる状態ではありません。
  • 環境変数が設定されていません。
  • システムコールでエラーが発生しました。

実行結果

削除フラグが設定されているレコード(-dオプションを指定した場合は削除日時から指定日数を経過したレコード)が,テーブルから完全に削除されます。

使用例

del_recordコマンドの使用例を紹介します。ここでは,次のような環境を想定しています。

削除フラグが設定されているすべてのレコードを削除する場合
削除フラグが設定されているすべてのレコードを削除する場合,del_recordコマンドを次のように実行します。
del_record
-a -e "C:¥Program Files¥Hitachi¥Collaboration¥community¥command¥log¥del_record.log"
この実行例では,del_recordコマンドを実行すると,-eで指定したログファイル(del_record.log)にエラーログが出力されます。
実行例は,紙面の都合上,改行されているように表示されていますが,実際に実行するときは,1行で記述する必要があります。
標準出力に何も出力しない場合
ログをデフォルトのログファイルに出力する場合,del_recordコマンドを次のように実行します。
del_record -q -a -b backup
この実行例は,あらかじめコマンドプロパティファイル(hptl_clb_ccm_cmd.properties)のhptl_clb_ccm_cmd_logfileキーの設定値に,ログファイルとしてC:¥Program Files¥Hitachi¥Collaboration¥community¥log¥error_del_record.logを指定していることを想定しています。

注意事項

del_record実行時には関連するPortal Frameworkの不要データの削除も必要となります。Portal Frameworkの不要データの削除の詳細は,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「運用後の不要データの削除」を参照してください。