案例:在open狀態下恢復未備份的資料檔案

shiyihai發表於2007-06-13

SQL> alter system switch logfile;

系統已更改。

SQL> archive log list
資料庫日誌模式 存檔模式
自動存檔 啟用
存檔終點 H:archora10g
最早的聯機日誌序列 31
下一個存檔日誌序列 32
當前日誌序列 33

[@more@]

SQL> create tablespace test datafile 'H:oradataora10g est.dbf' size 10M;

表空間已建立。

SQL> create table test (name varchar2(128)) on test;
create table test (name varchar2(128)) on test
*
第 1 行出現錯誤:
ORA-00922: 選項缺失或無效


SQL> create table test (name varchar2(128)) on tablespace test;
create table test (name varchar2(128)) on tablespace test
*
第 1 行出現錯誤:
ORA-00922: 選項缺失或無效


SQL> create table test (name varchar2(128)) tablespace test;

表已建立。

SQL> insert into test values('1');

已建立 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系統已更改。

SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> host del H:oradataora10gTEST.DBF

SQL> startup
ORACLE 例程已經啟動。

Total System Global Area 301989888 bytes
Fixed Size 1248672 bytes
Variable Size 113246816 bytes
Database Buffers 184549376 bytes
Redo Buffers 2945024 bytes
資料庫裝載完畢。
ORA-01157: 無法標識/鎖定資料檔案 4 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 4: 'H:ORADATAORA10GTEST.DBF'


SQL> startup force mount
ORACLE 例程已經啟動。

Total System Global Area 301989888 bytes
Fixed Size 1248672 bytes
Variable Size 113246816 bytes
Database Buffers 184549376 bytes
Redo Buffers 2945024 bytes
資料庫裝載完畢。
SQL> select file#,error from v$recover_file;

FILE# ERROR
---------- -----------------------------------------------------------------
4 FILE NOT FOUND

SQL> alter database datafile 4 offline;

資料庫已更改。

SQL> alter database open;

資料庫已更改。

SQL> alter database create datafile 'H:ORADATAORA10GTEST.DBF';

資料庫已更改。

SQL> recover datafile 4;
完成介質恢復。
SQL> alter datafile 4 online;
alter datafile 4 online
*
第 1 行出現錯誤:
ORA-00940: 無效的 ALTER 命令


SQL> alter database datafile 4 online;

資料庫已更改。

SQL> select * from test;

NAME
--------------------------------------------------------------------------------
1

SQL>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/38542/viewspace-918718/,如需轉載,請註明出處,否則將追究法律責任。

相關文章