Interstage Application Server ディレクトリサービス運用ガイド
目次 索引 前ページ次ページ

第10章 リポジトリの運用・保守> 10.10 リポジトリの最適化> 10.10.2 Symfoware/RDBを使用する場合

10.10.2.2 断片化の解消

 Symfoware/RDBでは、割り当てられたデータベーススペース内で格納データの配置を自動調整します。しかし、データの追加、更新、および削除を繰り返すと、自動調整の範囲を超えて、データが断片化するため、処理の効率を維持できなくなります。このようなときには、データベースの再配置を行うことにより、断片化を解消する必要があります。


 定期的に断片化状態を確認してください。
 断片化状態を確認した結果、テーブルまたはインデックスの平均使用率が80%以下の場合は、断片化を解消することを推奨します。

 Interstage ディレクトリサービスでは、断片化状態を確認するサンプル、および断片化を解消するサンプルを、バッチファイル(Windows (R))およびシェルスクリプト(SolarisおよびLinux)で提供します。使用者は、それぞれの環境に適した手順を、サンプルのバッチファイル、またはシェルスクリプトに記述することで、簡単にデータベースの断片化の状態を確認し、解消することができます。

 このサンプルは、irepgendbコマンドを使用して作成したリポジトリデータ格納用テーブル用のものを提供します。

◆断片化状態の確認

■サンプル
 Symfoware/RDBの断片化状態を確認するサンプルは、以下の位置にあります。
 
 
 断片化状態を確認するための、バッチファイル(Windows(R))、またはシェルスクリプト(SolarisおよびLinux)の定義方法を説明します。
定義項目一覧
 断片化状態を確認するには、バッチファイル、またはシェルスクリプトのサンプル中の、以下に示す定義項目を変更します。すべての定義項目に、必ず値を指定してください。
 各定義項目には、“Symfoware/RDBセットアップ”で、Symfoware/RDBのセットアップ時に指定したRDBシステム名、データベース名を指定します。

定義項目名

定義値の説明

RDBNAME

RDBシステム名を指定してください。
RDBシステム名に使える文字は、半角英数字です。

DBNAME

データベース名を設定してください。
データベース名に使える文字は、半角英数字です。

 サンプルを使用する場合は、上記以外の定義項目を変更する必要はありません。
記述形式
 バッチファイル、およびシェルスクリプトのサンプル中に指定する、“定義項目一覧”の定義項目は、以下の形式で記述します。

set 定義項目名 = 定義値


 Windows(R)用のバッチファイルで、RDBシステム名に「DSDBSYS」、データベース名に「DSDB」を、それぞれ指定するときの例です。SolarisおよびLinux用のシェルスクリプトにも同様に指定してください。

rem------------------------------------ set RDBNAME=DSDBSYS set DBNAME=DSDB rem------------------------------------

■実行方法
  1. Symfoware Serverがインストールされているマシンに、ログイン

    システム管理者アカウント(Windows(R)の場合は「Administrator」、SolarisおよびLinuxの場合は「root」)か、または“リポジトリ用データベース接続ユーザの登録”で登録したOSアカウントでログインします。

  2. サンプルの修正

    バッチファイル(Windows(R))、またはシェルスクリプト(SolarisおよびLinux)のサンプルを、作業用ディレクトリにコピーします。
    記述形式”および、“定義項目一覧”を参照し、バッチファイル(Windows (R))、またはシェルスクリプト(SolarisおよびLinux)のサンプルを修正します。

  3. セキュリティ対策

    バッチファイルまたはシェルスクリプトは、セキュリティホールとなる可能性があります。システム管理者アカウント(Windows(R)の場合は「Administrator」、SolarisおよびLinuxの場合は「root」)、または“リポジトリ用データベース接続ユーザの登録”で登録したOSアカウントだけが実行できるように、バッチファイルまたはシェルスクリプトの実行権を変更することをお勧めします。

  4. 環境変数LANGの設定

    環境変数LANGに、Symfoware/RDBのロケール(OSのデフォルトロケール)を設定します。

  5. 実行結果出力先ファイルの削除

    バッチファイルまたはシェルスクリプトの実行結果は、以下に出力されます。

    バッチファイルまたはシェルスクリプトを実行したディレクトリ/log/irepgcstat.log


    バッチファイルまたはシェルスクリプトの実行結果出力先ファイルには、手順1でログインしたユーザアカウントの書き込み権が必要です。
    以前に、他のユーザアカウントで実行したことがあると、実行結果出力先ファイルのアクセス権に、手順1でログインしたユーザアカウントの書き込み権がなくなっていますので、実行結果出力先ファイルを削除してください。このファイルが必要なら、システム管理者権限でファイル名を変更するなどして、退避してください。

  6. バッチファイルまたはシェルスクリプトの実行

    修正したバッチファイルまたはシェルスクリプトを実行します。
    以下に例を示します。


    C:\work\irepgcstat.bat

    /work/irepgcstat.sh

     

  7. 実行結果が表示されます。

    ================================================== DSI Defragmentation Table : 85% Index : 75% ==================================================

     

    表示項目名

    表示項目の説明

    Table

    テーブルの平均使用率(使用中のDSIページに対してデータが格納されている割合)です。80%以下の場合は、断片化の解消をお勧めします。

    Index

    インデックスの平均使用率(使用中のDSIページに対してデータが格納されている割合)です。80%以下の場合は、断片化の解消をお勧めします。

     

 バッチファイルまたはシェルスクリプトの実行結果が、手順5で示したファイルに出力されます。ファイルの文字コード系は、Symfoware Serverをインストールしたときの文字コード系です。

◆断片化の解消

