始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

Oracle RMAN模擬數據文件丟失簡單恢復方法

發布時間:  2012/9/3 16:54:07

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也備份,還是以防萬一.


本文出自:億恩科技【www.czbl888.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線