<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

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


    網站導航:
     
    主站蜘蛛池模板: 国产精品久久免费视频| 国产AV无码专区亚洲AV漫画| 亚洲精品无码av中文字幕| 九月婷婷亚洲综合在线 | 9久热这里只有精品免费| 亚洲午夜精品一区二区| 免费毛片网站在线观看| 久久福利青草精品资源站免费| 亚洲国产精品久久网午夜| 亚洲国产综合无码一区二区二三区| 久久久久久久99精品免费观看| 亚洲熟女综合色一区二区三区| 久久久久久A亚洲欧洲AV冫| 国产卡一卡二卡三免费入口| 一二三区免费视频| 久久精品国产亚洲αv忘忧草| 亚洲精品成人区在线观看| 91精品视频免费| 国产综合免费精品久久久| 久久夜色精品国产噜噜亚洲a| 久久91亚洲人成电影网站| 成人无遮挡毛片免费看| 日本视频免费高清一本18| 在线播放亚洲精品| 亚洲天堂中文字幕在线观看| 国产日韩成人亚洲丁香婷婷| 成在人线AV无码免费| 国产va在线观看免费| 成人a毛片免费视频观看| 亚洲av午夜精品无码专区| 国产亚洲精品国产| 亚洲精品和日本精品| 国产精品另类激情久久久免费| 91大神免费观看| 美女在线视频观看影院免费天天看| 青娱乐在线免费观看视频| 亚洲一区二区三区高清不卡| 国产AV无码专区亚洲AV毛网站| 四虎在线免费视频| 三上悠亚在线观看免费| 欧美激情综合亚洲一二区|