Oracleデータベースにおける表領域は、データの論理的な配置と管理に不可欠な要素です。この記事では、Oracleで表領域を作成し、管理するプロセスについて解説します。具体的なコマンドと実例を通じて、表領域の作成、削除、サイズ変更などの操作を理解しましょう。
表領域の作成
CREATE TABLESPACE sales_data
DATAFILE '/u01/app/oracle/oradata/sales_data01.dbf' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
この例では、sales_dataという名前の表領域を作成しています。この表領域は、sales_data01.dbfという名前のデータファイルに格納され、初期サイズは100MBです。必要に応じて、表領域は10MBごとに自動的に拡張されますが、最大サイズは制限されていません。
表領域の削除
DROP TABLESPACE sales_data INCLUDING CONTENTS AND DATAFILES;
このコマンドは、sales_dataという名前の表領域を削除します。INCLUDING CONTENTS AND DATAFILESの部分は、表領域内のすべてのデータとデータファイルも同時に削除することを意味します。
表領域のサイズ変更
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/sales_data01.dbf' RESIZE 200M;
このコマンドは、sales_data01.dbfというデータファイルのサイズを200MBに変更します。表領域のサイズを調整する際に使用されます。
表領域の使用状況の確認
SELECT tablespace_name, SUM(bytes) / 1024 / 1024 AS "Total Size (MB)",
SUM(bytes - blocks * block_size) / 1024 / 1024 AS "Used Size (MB)",
SUM(blocks * block_size) / 1024 / 1024 AS "Free Size (MB)"
FROM dba_free_space
GROUP BY tablespace_name;
このクエリは、各表領域の使用状況を表示します。表領域の名前、合計サイズ、使用されているサイズ、空きサイズが表示されます。
まとめ
この記事では、Oracleでの表領域の作成と管理について解説しました。適切な表領域の設計と管理は、データベースのパフォーマンスと信頼性に重要な影響を与えます。必要に応じて、表領域を作成、変更、削除する際には、手順を適切に理解して実行しましょう。