株式会社コーソル

KNOWLEDGE

コーソルの技術情報

コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。

KNOWLEDGE検索人気のキーワード

Oracle DB ベストプラクティス

一時表領域の領域割り当てとスパースファイル(sparse file)

永続表領域や一時表領域では作成時に領域の初期サイズを指定できます。
永続表領域の場合は、永続表領域を構成するデータファイルの領域が実際に確保されます。
しかし、一時表領域の場合は、一時表領域を構成する一時ファイルの領域は確保されません。
このため、一時ファイルを配置したディスクの領域には十分に空きを用意しておく必要があります。
なお、この動作はUNIX/Linuxプラットフォームにおけるもので、Windowsでは領域は確保されます。

01.スパースファイル(sparse file)

作成直後の一時ファイルをls -l コマンドで確認すると、ファイルサイズを表示できますが、
このファイルサイズは実際に確保された領域を示すものではありません。一時ファイルはスパースファイルとして作成されており、領域が確保されていません。スパースファイルは作成直後は領域を確保せず、実際に使用した時点で領域を確保する特殊なファイルです。
領域が確保されてないことは、duコマンドを使用することで確認できます。

$ ls -l --si temp01.dbf
-rw-r----- 1 oracle oinstall 105M Mar 6 07:36 temp01.dbf
$ du -h temp01.dbf
1.1M temp01.dbf

ls -l コマンドで確認したファイルサイズ 105Mバイトに比べて、du -h コマンドで確認した領域サイズ1.1Mバイトが小さくなっており、実際にファイルサイズ分の領域が確保されてないことがわかります。