Oracleで表領域を作成するときに発生するエラー01119の解決方法
Oracle で ORA-01119 エラーが発生する場合は、表領域に新しいデータファイルを割り当てることができないことが原因です。解決方法を次に示します。
- ディスク容量の確認:新しいデータファイルのための十分な領域がディスクに割り当てられていることを確認してください。オペレーティング・システムのコマンドを使用して、ディスク容量を確認できます。
- データファイルサイズ制限の増加: 表スペースのサイズ制限を確認し、新しいデータファイルを格納するには十分な大きさがあることを確認します。次のコマンドを使用してサイズ制限を確認できます。
- SELECT * FROM dba_data_files WHERE tablespace_name='<テーブルスペース名>’;
- サイズ制限が十分に大きくない場合は、以下のコマンドを使用して制限を増やすことができます。
- ALTER TABLESPACE <テーブルスペース名> ADD DATAFILE ‘<データファイルへのパス>’ SIZE <サイズ> AUTOEXTEND ON;
- 表領域ファイルの有無を確認する。表領域のデータファイルが存在するかどうかを確認する。次のコマンドを使用して表領域ファイルの状態を確認できます。
- SELECT * FROM dba_data_files WHERE tablespace_name=’<テーブルスペース名>’;
- ファイルが存在しない場合は、以下のコマンドで新しいデータファイルを作成できます。
- ALTER TABLESPACE <テーブルスペース名> ADD DATAFILE ‘<データファイルのパス>’ SIZE <サイズ> AUTOEXTEND ON;
- 表領域が読み取り専用モードになっているか:表領域が読み取り専用モードになっていないことを確認します。表領域のステータスを確認するには、次のコマンドを使用できます
- SELECT tablespace_name, status FROM dba_tablespaces;
- 読み取り専用モードで表領域を使用している場合は、以下のコマンドで読み書きモードに変更できます。
- TABLESPACE を READ WRITE に変更
- 表領域が一杯になっていないか確認: 表領域はいっぱいになっていないことを確認してください. 次のコマンドを使用して表領域のスペース使用状況を確認できます:
- SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS USED_SPACE_MB, SUM(MAXBYTES)/1024/1024 AS MAX_SPACE_MB FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME;
- 表領域がいっぱいになったら、不要なデータを削除するか、表領域のサイズ制限を大きくすることができます。
上記の方法で解決しない場合は、追加のエラー情報とコンテキストを用意して、オラクルサポートサービスに問い合わせることをお勧めします。