記事
· 2021年8月23日 4m read

データベースファイルのサイズを圧縮する方法

これは InterSystems FAQ サイトの記事です。

※データベースファイルとは、IRIS.DAT、および、CACHE.DATのことを指します。

Caché/Ensemble 2018.1.4、IRIS 2019.1.2/2020.1.0 以降のバージョンより、データベースファイル のサイズの縮小に、データベースの「圧縮」と「未使用領域の削除」機能をあわせて使用できます。

※注意※
Caché/Ensemble 2018.1.4、IRIS 2019.1.2/2020.1.0 より前のバージョンでは、データベースの「圧縮」機能は使用できません。使用された場合、データベース破損が引き起こされる可能性があります(「未使用領域の削除」機能は利用できます)。

詳細情報は以下、弊社ウェブサイト内のページをご確認ください。

製品ニュースとアラート>警告: データベース圧縮またはデフラグ後のデータベース整合性の問題

 

データベースサイズ縮小手順は以下の通りです。

管理ポータル: [システムオペレーション] > [データベース] を開き、操作したいデータベース名をクリックします。

(または、画面左上の[空き容量]ボタンをクリックし、データベースの空き容量を表示します。)

 

① 「圧縮」ボタンにより、データベースファイルの使用していないブロックを後ろに集めます

<圧縮のイメージ> ●が使用中ブロック、〇が未使用ブロックだとします。

●●○●●○○●○○ ←のようにブロックが並んでいるデータベースファイル(*.DAT)を「圧縮」すると

●●●●●○○○○○ ←このようになります (左が前方)

 

②「未使用領域削除」ボタンにより、後方に集めた未使用ブロックを削除してデータベースファイルのサイズを縮小します。

<未使用領域削除のイメージ> ●が使用中ブロック、〇が未使用ブロックだとします。

●●●●●○○○○○ ←のようにブロックが並んでいるデータベースファイルに「未使用領域削除」を実行すると

●●●●●  ←このようになります

 

圧縮について詳細は、ドキュメント(データベースの圧縮(IRIS))をご参照ください(2018.1以前のドキュメント:データベースの圧縮)。

 

管理ポータルの操作と同様の処理を、^DATABASE ユーティリティを使用して実行することもできます。

%SYS ネームスペースに移動してから実行します。

USER>zn "%SYS"
 
%SYS>do ^DATABASE
 
 
 1) Create a database
 2) Edit a database
 3) List databases
 4) Delete a database
 5) Mount a database
 6) Dismount a database
 7) Compact globals in a database
 8) Show free space for a database
 9) Show details for a database
10) Recreate a database
11) Manage database encryption
12) Return unused space for a database    // 「未使用領域削除」
13) Compact free space in a database      // 「圧縮」
14) Defragment a database         // 「DB の断片化解消」
15) Show background database tasks
 
Option?

※「圧縮」 = 13) Compact freespace in a database
 「未使用領域削除」= 12) Return unused space for a database

 

^DATABASE ユーティリティの 14) Defragment globals in a database(「DBの断片化解消」)について補足します。

「DBの断片化解消」では、指定したデータベースファイル内のグローバル毎にブロックが再編成され、データベースファイル内で連続領域に再配置します。

「圧縮」をより強力にしたものですが、この再配置を行う為には、データベースファイル末尾に十分な空きブロックが必要です(一般的に見て、デフラグを定期的に実行する必要はありません)。

<「DBの断片化解消」のイメージ>

断片化解消前
♦♦○♠♠○♠♠♦♦♠♥♥♥○♦♦♥♥♦○○○○○○

断片化解消後
♦♦♦♦♦♦♦♠♠♠♠♠♥♥♥♥♥○○○○○○○○○

※注意※
「断片化解消」機能についても、2015.1.3、2015.2.2 より前のバージョンでは使用できません。使用された場合、「圧縮」機能と同様に、データベース破損が引き起こされる可能性があります。

詳細は、ドキュメント(データベースのグローバルのデフラグ(IRIS))をご参照ください(2018.1以前のドキュメント:データベースのグローバルのデフラグ)。

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください