<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
    主站蜘蛛池模板: 一二三四在线观看免费高清中文在线观看 | 国产桃色在线成免费视频| 国产亚洲美日韩AV中文字幕无码成人| 亚洲欧洲免费无码| 毛片大全免费观看| 亚洲另类自拍丝袜第五页 | 免费A级毛片av无码| 亚洲AV无码乱码在线观看裸奔| caoporm超免费公开视频| 丁香五月亚洲综合深深爱| 国产福利电影一区二区三区,免费久久久久久久精 | 内射无码专区久久亚洲| 黄色网页免费观看| 亚洲国产黄在线观看| 亚州**色毛片免费观看| 色噜噜亚洲精品中文字幕| 在线观看免费无码视频| 亚洲资源在线观看| 国产v精品成人免费视频400条| 亚洲AV男人的天堂在线观看| 日韩免费高清视频| 一级做a爱过程免费视频高清 | 亚洲精品无码AV中文字幕电影网站| 免费一级毛suv好看的国产网站| 亚洲最大激情中文字幕| 日韩免费人妻AV无码专区蜜桃 | 久久久久国产成人精品亚洲午夜 | 西西大胆无码视频免费| 在线观看亚洲视频| 亚洲爆乳无码专区| 成人午夜性A级毛片免费| 成人久久久观看免费毛片| 亚洲A∨无码一区二区三区 | 亚洲欧洲自拍拍偷精品 美利坚 | 一级毛片免费毛片一级毛片免费| 国产成人亚洲合集青青草原精品 | 精品亚洲一区二区三区在线观看 | 免费看国产精品3a黄的视频| 尤物视频在线免费观看| 亚洲第一成年网站大全亚洲| 在线观看免费国产视频|