7 x 24 在线支持!
Oracle 表領域の削除前にOS上でファイルを削除してしまった場合の対処
ORACLEデータベース によくあるエラ の解決策
プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com
[Problem]
表領域をDROP TABLESPACEコマンドで削除する前に、 誤ってOS上でデータファイルを削除してしまいました。 DROP TABLESPACEコマンドでエラーが発生し、削除できません。 [To reproduce] SQL> create tablespace test 2 datafile '/tmp/test.dbf' size 1M; 表領域が作成されました。 SQL> create table test (a number) tablespace test; 表が作成されました。 SQL> !rm /tmp/test.dbf rm: /tmp/test.dbf を消去しますか (yes/no)? y SQL> drop tablespace test including contents; drop tablespace test including contents * エラー行: 1: エラーが発生しました。 ORA-01116: error in opening database file 19 ORA-01110: data file 19: '/tmp/test.dbf' ORA-27041: unable to open file SVR4 Error: 2: No such file or directory Additional information: 3 [Action] データファイルをOFFLINE DROPしてから表領域をDROPします。 1.データファイルのOFFLINE DROP SQL> alter database datafile '/tmp/test.dbf' offline drop; データベースが変更されました。 2.表領域の削除 SQL> drop tablespace test including contents; 表領域が削除されました。 また、似たようなケースとして、SHUTDOWN中に誤ってデータファイルを削除してしまった 場合に、STARTUP時にエラーとなります。 削除されたデータファイルを含む表領域が削除可能な場合は、以下の方法でOracleを起動 して表領域を削除します。 誤って削除してしまったデータファイルを'/tmp/test.dbf'、表領域をtestとします。 SVRMGR> startup mount; SVRMGR> alter database datafile '/tmp/test.dbf' offline drop; SVRMGR> alter database open; SVRMGR> drop tablespace test including contents; [Error#] ora-1116