プロが教えるわが家の防犯対策術!

教えてください。

DB作成時にデフォルトで作成されていた「TEMP」と「CWMLITE」の表領域に誤ってデータファイルを追加してしまいました。
(TEMP02.dbf、CWMLITE02.dbfという風に)

追加したファイルを削除するには該当のデータファイルを
オフラインにして実際にOS上からファイルを削除するという
手順で問題無いのでしょうか?
それともOracle側でさらに処理が必要でしょうか?

A 回答 (2件)

9iでも10gでも


1.該当データファイルをファイルをオフライン
2.該当データファイルをOracleコマンドで削除
3.該当データファイルをOS上から削除
という手順でOKです。(10gの場合は2,3をOracle上で同時にできるだけです。)
それより問題は2.です。表領域の中の表が使っている
データファイルだったりすると簡単には該当データファイルだけを
削除することはできません。
該当データファイルを使っている表を何か調べてそれを別表領域に
移動して、誰も該当データファイルを使っていない状態にしてから
削除してやる必要があるので非常にややこしいです。
(TEMP表領域は大丈夫だと思いますが)
誤って追加した直後に削除であればまだどこのテーブルでも使っていない可能性が
高いのでおそらく削除できるでしょうか、どこかのテーブルで使われている場合は
connect /as sysdba
select owner,segment_name from dba_segments where tablespace_name = 'CWMLITE';
で該当表領域に存在するセグメントを全部別表領域に移してから
する方がよいかと思います。
(ただ、これも非常にサイズが大きいと大変ですが...)
    • good
    • 1

Oracle9iか10gのどちらかで、対応方法は異なります。


詳しくは管理者ガイドを参照下さい。
    • good
    • 0

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

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