4

そのため、いくつかの DBF ファイル (テーブルスペースに固有のもののみ) を誤って削除してしまいました。

私が実行した場合:

select name from v$datafile;

結果には、削除した DBF ファイルが含まれています。

インターネットで見つけたコマンドを実行して、オラクルが関連すると考えている DBF ファイルを削除しようとしました。

alter database datafile '<A_DBF_file_that_no_longer_exists>' offline drop;

結果は次のとおりです。

alter database datafile succeeded

ただし、選択ステートメントを実行すると、削除されたデータファイルがまだ返されます。新しいテーブルスペースを作成しようとすると、次のエラーが発生します。

SQL Error: ORA-01543: tablespace 'my_tablespace_name' already exists
01543. 00000 -  "tablespace '%s' already exists"
*Cause:    Tried to create a tablespace which already exists
*Action:   Use a different name for the new tablespace
4

2 に答える 2

4

影響を受ける表領域も削除します。データファイルを削除しても、テーブルスペースが自動的に削除されるわけではありません。

DROP TABLESPACE mytablespace 
   INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
于 2010-02-02T12:10:47.710 に答える
2

試す

DROP TABLESPACE <tablespace name> INCLUDING CONTENTS;

詳細については、テーブルスペースからデータファイルを削除する方法が興味深い場合があります。

注意: このALTER DATABASE DATAFILE <datafile name> OFFLINE DROPコマンドは、データファイルを削除できるようにするためのものではありません。コマンドが実際に意味することは、表領域を削除する目的でデータファイルをオフラインにしていることです。

于 2010-02-02T12:08:54.480 に答える