■サンプル
 Symfoware/RDBの断片化を解消するサンプルは、以下の位置にあります。
 
 
 断片化を解消するための、バッチファイル(Windows (R))、またはシェルスクリプト(SolarisおよびLinux)の定義方法を説明します。
定義項目一覧
 断片化を解消するには、バッチファイル、またはシェルスクリプトのサンプル中の、以下に示す定義項目を変更します。すべての定義項目に、必ず値を指定してください。
 RDBNAME、DBNAMEには、それぞれ、“Symfoware/RDBセットアップ”で、Symfoware/RDBのセットアップ時に指定したRDBシステム名、データベース名を指定します。

定義項目名

定義値の説明

RDBNAME

RDBシステム名を指定してください。
RDBシステム名に使える文字は、半角英数字です。

DBNAME

データベース名を設定してください。
データベース名に使える文字は、半角英数字です。

W_DIR

再編成コマンドの作業用ファイルを格納するためのディレクトリのパス名を絶対パスで指定します。

作業用領域として必要な容量(キロバイト単位)の見積もり式を以下に示します。

  • テーブル作成コマンドで詳細設定を行わなかった場合
     (14 × エントリ数 + 48) × r
  • テーブル作成コマンドで詳細設定を行った場合
     詳細定義ファイルで指定したインデックスのうち最大サイズ × r
     r : 安全率(1.5以上)

U_DIR

再編成コマンドの中間退避用ファイルを格納するためのディレクトリのパス名を絶対パスで指定します。

中間退避用領域として必要な容量(キロバイト単位)の見積もり式を以下に示します。

  • テーブル作成コマンドで詳細設定を行わなかった場合
     13.6 × エントリ数 + 160
  • テーブル作成コマンドで詳細設定を行った場合
     詳細定義ファイルで指定したテーブルのうち最大サイズ

TARGET

再編成対象DSIを以下のどちらかで指定できます。

  • FULL
     表とインデックスの両方を対象
  • INDEX
     インデックスのみを対象
 サンプルを使用する場合は、上記以外の定義項目を変更する必要はありません。
記述形式
 バッチファイル、およびシェルスクリプトのサンプル中に指定する、“定義項目一覧”の定義項目は、以下の形式で記述します。

set 定義項目名 = 定義値


 Windows(R)用のバッチファイルで、RDBシステム名に「DSDBSYS」、データベース名に「DSDB」を、それぞれ指定するときの例です。Solaris、およびLinux用のシェルスクリプトにも同様に指定してください。

rem------------------------------------ set RDBNAME=DSDBSYS set DBNAME=DSDB set W_DIR=C:\work set U_DIR=C:\back set TARGET=INDEX rem------------------------------------

■実行方法
  1. Interstage ディレクトリサービスのリポジトリの停止

    リポジトリの停止は、“リポジトリの起動・停止”を参照してください。

  2. Symfoware Serverがインストールされているマシンに、ログイン

    システム管理者アカウント(Windows(R)の場合は「Administrator」、SolarisおよびLinuxの場合は「root」)か、または“リポジトリ用データベース接続ユーザの登録”で登録したOSアカウントでログインします。

  3. サンプルの修正

    バッチファイル(Windows(R))、またはシェルスクリプト(Solaris、およびLinux)のサンプルを、作業用ディレクトリにコピーします。
    記述形式”および、“定義項目一覧”を参照し、バッチファイル(Windows(R))、またはシェルスクリプト(Solaris、およびLinux)のサンプルを修正します。

  4. セキュリティ対策

    バッチファイルまたはシェルスクリプトは、セキュリティホールとなる可能性があります。システム管理者アカウント(Windows(R)の場合は「Administrator」、SolarisおよびLinuxの場合は「root」)、または“リポジトリ用データベース接続ユーザの登録”で登録したOSアカウントだけが実行できるように、バッチファイルまたはシェルスクリプトの実行権を変更することをお勧めします。

  5. 環境変数LANGの設定

    環境変数LANGに、Symfoware/RDBのロケール(OSのデフォルトロケール)を設定します。

  6. 実行結果出力先ファイルの削除

    バッチファイルまたはシェルスクリプトの実行結果は、以下に出力されます。

    バッチファイルまたはシェルスクリプトを実行したディレクトリ/log/irepgarbage.log


    コマンドの実行結果出力先ファイルには、手順2でログインしたユーザアカウントの書き込み権が必要です。
    以前に、他のユーザアカウントで実行したことがあると、実行結果出力先ファイルのアクセス権に、手順2でログインしたユーザアカウントの書き込み権がなくなっていますので、実行結果出力先ファイルを削除してください。このファイルが必要なら、システム管理者権限でファイル名を変更するなどして、退避してください。

  7. バッチファイルまたはシェルスクリプトの実行

    修正したバッチファイル、またはシェルスクリプトを実行します。
    以下に例を示します。


    C:\work\irepgarbage.bat

    /work/irepgarbage.sh

     

  8. 確認画面が表示されます。

    実行する場合は、y <RETURN>を、処理を中止する場合は、q <RETURN>を入力してください。


    ================== WARNING ======================== = Fragmentation takes a short period to clear. = = Do not stop this process once it has started, = = as this may cause corruption of the database. = =================================================== Garbage start? [y, q]: y or q <RETURN>

    バッチファイルまたはシェルスクリプトの実行結果が、手順6で示したファイルに出力されます。ファイルの文字コード系は、Symfoware Serverをインストールしたときの文字コード系です。
    実行に失敗した場合は、Symfoware Serverのメッセージ集を参照して、エラー要因を取り除いてください。エラーに対処したあと、再度実行してください。

  9. 最適化の設定

    断片化を解消したSymfoware/RDBの最適化情報の設定をします。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED