• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于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.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!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號
      1
     
     
     
     

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