**これは [InterSystems FAQ サイト](https://faq.intersystems.co.jp/)の記事です。** ※データベースファイルとは、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)](http://docs.intersystems.com/irislatestj/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_manage#GSA_compact_databases_freespace))をご参照ください(2018.1以前のドキュメント:[データベースの圧縮](https://docs.intersystems.com/latestj/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_manage#GSA_compact_databases_freespace))。   管理ポータルの操作と同様の処理を、[^DATABASE ユーティリティ](https://docs.intersystems.com/irislatest/csp/docbookj/DocBook.UI.Page.cls?KEY=ASECCLI#ASECCLI_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)](https://docs.intersystems.com/irislatestj/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_manage#GSA_defrag_databases_freespace))をご参照ください(2018.1以前のドキュメント:[データベースのグローバルのデフラグ](https://docs.intersystems.com/latestj/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_manage#GSA_defrag_databases_freespace))。