アプリ版:「スタンプのみでお礼する」機能のリリースについて

Oracleで一時表領域(TempTbs)用のTEMPファイル(TEMP01.DBF)を新規に作成しようと思いましたが
誤ってTEMP01.DBFに対してインデックス表領域(IndexTbs)を割り当ててしまいました。
※IndexTbsを割り当ててるDBFファイルはもうひとつ存在してます

なので一度下記のコマンドでオフラインにしました。
ALTER DATABASE DATAFILE 'E:\ORADATA\DATABASE1\TEMP\TEMP01.DBF' OFFLINE

その後でE:\ORADATA\DATABASE1\TEMP\TEMP01.DBFを誤って別の場所(デスクトップ)へ
移動してしまい、その後で上記所定の位置へ戻し

ALTER TABLESPACE IndexTbs DROP DATAFILE 'E:\ORADATA\DATABASE\TEMP\TEMP01.DBF';で
削除しようと思いましたが「ORA-02142:ALTER TABLESPACEオプションがないかまたは無効です」の
エラーが表示され削除できません。OracleEnterpriseManagerでTEMP01.DBFファイルの属性を
確認するとステータスが「オフライン(リカバリが必要)」となっています。
正常にオフラインできていないようです。

残っていても問題ないのかもしれませんが、あっても気持ち悪いのでTEMP01.DBFを
削除したいのですが、正しい手順で削除するにはどうすればいいでしょうか?

よろしくお願い致します。

A 回答 (1件)

表領域を削除すればデータファイルも削除できます。


INCLUDING CONTENTS AND DATAFILESを付けて DROP TABLESPACE を実行することで、
表領域の削除時に Oracle がデータファイルも削除してくれます。

DROP TABLESPACE IndexTbs INCLUDING CONTENTS AND DATAFILES;

IndexTbs表領域が2つ以上のデータファイルから構成されている場合に、
IndexTbsを削除することなく、複数のデータファイルのうち1つだけを削除することは
できないので、そのようにしたい場合は、IndexTbs表領域のデータを一旦エクスポート
して、IndexTbs表領域を再作成してください。
    • good
    • 0
この回答へのお礼

entreeさん

お世話になります。

ご回答ありがとうございます。
やはり2つ以上のデータファイルが存在する場合、表領域を削除しない限り片方のデータファイルは
削除できないんですね。

実際にまだ試せてないですが、タイミングをみて試してみたいと思います。

ありがとうございました。

お礼日時:2014/01/14 23:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す