H3.3. データベースコマンド

データベースの初期化

初期化を実行するには、データベースが存在しない、または空である必要があります。

drwcsd [<switches>] initdb [<license_key>|- [<sql_script>|- [<ini_file>|- [<password> [<lua_script>|-]]]]] - データベースの初期化。

<license_key> - Dr.Webのライセンスキーファイルagent.keyへのパスです。ライセンスキーが指定されていない場合は、後でControl Centerから追加するか、サーバー間接続を介して隣接サーバーから取得する必要があります。

<sql_script> - DB物理構造を初期化するSQLスクリプトへのパス。

<ini_file> - 前回作成されたdrweb32.iniフォーマットのファイルで、Dr.Webソフトウェアコンポーネントの初期設定を行います(Everyoneグループに対して)。

<password> - サーバー管理者のオリジナルパスワードです(名前はadmin)。デフォルトではrootです。

<lua_script> - DBを初期化するLUAスクリプトへのパス(デフォルトでベースを埋める)。

「-」(マイナス)が指定された値は、このパラメータを使わないことを意味します。

続くパラメータがない場合、マイナスは省略できます。

データベース初期化のパラメータの調整

組み込みデータベースが使用されている場合、外部ファイル経由で初期化パラメータを設定できます。以下のコマンドを使用します。

drwcsd.exe initdbex <response-file>

<response-file> - initdbパラメータと同じ順序で一行ずつ記述された初期化パラメータのファイルです。

ファイルフォーマット:

<full_license_key_filename>

<full_sql_script_filename>

<full_ini_file_filename>

<administrator_password>

レスポンスファイルをWindows OS上で使用する場合は、いずれの記号も管理者パスワードに使うことができます。

特定の場合に必要なパラメータの後に続く文字列は任意になります。マイナス記号(-)のみで構成される文字列の場合、デフォルト値が使用されます(initdbなどの場合)。

データベースの更新

drwcsd [<switches>] updatedb <script> - 指定されたファイルからのSQLスクリプトまたはLUAスクリプトを実行することによって、データベースのあらゆるアクション(新しいバージョンへの更新など)を実行します。

データベースのアップグレード

drwcsd upgradedb [<folder>] - 指定されたフォルダ(update-dbフォルダを参照)から、または内部スクリプトを使用してデータベースの構造を新しいバージョンにアップグレードするためにサーバーを起動します。

データベースのエクスポート

a)drwcsd exportdb <file> - 指定したファイルにデータベースをエクスポートします。

Windows OSの例

C:\Program Files\DrWeb Server\bin\drwcsd.exe -home="C:\Program Files\DrWeb Server" -var-root="C:\Program Files\DrWeb Server\var" -verbosity=all exportdb "C:\Program Files\DrWeb Server\esbase.es"

UNIX系OSでは、このアクションは drwcs:drwcsユーザーの代わりにディレクトリ$DRWCS_VARに対して実行されます(FreeBSD OS以外。FreeBSDでは、デフォルトで、スクリプトが実行されたディレクトリにファイルを保存します。パスが明示的に指定されている場合、ディレクトリはインストールの際に作成された<user>:<group>に対して記録する権限を持つ必要があります。デフォルトではdrwcs:drwcsです)。

b)drwcsd xmlexportdb <xml_file> – 指定したxmlファイルにデータベースをエクスポートします。

gzファイル拡張子を指定した場合、エクスポート中にデータベースファイルはgzipアーカイブに圧縮されます。

いずれの拡張子も指定しなかった場合またはgz以外の拡張子を指定した場合、エクスポートされたファイルはアーカイブされません。

Windows OSの例

データベースを圧縮せずにxmlファイルにエクスポートするには

"C:\Program Files\DrWeb Server\bin\drwcsd.exe" "-home=C:\Program Files\DrWeb Server" "-bin-root=C:\Program Files\DrWeb Server" "-var-root=C:\Program Files\DrWeb Server\var" -verbosity=ALL -rotate=10,10m -log=export.log xmlexportdb database.db

データベースをアーカイブに圧縮してxmlファイルにエクスポートするには

"C:\Program Files\DrWeb Server\bin\drwcsd.exe" "-home=C:\Program Files\DrWeb Server" "-bin-root=C:\Program Files\DrWeb Server" "-var-root=C:\Program Files\DrWeb Server\var" -verbosity=ALL -rotate=10,10m -log=export.log xmlexportdb database.gz

