Oracle RMAN類比資料檔案丟失簡單恢複方法

來源:互聯網
上載者:User

1 Oracle建立簡單項目環境
1)建立資料表空間
SQL> create tablespace dreamtry_tbs datafile 'd:\oracledate\dreamtry_tbs01.dbf' size 100M;
資料表空間已建立。
2)建立使用者
SQL> create user dreamtry identified by dreamtry;
使用者已建立。
3)給使用者指派資料表空間
SQL> alter user dreamtry default tablespace dreamtry_tbs quota unlimited on dreamtry_tbs;
使用者已更改。
4)取消使用者對錶空間都擁有寫入權限(這點非必須,建議執行)
SQL> alter user dreamtry default tablespace dreamtry_tbs quota unlimited on dreamtry_tbs;
使用者已更改。
5)給使用者指派基本許可權 (可以加上with admin option)
SQL> grant connect,resource to dreamtry;
授權成功。
6)切換使用者
SQL> conn dreamtry/dreamtry;
已串連。
2 類比資料檔案丟失的恢複(前提是以前有過備份,並且有日誌)
1)       備份資料檔案
RMAN> backup datafile 'd:\oracledate\dreamtry_tbs01.dbf' format 'D:\oracle\product\10.2.0\oradata\orcl\dreamtry_tbs01.dbf';
啟動 backup 於 01-3月 -12
使用目標資料庫控制檔案替代恢複目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=145 devtype=DISK
通道 ORA_DISK_1: 啟動全部資料檔案備份組
通道 ORA_DISK_1: 正在指定備份組中的資料檔案
輸入資料檔案 fno=00007 name=D:\ORACLEDATE\DREAMTRY_TBS01.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 01-3月 -12
通道 ORA_DISK_1: 已完成段 1 於 01-3月 -12
段控制代碼=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DREAMTRY_TBS01.DBF 標記=TAG20120301T223142 注釋=NONE
通道 ORA_DISK_1: 備份組已完成, 經過時間:00:00:03
完成 backup 於 01-3月 -12
2)       切換使用者dreamtry類比資料操作
SQL> conn dreamtry/dreamtry;
已串連。
SQL> create table test(id number(10), name varchar2(20));
表已建立。
SQL> insert into test(id,name) values(1,'zhangsan');
已建立 1 行。
SQL> select * from test;
ID NAME
---------- --------------------
1 zhangsan
3)       類比資料檔案dreamtry_tbs01.dfb丟失
手工刪除OS檔案dreamtry_tbs01.dbf(移到別處也可,以防萬一)
SQL> startup
ORACLE 常式已經啟動。
Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             251661188 bytes
Database Buffers          352321536 bytes
Redo Buffers                7135232 bytes
資料庫裝載完畢。
ORA-01157: 無法標識/鎖定資料檔案 7 - 請參閱 DBWR 追蹤檔案
ORA-01110: 資料檔案 7: 'D:\ORACLEDATE\DREAMTRY_TBS01.DBF'
SQL> select status from v$instance;
STATUS
------------
MOUNTED
如上資料庫只能啟動mount狀態.
4)       使用備份的資料檔案恢複(當然在有日誌的情況下沒有備份也是可以恢複的)
RMAN> restore datafile 7;
啟動 restore 於 01-3月 -12
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在開始恢複資料檔案備份組
通道 ORA_DISK_1: 正在指定從備份組恢複的資料檔案
正將資料檔案00007恢複到D:\ORACLEDATE\DREAMTRY_TBS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DREAMTRY_TBS01.DBF
通道 ORA_DISK_1: 已恢複備份段 1
段控制代碼 = D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DREAMTRY_TBS01.DBF 標記 = TAG20120301T223142
通道 ORA_DISK_1: 恢複完成, 用時: 00:00:04
完成 restore 於 01-3月 -12
5)       通過日誌恢複備份以後操作資料庫的內容
RMAN> recover datafile 7;
啟動 recover 於 01-3月 -12
使用通道 ORA_DISK_1
正在開始介質的恢複
介質恢複完成, 用時: 00:00:03
完成 recover 於 01-3月 -12
6)       開啟資料庫
RMAN> alter database open;
資料庫已開啟
7)       驗證資料
SQL> select * from dreamtry.test;
ID NAME
---------- --------------------
1 zhangsan
8)       由於是類比,我還是把備份刪掉以免佔用空間
RMAN> list backup;
備份組列表
===================
BS 關鍵字  類型 LV 大小       裝置類型 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
3       Full    88.00K     DISK        00:00:02     01-3月 -12
BP 關鍵字: 3   狀態: AVAILABLE  已壓縮: NO  標記: TAG20120301T223142
段名:D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DREAMTRY_TBS01.DBF
備份組 3 中的資料檔案列表
檔案 LV 類型 Ckp SCN    Ckp 時間   名稱
---- -- ---- ---------- ---------- ----
7       Full 1068184    01-3月 -12 D:\ORACLEDATE\DREAMTRY_TBS01.DBF
RMAN> delete backupset 3;
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=145 devtype=DISK
備份段列表
BP 關鍵字  BS 關鍵字  Pc# Cp# 狀態      裝置類型段名稱
------- ------- --- --- ----------- ----------- ----------
3       3       1   1   AVAILABLE   DISK        D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DREAMTRY_TBS01.DBF
是否確定要刪除以上對象 (輸入 YES 或 NO)? YES
已刪除備份段
備份段 handle=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DREAMTRY_TBS01.DBF recid=3 stamp=776817102
1 對象已刪除
RMAN> crosscheck backup;
使用通道 ORA_DISK_1
RMAN> delete expired backup;
使用通道 ORA_DISK_1
9)       結論:日誌是最後一道防線,所以最好先備份,最好也對archive log也備份,還是以防萬一.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.