<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 閱讀(207) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 日本免费网址大全在线观看| 国产精品免费看久久久| 午夜成年女人毛片免费观看| 亚洲视频在线观看网站| 99re免费在线视频| 亚洲国产精品久久久久网站| 美女在线视频观看影院免费天天看| 亚洲AV综合色一区二区三区| 日本在线看片免费人成视频1000| 亚洲欧洲国产精品你懂的| 亚洲一区二区三区免费在线观看| 免费人妻精品一区二区三区| 国产一区二区三区无码免费| 视频一区在线免费观看| 国产亚洲情侣一区二区无| 国产在线精品一区免费香蕉 | 国产国产人免费人成免费视频 | 亚洲一区二区三区91| 一个人免费观看视频www| 亚洲成av人片在www鸭子| 亚洲国产精品无码久久久久久曰| 国产免费内射又粗又爽密桃视频 | 久久久久免费看黄a级试看| 亚洲性猛交xx乱| 日本特黄特黄刺激大片免费| 人人鲁免费播放视频人人香蕉| 国产亚洲精品精华液| 亚洲视频在线免费播放| 亚洲国产AV无码一区二区三区 | 成人av片无码免费天天看| 久久亚洲春色中文字幕久久久 | 精品亚洲国产成人av| 亚洲线精品一区二区三区影音先锋| 91精品啪在线观看国产线免费| 亚洲国产成人AV在线播放| 久久精品国产亚洲一区二区| 欧美好看的免费电影在线观看| 男女一进一出抽搐免费视频| 亚洲视频欧洲视频| 国产亚洲人成网站在线观看| 色老头永久免费网站|