UNIX系OSの例

データベースを圧縮せずにxmlファイルにエクスポートするには

/etc/init.d/drwcsd xmlexportdb /test/database.db

データベースをアーカイブに圧縮してxmlファイルにエクスポートするには

/etc/init.d/drwcsd xmlexportdb /es/database.gz

データベースのインポート

a)drwcsd importdb <file> – 指定したファイルからデータベースをインポートします(データベース内にある以前のコンテンツは削除されます)。

b)drwcsd upimportdb <file>[<folder>] - 以前のバージョンのサーバーからエクスポートしたデータベースをインポートし、アップグレードします(データベース内にある以前のコンテンツは削除されます)。スクリプトでフォルダへのパスを指定して、データベースの構造を新しいバージョンにアップグレードすることもできます(upgradedbコマンドと同じ)。

c)drwcsd xmlimportdb <xml_file> - 指定したxmlファイルからデータベースをインポートします。

d)drwcsd xmlupimportdb <xml_file> - 以前のバージョンのサーバーからxml形式でエクスポートしたデータベースをインポートし、アップグレードします。スクリプトでフォルダへのパスを指定して、データベースの構造を新しいバージョンにアップグレードすることもできます(upgradedbコマンドと同じ)。

e)drwcsd xmlimportdbnh <xml_file> - ハッシュ値を考慮せず、指定したxmlファイルからデータベースをインポートします。例えばデータベースのxmlファイルが手動で編集されている場合や、エクスポート時に自動的に書き込まれたファイルのハッシュ値が有効ではなくなった場合などに使用できます。

upimportdbxmlupimportdbコマンドを使用する前に、データベースのバックアップを作成します。

これらコマンドの実行中に何らかの問題が発生した場合、データベースから全ての情報が削除されてしまう場合があります。

 

同じDBMSのみで、upimportdbxmlupimportdbコマンドを使用してデータベースのバージョンを更新したりインポートできます。

データベースダンプのエクスポート

drwcsd [<switches>] dumpimportdb <DB_file> [<SQL_file> [<tables_filter>]] - 組み込みまたは外部データベースに関する詳細な情報をサーバーログファイルまたはSQLファイルに記録します。

dumpimportdbコマンドの実行中にはデータベースのインポートとエクスポートは行われません。

<DB_file> - データベースのエクスポートファイルです。そこに格納される情報は、サーバーログファイルや<SQL_file>に書き込まれます。エクスポートファイルは、exportdbコマンドを介して取得できます。また、データベースのバックアップコピーからファイルを使用できます。xmlexportdbコマンド後のXMLファイルは許可されません。

<SQL_file> - <DB_file>で指定したファイルからデータベースをインポートする間に実行される全てのSQLクエリを書き込むファイルです。SQLファイルが指定されない場合、データは(テーブルとそのフィールドのリストとして)サーバーのログファイルに書き込まれます。ファイルが指定される場合、SQLファイルへのクエリのみが書き込まれます。

<tables_filter> - <SQL_file>に書き込まれるデータベーステーブルのリストや情報です。リスト内のテーブルは、カンマで区切る必要があります。名前は、データベーステーブルの名前に対応する必要があります。例:admins,groups,stations。テーブルフィルターは、SQLファイルの出力のみに適用されます。テーブルリストが指定されていない場合は、すべてのテーブルが書き込まれます。

データベースの検証

drwcsd verifydb- サーバーを稼働させてデータベースを確認します。結果をログファイルに記録するには、コマンドの後に-logキーを付ける必要があります。キーの使用方法の詳細は、「H3.8. スイッチについての説明」で説明されています。

データベースの動作速度の向上

drwcsd [<switches>] speedupdb - DBの動作速度を向上させるために、VACUUMCLUSTERANALYZEコマンドを実行します。

データベースの修復

drwcsd repairdb - SQLite3内部データベースの破損したディスクイメージ、またはMySQL外部データベースの破損したテーブルを修復します。

Control CenterのSQLite3データベース設定内で破損したイメージを自動的に修復にチェックが入っている場合、SQLite3はサーバーの起動時に自動的に修復される場合があります(管理者マニュアルデータベースの復元参照)。

データベースのクリーンアップ

drwcsd cleandb - 全てのテーブルを削除することでサーバーのデータベースをクリーンアップします。