【Oracle】表領域の作成・削除・変更・確認方法

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での表領域の作成と管理について解説しました。適切な表領域の設計と管理は、データベースのパフォーマンスと信頼性に重要な影響を与えます。必要に応じて、表領域を作成、変更、削除する際には、手順を適切に理解して実行しましょう。