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

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

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

    Decode360's Blog

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

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    Oracle備份/恢復(fù)案例03——全庫恢復(fù)
    ?
    一、 OS備份方案

    OS備份歸檔模式下?lián)p壞(丟失)多個數(shù)據(jù)文件,進(jìn)行整個數(shù)據(jù)庫的恢復(fù)

    1、連接數(shù)據(jù)庫,創(chuàng)建測試表并插入記錄

    SQL*Plus: Release 9.2.0.1.0 - Production on Tue Jan 13 10:03:27 2009
    Copyright (c) 1982, 2002, Oracle Corporation.? All rights reserved.
    ?
    SQL> connect sys/sys as sysdba;
    Connected.
    SQL> create table test(a int) tablespace users;
    Table created
    SQL> insert into test values(1);
    1 row inserted
    SQL> commit;
    Commit complete

    2、備份數(shù)據(jù)庫,備份除臨時數(shù)據(jù)文件后的所數(shù)據(jù)文件

    SQL> @D:\test\hotbak.sql

    3、繼續(xù)在測試表中插入記錄

    SQL> insert into test values(2);
    1 row inserted
    SQL> commit;
    Commit complete
    SQL> select * from test;
    A
    -----------------------------
    1
    2
    SQL> alter system switch logfile;
    System altered.
    SQL> alter system switch logfile;
    System altered.

    4、關(guān)閉數(shù)據(jù)庫,模擬丟失數(shù)據(jù)文件

    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down

    C:>del D:\ORACLE\ORADATA\DODO\SYSTEM01.DBF
    C:>del D:\ORACLE\ORADATA\DODO\TOOLS01.DBF
    C:>del D:\ORACLE\ORADATA\DODO\INDX01.DBF
    C:>del D:\ORACLE\ORADATA\DODO\USERS01.DBF

    5、啟動數(shù)據(jù)庫,檢查錯誤

    SQL> startup
    ORACLE instance started.
    ?
    Total System Global Area? 135338868 bytes
    Fixed Size?????????????????? 453492 bytes
    Variable Size???????????? 109051904 bytes
    Database Buffers?????????? 25165824 bytes
    Redo Buffers???????????????? 667648 bytes
    Database mounted.
    ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
    ORA-01110: data file 1: 'D:\ORACLE\ORADATA\DODO\SYSTEM01.DBF'

    詳細(xì)信息可以查看報警文件

    Errors in file d:\oracle\admin\dodo\bdump\dodo_dbw0_2256.trc:
    ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
    ORA-01110: data file 1: 'D:\ORACLE\ORADATA\DODO\SYSTEM01.DBF'
    ORA-27041: unable to open file
    OSD-04002: 無法打開文件
    O/S-Error: (OS 2) 系統(tǒng)找不到指定的文件。
    ?
    Tue Jan 13 16:58:04 2009
    Errors in file d:\oracle\admin\dodo\bdump\dodo_dbw0_2256.trc:
    ORA-01157: cannot identify/lock data file 4 - see DBWR trace file
    ORA-01110: data file 4: 'D:\ORACLE\ORADATA\DODO\INDX01.DBF'
    ORA-27041: unable to open file
    OSD-04002: 無法打開文件
    O/S-Error: (OS 2) 系統(tǒng)找不到指定的文件。
    ?
    Tue Jan 13 16:58:04 2009
    Errors in file d:\oracle\admin\dodo\bdump\dodo_dbw0_2256.trc:
    ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
    ORA-01110: data file 5: 'D:\ORACLE\ORADATA\DODO\TOOLS01.DBF'
    ORA-27041: unable to open file
    OSD-04002: 無法打開文件
    O/S-Error: (OS 2) 系統(tǒng)找不到指定的文件。
    ?
    Tue Jan 13 16:58:04 2009
    Errors in file d:\oracle\admin\dodo\bdump\dodo_dbw0_2256.trc:
    ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
    ORA-01110: data file 6: 'D:\ORACLE\ORADATA\DODO\USERS01.DBF'
    ORA-27041: unable to open file
    OSD-04002: 無法打開文件
    O/S-Error: (OS 2) 系統(tǒng)找不到指定的文件。

    通過查詢v$recover_file可以看到

    SQL> select * from v$recover_file;
    ?
    ???? FILE# ONLINE? ONLINE_ ERROR?????????????????? CHANGE# TIME
    ---------- ------- ------- -------------------- ---------- ----------
    ???????? 1 ONLINE? ONLINE? FILE NOT FOUND??????????????? 0
    ???????? 4 ONLINE? ONLINE? FILE NOT FOUND??????????????? 0
    ???????? 5 ONLINE? ONLINE? FILE NOT FOUND??????????????? 0
    ???????? 6 ONLINE? ONLINE? FILE NOT FOUND??????????????? 0

    有四個數(shù)據(jù)文件需要恢復(fù)

    6、拷貝備份回到原地點(diǎn)(restore),開始恢復(fù)數(shù)據(jù)庫(recover)

    restore過程:

    C:>copy D:\DATABASE\BACK\SYSTEM01.DBF D:\ORACLE\ORADATA\DODO
    C:>copy D:\DATABASE\BACK\INDX01.DBF D:\ORACLE\ORADATA\DODO
    C:>copy D:\DATABASE\BACK\TOOLS01.DBF D:\ORACLE\ORADATA\DODO
    C:>copy D:\DATABASE\BACK\USERS01.DBF D:\ORACLE\ORADATA\DODO
    ?
    Recover過程:

    SQL> recover database;
    Media recovery complete.
    ?
    7、打開數(shù)據(jù)庫,檢查數(shù)據(jù)庫的數(shù)據(jù)(完全恢復(fù))

    SQL> alter database open;
    Database altered.
    SQL> select * from test;
    A
    ---------------------------------
    1
    2
    ?

    說明:

    1、只要有備份與歸檔存在,就可以實(shí)現(xiàn)數(shù)據(jù)庫的完全恢復(fù)(不丟失數(shù)據(jù))
    2、適合于丟失大量數(shù)據(jù)文件,或包含系統(tǒng)數(shù)據(jù)文件在內(nèi)的數(shù)據(jù)庫的恢復(fù)
    3、恢復(fù)過程在mount下進(jìn)行,如果恢復(fù)成功,再打開數(shù)據(jù)庫,down機(jī)時間可能比較長一些。
    ?

    二、RMAN備份方案

    RMAN備份歸檔模式下?lián)p壞(丟失)多個數(shù)據(jù)文件,進(jìn)行整個數(shù)據(jù)庫的恢復(fù)

    1、連接數(shù)據(jù)庫,創(chuàng)建測試表并插入記錄

    SQL*Plus: Release 9.2.0.1.0 - Production on Tue Jan 13 10:03:27 2009
    Copyright (c) 1982, 2002, Oracle Corporation.? All rights reserved.
    ?
    SQL> connect sys/sys as sysdba;
    Connected.
    SQL> create table test(a int) tablespace users;
    Table created
    SQL> insert into test values(1);
    1 row inserted
    SQL> commit;
    Commit complete

    2、備份數(shù)據(jù)庫

    C:> rman cmdfile=bakup.rcv msglog=backup.log;

    backup.log中記錄的備份信息如下:

    Recovery Manager: Release 9.2.0.1.0 - Production
    ?
    Copyright (c) 1995, 2002, Oracle Corporation.? All rights reserved.
    ?
    RMAN> # script:bakup.rcv
    2> # desc:backup all database datafile in archive with rman
    3> # connect database
    4> # set oracle_sid=dodo;
    5> connect target sys/sys;
    6> # start backup database
    7> run{
    8> allocate channel c1 type disk;
    9> backup full tag 'dbfull' format 'D:\DATABASE\RMAN\full%u_%s_%p' database
    10> include current controlfile;
    11> sql 'alter system archive log current';
    12> release channel c1;
    13> }
    14> # end
    15>
    connected to target database: DODO (DBID=472976704)
    ?
    using target database controlfile instead of recovery catalog
    allocated channel: c1
    channel c1: sid=17 devtype=DISK
    ?
    Starting backup at 2009-01-13
    channel c1: starting full datafile backupset
    channel c1: specifying datafile(s) in backupset
    including current controlfile in backupset
    input datafile fno=00008 name=D:\ORACLE\ORADATA\DODO\WXQ_TBS.ORA
    input datafile fno=00006 name=D:\ORACLE\ORADATA\DODO\USERS01.DBF
    input datafile fno=00001 name=D:\ORACLE\ORADATA\DODO\SYSTEM01.DBF
    input datafile fno=00002 name=D:\ORACLE\ORADATA\DODO\UNDOTBS01.DBF
    input datafile fno=00007 name=D:\ORACLE\ORADATA\DODO\XDB01.DBF
    input datafile fno=00004 name=D:\ORACLE\ORADATA\DODO\INDX01.DBF
    input datafile fno=00003 name=D:\ORACLE\ORADATA\DODO\DRSYS01.DBF
    input datafile fno=00009 name=D:\ORACLE\ORADATA\DODO\RECOVERY_TBS.ORA
    input datafile fno=00005 name=D:\ORACLE\ORADATA\DODO\TOOLS01.DBF
    channel c1: starting piece 1 at 2009-01-13
    channel c1: finished piece 1 at 2009-01-13
    piece handle=D:\DATABASE\RMAN\FULL1QK4NINF_58_1 comment=NONE
    channel c1: backup set complete, elapsed time: 00:02:37
    Finished backup at 2009-01-13
    ?
    Starting Control File and SPFILE Autobackup at 2009-01-13
    piece handle=D:\ORACLE\ORADATA\DODO\RMANBACK\CTL_C-472976704-20090113-03 comment=NONE
    Finished Control File and SPFILE Autobackup at 2009-01-13
    ?
    sql statement: alter system archive log current
    ?
    released channel: c1
    ?
    Recovery Manager complete.
    ?

    3、繼續(xù)在測試表中插入記錄

    SQL> insert into test values(2);
    1 row inserted
    SQL> commit;
    Commit complete
    SQL> select * from test;
    A
    ---------------------------------------
    1
    2
    SQL> alter system switch logfile;
    System altered.
    SQL> alter system switch logfile;
    System altered.

    4、關(guān)閉數(shù)據(jù)庫,模擬丟失數(shù)據(jù)文件

    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down

    C:>del D:\ORACLE\ORADATA\DODO\SYSTEM01.DBF
    C:>del D:\ORACLE\ORADATA\DODO\TOOLS01.DBF
    C:>del D:\ORACLE\ORADATA\DODO\INDX01.DBF
    C:>del D:\ORACLE\ORADATA\DODO\USERS01.DBF

    5、啟動數(shù)據(jù)庫,檢查錯誤

    SQL> startup
    ORACLE instance started.
    ?
    Total System Global Area? 135338868 bytes
    Fixed Size?????????????????? 453492 bytes
    Variable Size???????????? 109051904 bytes
    Database Buffers?????????? 25165824 bytes
    Redo Buffers???????????????? 667648 bytes
    Database mounted.
    ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
    ORA-01110: data file 1: 'D:\ORACLE\ORADATA\DODO\SYSTEM01.DBF'

    查詢v$recover_file

    SQL> select * from v$recover_file;
    ?
    ???? FILE# ONLINE? ONLINE_ ERROR?????????????????? CHANGE# TIME
    ---------- ------- ------- -------------------- ---------- ----------
    ???????? 1 ONLINE? ONLINE? FILE NOT FOUND??????????????? 0
    ???????? 4 ONLINE? ONLINE? FILE NOT FOUND??????????????? 0
    ???????? 5 ONLINE? ONLINE? FILE NOT FOUND??????????????? 0
    ???????? 6 ONLINE? ONLINE? FILE NOT FOUND??????????????? 0

    可以知道有四個數(shù)據(jù)文件需要恢復(fù)

    6、利用RMAN進(jìn)行恢復(fù)

    C:>rman
    Recovery Manager: Release 9.2.0.1.0 - Production
    Copyright (c) 1995, 2002, Oracle Corporation.? All rights reserved.
    RMAN> connect rcvcat rman/rman
    connected to recovery catalog database
    RMAN> connect target sys/sys
    connected to target database: DODO (DBID=472976704)

    RMAN> run{
    2> allocate channel c1 type disk;
    3> restore database;
    4> recover database;
    5> sql 'alter database open';
    6> release channel c1;
    7> }

    allocated channel: c1
    channel c1: sid=12 devtype=DISK
    ?
    Starting restore at 2009-01-13
    ?
    channel c1: starting datafile backupset restore
    channel c1: specifying datafile(s) to restore from backup set
    restoring datafile 00001 to D:\ORACLE\ORADATA\DODO\SYSTEM01.DBF
    restoring datafile 00002 to D:\ORACLE\ORADATA\DODO\UNDOTBS01.DBF
    restoring datafile 00003 to D:\ORACLE\ORADATA\DODO\DRSYS01.DBF
    restoring datafile 00004 to D:\ORACLE\ORADATA\DODO\INDX01.DBF
    restoring datafile 00005 to D:\ORACLE\ORADATA\DODO\TOOLS01.DBF
    restoring datafile 00006 to D:\ORACLE\ORADATA\DODO\USERS01.DBF
    restoring datafile 00007 to D:\ORACLE\ORADATA\DODO\XDB01.DBF
    restoring datafile 00008 to D:\ORACLE\ORADATA\DODO\WXQ_TBS.ORA
    restoring datafile 00009 to D:\ORACLE\ORADATA\DODO\RECOVERY_TBS.ORA
    channel c1: restored backup piece 1
    piece handle=D:\DATABASE\RMAN\FULL1QK4NINF_58_1 tag=DBFULL params=NULL
    channel c1: restore complete
    Finished restore at 2009-01-13
    ?
    Starting recover at 2009-01-13
    ?
    starting media recovery
    ?
    archive log thread 1 sequence 43 is already on disk as file D:\ORACLE\ORADATA\DODO\ARCHIVE\1_43.DBF
    archive log thread 1 sequence 44 is already on disk as file D:\ORACLE\ORADATA\DODO\ARCHIVE\1_44.DBF
    archive log thread 1 sequence 45 is already on disk as file D:\ORACLE\ORADATA\DODO\ARCHIVE\1_45.DBF
    archive log filename=D:\ORACLE\ORADATA\DODO\ARCHIVE\1_43.DBF thread=1 sequence=43
    media recovery complete
    Finished recover at 2009-01-13
    ?
    sql statement: alter database open
    ?
    released channel: c1

    7、檢查數(shù)據(jù)庫的數(shù)據(jù)(完全恢復(fù))
    ?
    SQL> select * from test;
    A
    --------------------------
    1
    2
    ?
    ?
    說明:
    ?
    1、只要有備份與歸檔存在,RMAN也可以實(shí)現(xiàn)數(shù)據(jù)庫的完全恢復(fù)(不丟失數(shù)據(jù))
    2、同OS備份數(shù)據(jù)庫恢復(fù),適合于丟失大量數(shù)據(jù)文件,或包含系統(tǒng)數(shù)據(jù)文件在內(nèi)的數(shù)據(jù)庫的恢復(fù)
    3、目標(biāo)數(shù)據(jù)庫在mount下進(jìn)行,如果恢復(fù)成功,再打開數(shù)據(jù)庫。
    4、RMAN的備份與恢復(fù)命令相對比較簡單并可靠,建議有條件的話,都采用RMAN進(jìn)行數(shù)據(jù)庫的備份。
    ?
    posted on 2008-12-16 22:55 decode360 閱讀(441) 評論(0)  編輯  收藏 所屬分類: 09.Recover

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品无码久久久久久| 国产成人精品日本亚洲专区| 国产高清不卡免费在线| 午夜免费1000部| 7x7x7x免费在线观看| 桃子视频在线观看高清免费视频| a级成人免费毛片完整版| 精品国产免费一区二区三区香蕉| 中国一级毛片免费看视频| 中文字幕a∨在线乱码免费看| 久久久久女教师免费一区| 成全高清在线观看免费| 日韩免费观看一区| 69影院毛片免费观看视频在线| 中文字幕在线免费| 亚色九九九全国免费视频| 国产免费AV片在线播放唯爱网| 无码少妇一区二区浪潮免费| 免费无码又爽又刺激高潮| 国产免费观看黄AV片| 亚洲欧洲精品成人久久曰影片| 中文字幕专区在线亚洲| 亚洲AV日韩AV永久无码久久| 亚洲一二成人精品区| 亚洲ts人妖网站| 亚洲精品无码日韩国产不卡av| 国产91成人精品亚洲精品| 国产成人精品免费视频大全| 成在人线av无码免费高潮喷水| 在线a免费观看最新网站| 毛片基地免费观看| 亚洲国产精品成人一区| 亚洲AV午夜成人影院老师机影院| 亚洲午夜久久久久久尤物| 国产亚洲精品AAAA片APP| a毛片免费观看完整| 国产一卡二卡3卡四卡免费| 四虎AV永久在线精品免费观看| 亚洲中文字幕在线观看| 亚洲国产精品成人综合久久久| 亚洲欧美日韩一区二区三区在线|