Oracle恢復實驗(三)

 


環境:Oracle10g、Red Hat 4,Oracle運行在歸檔模式。

場景:恢復未備份的數據文件。

具體步驟:
1、新建表空間testts,並建個表,插入些數據
SQL> create tablespace testts datafile '/home/oracle/oracle/product/oradata/orcl/testts01.dbf' size 10m;

Tablespace created.

SQL> create table testTab tablespace testts
  2  as select * from scott.emp;

Table created.

SQL> select count(*) from testTab;

  COUNT(*)
----------
        14

SQL> commit;

Commit complete.

2、關庫、刪除數據文件,模擬數據文件損壞,注意沒有備份喲
SQL> shutdown abort

SQL> !rm -f /home/oracle/oracle/product/oradata/orcl/testts01.dbf

3、嘗試打開數據庫
SQL> startup
ORACLE instance started.

Total System Global Area  130023424 bytes
Fixed Size                  1218100 bytes
Variable Size              67111372 bytes
Database Buffers           58720256 bytes
Redo Buffers                2973696 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/home/oracle/oracle/product/oradata/orcl/testts01.dbf'
會提示數據文件無法找到。

5、重建數據文件,嘗試打開數據庫。
SQL> alter database create datafile '/home/oracle/oracle/product/oradata/orcl/testts01.dbf';

Database altered.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 5 needs media recovery
ORA-01110: data file 5: '/home/oracle/oracle/product/oradata/orcl/testts01.dbf'
此時數據文件是個空的,當然需要介質恢復

6、介質恢復
SQL> recover database;
Media recovery complete.

7、打開數據庫,查檢數據是否恢復
SQL> alter database open;

Database altered.

SQL> select count(*) from testTab;

  COUNT(*)
----------
        14
全部數據都恢復回來了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章