<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    RMAN學習筆記05——恢復
    ?
    ?
    ??? 終于又到了關鍵部分了,RMAN當然就是以備份和恢復最為關鍵,所以RMAN的恢復是非常重要的學習部分。在恢復的時候,關鍵不是語句的格式,而是一些相關的原理一定要搞清楚,各個層級的關系是怎么樣的,相對于恢復的文件、時間點又是怎么樣的,如何在catalog中進行記錄,都是需要熟悉了解的概念。下面看一下:
    ?
    ?
    一、恢復類型:
    ?
    ??? 使用RMAN做的備份只能通過RMAN進行恢復,恢復分為兩種:數據庫修復(Restore)數據庫恢復(Recover)
    ?
    ??? Restore:指用備份文件來替換已損壞的數據庫文件。操作時會利用恢復目錄來獲取備份信息(如果沒有恢復目錄則使用數據庫的控制文件)
    ??? Recover:利用重做日志或增量備份來重建丟失的數據。
    ?
    ?
    二、恢復數據庫:
    ?
    ??? 恢復數據庫必須使數據庫處于加載狀態:
    ?
    ??? RMAN> Shutdown immediate;
    ??? RMAN> Startup mount;
    ?
    ??? RMAN> Restore database;
    ??? RMAN> Recover database delete archivelogs skip tablespace temp;
    ?
    ??? RMAN> Alter database open;
    ?
    ??? 注意:
    ??? 1、skip指跳過某文件類型
    ??? 2、若數據庫是非歸檔模式,則必須使用RMAN> Alter database open resetlogs
    ?
    ?
    三、恢復表空間:
    ?
    ??? RMAN> Shutdown immediate;
    ??? RMAN> Startup mount;
    ??? RMAN> SQL 'Alter tablespace users offline immediate';
    ?
    ??? RMAN> Restore tablespace users;
    ??? RMAN> Recover tablespace users;
    ?
    ??? RMAN> SQL 'Alter tablespace users online' ;
    ??? RMAN> Alter database open;
    ?
    ?
    四、恢復數據文件:
    ?
    ??? RMAN> Shutdown immediate;
    ??? RMAN> Startup mount;
    ??? RMAN> SQL 'Alter tablespace datafile 7 offline';
    ?
    ??? RMAN> Restore datafile 7;
    ??? RMAN> Recover datafile 7;
    ?
    ??? RMAN> SQL 'Alter tablespace datafile 7 online' ;
    ??? RMAN> Alter database open;
    ?
    ??? 附:文件號查詢SQL
    ??? select ts.tablespace_name, df.file_name, df.file_id, tf.file_name
    ??? from dba_tablespaces ts, dba_data_files df, dba_temp_files tf
    ??? where ts.tablespace_name = df.tablespace_name(+)
    ??? and ts.tablespace_name = tf.tablespace_name(+)
    ?
    ?
    五、恢復控制文件:
    ?
    ??? RMAN> Shutdown immediate;
    ??? RMAN> Startup nomount;
    ?
    ??? RMAN> Restore controlfile to 'xxxxxxxxxx'; --恢復控制文件
    ?
    ??? RMAN> Alter database mount;
    ?
    ??? RMAN> Restore database;
    ??? RMAN> Recover database;
    ?
    ??? RMAN> Alter database open;
    ?
    ?
    六、不完全恢復:
    ?
    ??? 1、基于時間:
    ?
    ??? RMAN> Run {
    ????????? Allocate channel ch1 type disk;
    ????????? Set until time ' 06-OCT-08 10:00:00 ';
    ????????? Restore database;
    ????????? Recover database;
    ????????? SQL 'alter database open resetlogs';}
    ?
    ??? 2、基于日志序列號:
    ?
    ??? RMAN> Run {
    ????????? Allocate channel ch1 type disk;
    ????????? Set until logseq=2 thread=4;? --日志序號;文件線程號
    ????????? Restore database;
    ????????? Recover database;
    ????????? SQL 'alter database open resetlogs';}
    ?
    ??? 3、基于更改:
    ?
    ??? RMAN> Run {
    ????????? Allocate channel ch1 type disk;
    ????????? Set until scn n;? --事務號
    ????????? Restore database;
    ????????? Recover database;
    ????????? SQL 'alter database open resetlogs';}
    ?
    ?
    七、示例,直接copy來的
    ?

    C:\Documents and Settings\Administrator>sqlplus /nolog

    ?

    SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 7 18 10:17:44 2007

    ?

    Copyright (c) 1982, 2002, Oracle Corporation.? All rights reserved.

    ?

    SQL> conn jss/jss

    已連接。

    SQL> create table tmp3(col varchar2(50));

    ###### 創建一個臨時表并插入一些數據

    表已創建。

    ?

    SQL> insert into tmp3 values ('test1');

    ?

    已創建 1 行。

    ?

    SQL> insert into tmp3 values ('test2');

    ?

    已創建 1 行。

    ?

    SQL> insert into tmp3 values ('test3');

    ?

    已創建 1 行。

    ?

    SQL> select *from tmp3;

    ?

    COL

    --------------------------------------------------

    test1

    test2

    test3

    ?

    SQL> commit;

    ?

    提交完成。

    ?

    SQL> conn / as sysdba??? #### dba 用戶連接并關閉數據庫

    已連接。

    SQL> shutdown immediate;

    數據庫已經關閉。

    已經卸載數據庫。

    ORACLE 例程已經關閉。

    ?

    SQL> host del F:\OraHome1\oradata\jssweb\jweb.ora

    ###### 手動刪除數據文件

    SQL> startup

    ORACLE 例程已經啟動。

    ?

    Total System Global Area? 143727516 bytes

    Fixed Size?????????????????? 453532 bytes

    Variable Size???????????? 109051904 bytes

    Database Buffers?????????? 33554432 bytes

    Redo Buffers???????????????? 667648 bytes

    數據庫裝載完畢。

    ORA-01157: 無法標識 / 鎖定數據文件 10 - 請參閱 DBWR 跟蹤文件

    ORA-01110: 數據文件 10: 'F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA'

    ?

    ####### 看看,啟動報錯了吧

    SQL> select instance_name,status from v$instance;

    ####### 看看當前數據庫狀態,應該是處于 mount

    INSTANCE_NAME??? STATUS

    ---------------- ------------

    jssweb?????????? MOUNTED

    ?

    OK, 下面該 RMAN 出馬了。

    SQL>exit

    C:\Documents and Settings\Administrator>set oracle_sid=jssweb

    ?

    C:\Documents and Settings\Administrator>rman target /

    ?

    恢復管理器 : 版本 9.2.0 .1.0 - Production

    ?

    Copyright (c) 1995, 2002, Oracle Corporation.? All rights reserved.

    ?

    連接到目標數據庫 : JSSWEB (DBID=3391142503)

    ?

    RMAN> restore datafile 'F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA';

    #### 首先修復數據文件。 是不是有疑問,為什么不像上面第三節講的那樣先將該數據文件置為脫機,笨啊你,數據庫都沒打開,脫什么機啊,整個數據庫現在都是脫機的。

    啟動 restore 18-7 -07

    ?

    正在使用目標數據庫控制文件替代恢復目錄

    分配的通道 : ORA_DISK_1

    通道 ORA_DISK_1: sid=11 devtype=DISK

    通道 ORA_DISK_1: 正在開始恢復數據文件備份集

    通道 ORA_DISK_1: 正在指定從備份集恢復的數據文件

    正將數據文件 00010 恢復到 F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA

    通道 ORA_DISK_1: 已恢復備份段 1

    handle=D:\BACKUP\1AIN4JU5_1_1 tag=TAG20070718T092837 params=NULL

    通道 ORA_DISK_1: 恢復完成

    完成 restore 18-7 -07

    ?

    RMAN> recover datafile 'F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA';

    ######## 恢復數據文件

    啟動 recover 18-7 -07

    使用通道 ORA_DISK_1

    ?

    正在開始介質的恢復

    完成介質的恢復

    ?

    完成 recover 18-7 -07

    ?

    RMAN> alter database open;?? ######## 看起來很順利,打開數據庫看看

    ?

    數據庫已打開

    ?

    RMAN> host;

    ?

    Microsoft Windows [ 版本 5.2.3790]

    (C) 版權所有 1985-2003 Microsoft Corp.

    ?

    C:\Documents and Settings\Administrator>sqlplus jss/jss? #### 連到該用戶

    ?

    SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 7 18 10:33:50 2007

    ?

    Copyright (c) 1982, 2002, Oracle Corporation.? All rights reserved.

    ?

    連接到 :

    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    With the Partitioning, OLAP and Oracle Data Mining options

    JServer Release 9.2.0.1.0 - Production

    ?

    SQL> select *from tmp3;???? ######查詢我們備份后創建的表

    ?

    COL

    --------------------------------------------------

    test1

    test2

    test3

    #######yeah, 成功恢復,沒有數據丟失。

    posted on 2008-09-15 21:33 decode360 閱讀(234) 評論(0)  編輯  收藏 所屬分類: 09.Recover

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 一级有奶水毛片免费看| 99久久免费国产精精品| 免费一区二区无码东京热| 成年人免费的视频| 亚洲成AⅤ人影院在线观看| 亚洲AV成人精品网站在线播放 | 亚洲a级片在线观看| 羞羞视频在线观看免费| 中文字幕无码播放免费| 亚洲男人的天堂一区二区| 亚洲成a人片在线观| 一本久久A久久免费精品不卡| 亚洲视频免费在线播放| 久久久久亚洲精品天堂久久久久久 | 亚洲自国产拍揄拍| 在线观看免费视频一区| 色吊丝最新永久免费观看网站 | 精品国产免费一区二区| 亚洲专区在线视频| 国产成人无码精品久久久免费 | 中文字幕免费在线看电影大全 | 国产日韩亚洲大尺度高清| 亚洲高清一区二区三区电影| 久9热免费精品视频在线观看| 亚洲国产精品日韩专区AV| 色老板亚洲视频免在线观| 免费91最新地址永久入口 | 久久久久久精品成人免费图片| 久久久久亚洲AV无码专区桃色| 亚洲αⅴ无码乱码在线观看性色| 99re视频精品全部免费| 亚洲理论电影在线观看| 免费人成视频在线观看免费| 成人免费无码大片a毛片| 67pao强力打造67194在线午夜亚洲 | 日韩一卡2卡3卡4卡新区亚洲| 亚洲AV无码国产精品永久一区| 免费观看黄色的网站| 亚洲精品国产精品乱码在线观看 | 亚洲熟妇无码八AV在线播放| 在线观看亚洲网站|