<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 :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
    數據庫的恢復
    ?
    ?
    ?
    一、恢復類型:
    ?
    ??? 使用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, 成功恢復,沒有數據丟失。

    SQL>





    -The End-

    posted on 2008-09-15 16:33 decode360-3 閱讀(199) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 亚洲日韩乱码中文字幕| 亚洲视频在线观看一区| 亚洲国产精品美女| 你好老叔电影观看免费| 亚洲国产高清精品线久久| 国产成人精品日本亚洲专区6| 无码专区一va亚洲v专区在线| 免费A级毛片无码无遮挡内射| 国产h肉在线视频免费观看| 亚洲麻豆精品国偷自产在线91| 在线观看国产区亚洲一区成人| 国产亚洲3p无码一区二区| 国产亚洲精品国产福利在线观看| 免费一级全黄少妇性色生活片| 黄色视屏在线免费播放| 在线A亚洲老鸭窝天堂| 免费精品99久久国产综合精品| 毛片基地免费观看| 亚洲hairy多毛pics大全| 国产午夜免费秋霞影院| 一个人看的免费高清视频日本| 57pao国产成视频免费播放| 亚洲天堂男人天堂| 毛片免费全部播放一级| 免费手机在线看片| 亚洲精品无码专区久久久| 2021在线观看视频精品免费| 亚洲视频无码高清在线| 国产成人免费网站在线观看| 国产免费久久精品99久久| 亚洲国产av美女网站| 国产一级淫片视频免费看| a级毛片在线视频免费观看| 亚洲一卡2卡4卡5卡6卡在线99| 成人影片一区免费观看| 亚洲黄色三级网站| 日本不卡高清中文字幕免费| 在线观看免费视频网站色| 亚洲91精品麻豆国产系列在线| 久久久久免费看成人影片| 亚洲国产美女精品久久久|