最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

rman恢復(fù)方案和oracle異機恢復(fù)

 更新時間:2014年03月14日 16:19:49   作者:  
這篇文章主要介紹了rman恢復(fù)方案和oracle異機恢復(fù),需要的朋友可以參考下

注:
①恢復(fù)的前提是已經(jīng)做好備份
②完全恢復(fù)數(shù)據(jù)庫是數(shù)據(jù)庫遇到故障,在恢復(fù)時候沒有丟失任何已經(jīng)提交事物數(shù)據(jù)的恢復(fù)
不完全恢復(fù)數(shù)據(jù)庫是數(shù)據(jù)庫遇到故障,在恢復(fù)時候丟失部分?jǐn)?shù)據(jù)的恢復(fù)
③在linux下需要設(shè)置環(huán)境變量,即需要恢復(fù)的oracle數(shù)據(jù)庫的實例名:export ORACLE_SID=orcl
④當(dāng)用resetlogs啟動數(shù)據(jù)庫時,應(yīng)該要對數(shù)據(jù)庫進(jìn)行一次全備份

一、恢復(fù)方案
1、丟失數(shù)據(jù)文件,進(jìn)行完全恢復(fù)

復(fù)制代碼 代碼如下:

RMAN>startup mount;
RMAN>restore database;
RMAN>recover database;
RMAn>sql 'alter database open';

2、丟失重做日志文件,進(jìn)行不完全恢復(fù)
復(fù)制代碼 代碼如下:

SQL>startup mount;
SQL>recover database until cancel;
SQL>alter database open resetlogs;

3、丟失數(shù)據(jù)文件、控制文件和重做日志文件,進(jìn)行不完全恢復(fù)
復(fù)制代碼 代碼如下:

RMAN>startup nomount;
RMAN>restore controfile from autobackup;
RMAN>alter database mount;
RMAN>restore database;
SQL>recover database using backup controlfile until cancel;
SQL>alter database open resetlogs;

4、丟失初始化文件、控制文件數(shù)據(jù)文件和重做日志文件,進(jìn)行不完全恢復(fù)
復(fù)制代碼 代碼如下:

SQL>startup nomount pfile='D:\oracle\product\10.2.0\db_1\admin\orcl\pfile\init.ora.27201414210'; #pfile的路徑
RMAN>restore spfile from autobackup;
SQL>shutdown immediate;
SQL>startup nomount;
RMAN>restore controlfile from autobackup;
RMAN>alter database mount;
RMAN>restore database;
SQL>recover database using backup controlfile until cancel;
SQL>alter database open resetlogs;

5、基于時間點的恢復(fù)(常用)
復(fù)制代碼 代碼如下:

RMAN>startup mount;
RMAN>restore database;
RMAN>sql 'alter session set nls_date_format="yyyymmdd hh24:mi:ss"'; #設(shè)置顯示時間格式
RMAN>recover database until time '20140312 17:07:00'; #把數(shù)據(jù)庫恢復(fù)到2014-03-12 17:07:00這一時間點上
RMAN>sql 'alter database open resetlogs';

6、基于SCN的恢復(fù)
復(fù)制代碼 代碼如下:

RMAN>startup mount;
RMAN>restore database;
RMAN>recover database until scn  963915;
RMAN>sql 'alter database open resetlogs';

①查詢當(dāng)前SCN號:
復(fù)制代碼 代碼如下:

SQL>select dbms_flashback.get_system_change_number from dual;

②根據(jù)SCN號查詢時間:
復(fù)制代碼 代碼如下:

SQL>select to_char(scn_to_timestamp(963959),'yyyymmdd hh24:mi:si') from dual;

③根據(jù)時間查詢SCN號:
復(fù)制代碼 代碼如下:

SQL>select timestamp_to_scn(to_date('20140309 17:55:10','yyyymmdd hh24:mi:ss')) from dual;

④查詢一段時間內(nèi)的SCN號:
復(fù)制代碼 代碼如下:

SQL>select * from (select time_dp,scn from smon_scn_time order by time_dp desc) where  rownum<20;

7、深入理解incarnation:就是可以跨越resetlogs進(jìn)行數(shù)據(jù)恢復(fù)
①每一次resetlogs就會使incarnation + 1;如果想要恢復(fù)到之前incarnation的scn,就需要先恢復(fù)到之前的incarnation;

②Incarnation 11 and 12都包括scn 900000 的spot,所以當(dāng)incarnation 12 做 until scn的時候,是恢復(fù)到當(dāng)前incarcation 的 scn;但是根據(jù)我們的需要,我們需要的是incarnation 11的scn 900000;所以就需要切換incarnation到incarnation 11,才能找回我們需要的數(shù)據(jù)。
RMAN>reset database to incarnation 11;

8、recover database的四條語句區(qū)別
① SQL>recover database using backup controlfile
如果丟失當(dāng)前控制文件,用冷備份的控制文件恢復(fù)的時候,用來告訴oracle,不要以controlfile中的scn作為恢復(fù)的終點。
②SQL>recover database until cancel
如果丟失current/active redo的時候,手動指定終點。
③SQL>recover database using backup controlfile until cancel;
如果丟失當(dāng)前controlfile并且current/active redo都丟失,會先去自動應(yīng)用歸檔日志,可以實現(xiàn)最大的恢復(fù);
④SQL>recover database until cancel using backup controlfile;
如果丟失當(dāng)前controlfile并且current/active redo都丟失,以舊的redo中的scn為恢復(fù)終點,因為沒有應(yīng)用歸檔日志,所有會丟失數(shù)據(jù)。

要理解recover database using backup controlfile,先理解 recover database;在普通的recover database 或者 recover tablespace, recover datafile時, Oracle會以當(dāng)前controlfile所紀(jì)錄的SCN為準(zhǔn),利用archive log和 redo log的redo entry, 把相關(guān)的datafile 的 block恢復(fù)到“當(dāng)前controlfile所紀(jì)錄的SCN”;而某些情況下,Oracle需要把數(shù)據(jù)恢復(fù)到比當(dāng)前controlfile所紀(jì)錄的SCN還要靠后的位置(比如說,control file是backup controlfile , 或者 controlfile是根據(jù)trace create的。),這時候,就需要用using backup controlfile.   恢復(fù)就不會受“當(dāng)前controlfile所記錄的SCN”的限制。這時候的限制就來自于你的語句(until time , until scn),或者可用的archive log(until cancel) 。如果控制文件丟失,restore備份的控制文件后,則必須使用using backup controlfile選項。而until cancel則是不完全恢復(fù),即current/active redo丟失,或者從restore數(shù)據(jù)庫后某個歸檔文件缺失,則終止。
結(jié)論:
如果有舊的數(shù)據(jù)庫備份,在歸檔日志和在線日志全部保存完好的情況下,使用recover database或recover database using backup controlfile,則不丟失數(shù)據(jù)
如果存在備份數(shù)據(jù)文件restore后,歸檔日志或者在線日志(active、current)丟失情況下,使用recover database using backup controlfile until cancel,則可以實現(xiàn)最大恢復(fù)。

二、RMAN異機恢復(fù)(源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的實例名要一致)

1、對源數(shù)據(jù)庫進(jìn)行備份

復(fù)制代碼 代碼如下:

RMAN>backup database plus archivelog;
RMAN>backup current controlfile;

2、生成源數(shù)據(jù)庫的參數(shù)文件,修改后傳至目標(biāo)數(shù)據(jù)庫
3、在windows平臺下進(jìn)行恢復(fù)
復(fù)制代碼 代碼如下:

C:\>oradim -new -sid orcl  #創(chuàng)建一個orcl服務(wù)
C:\>set ORACLE_SID=orcl
C:\>sqlplus "/as sysdba";
SQL>startup nomount pfile='C:\INITorcl.ORA';
SQL> create spfile from pfile='C:\INITorcl.ORA';
SQL> shutdown immediate;
SQL>exit;
C:\>set ORACLE_SID=orcl
C:\>rman target/
RMAN>startup nomount;
RMAN>restore controlfile to '目標(biāo)數(shù)據(jù)庫控制文件放置的位置及名稱' from '備份控制文件放置的位置';
RMAN>alter database mount;
RMAN>catalog start with '備份集放置的位置'; #向控制文件中添加備份集
RMAN>crosscheck backup;
RMAN>report schema;

編寫下邊腳本并運行
復(fù)制代碼 代碼如下:

run
{
set newname for datafile 1
  to 'C:\oracle\product\10.2.0\oradata\orcl\SYSTEM.DBF';  #實例中SYSTEM.DBF放置的位置
   set newname for datafile 2
   to 'C:\oracle\product\10.2.0\oradata\orcl\UNDOTBS1.DBF';
   set newname for datafile 3
   to 'C:\oracle\product\10.2.0\oradata\orcl\SYSAUX.DBF';
   set newname for datafile 4
   to 'C:\oracle\product\10.2.0\oradata\orcl\USERS.DBF';
   set newname for datafile 5
   to 'C:\oracle\product\10.2.0\oradata\orcl\BANK_DATA02.DBF';
restore database;
switch datafile all;
}
RMAN>recover database;
RMAN>sql 'alter database open resetlogs';

恢復(fù)成功

相關(guān)文章

  • Oracle11g RAC開啟關(guān)閉、設(shè)置歸檔小結(jié)

    Oracle11g RAC開啟關(guān)閉、設(shè)置歸檔小結(jié)

    這篇文章主要介紹了Oracle11g RAC開啟關(guān)閉、設(shè)置歸檔,很簡單,但很實用,需要的朋友可以參考下
    2014-09-09
  • oracle報錯(ORA-00600)問題處理

    oracle報錯(ORA-00600)問題處理

    最近在做一個項目,使用的是Oracle數(shù)據(jù)庫,近兩天不知道怎么回事,告警日志里總是顯示這個錯誤(ORA-00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[],[],[])度娘了一下,終于找到解決方式,分享給大家
    2014-08-08
  • group by,having,order by的用法詳解

    group by,having,order by的用法詳解

    如果一個查詢中使用了分組函數(shù),任何不在分組函數(shù)中的列或表達(dá)式必須要在group by中,下面為大家簡要介紹下group by,having,order by的用法
    2013-09-09
  • Oracle查詢今天、昨天、本周、上周、本月、上月數(shù)據(jù)方式

    Oracle查詢今天、昨天、本周、上周、本月、上月數(shù)據(jù)方式

    這篇文章主要介紹了Oracle查詢今天、昨天、本周、上周、本月、上月數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Oracle日期函數(shù)簡介

    Oracle日期函數(shù)簡介

    如果要對Oracle數(shù)據(jù)庫中的日期進(jìn)行處理操作,需要通過日期函數(shù)進(jìn)行實現(xiàn),下文對幾種Oracle日期函數(shù)作了詳細(xì)的介紹,供您參考
    2007-03-03
  • oracle case when 語句的用法詳解

    oracle case when 語句的用法詳解

    本篇文章是對oracle case when 語句的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • Oracle表空間不足的兩種解決辦法

    Oracle表空間不足的兩種解決辦法

    這篇文章主要介紹了Oracle表空間不足的兩種解決辦法,需要的朋友可以參考下
    2017-10-10
  • Oracle在PL/SQL中使用子查詢

    Oracle在PL/SQL中使用子查詢

    這篇文章介紹了Oracle在PL/SQL中使用子查詢的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Oralce中VARCHAR2()與NVARCHAR2()的區(qū)別介紹

    Oralce中VARCHAR2()與NVARCHAR2()的區(qū)別介紹

    這篇文章主要給大家詳細(xì)介紹了關(guān)于Oralce中VARCHAR2()與NVARCHAR2()的區(qū)別,文中先通過翻譯官方的介紹進(jìn)行區(qū)別總結(jié),然后由一個實戰(zhàn)示例代碼進(jìn)行演示,相信對大家的理解會很有幫助,有需要的朋友們下面來跟著小編一起看看吧。
    2016-12-12
  • Oracle Instr函數(shù)實例講解

    Oracle Instr函數(shù)實例講解

    instr函數(shù)為字符查找函數(shù),其功能是查找一個字符串在另一個字符串中首次出現(xiàn)的位置,instr函數(shù)在Oracle/PLSQL中是返回要截取的字符串在源字符串中的位置,這篇文章主要介紹了Oracle Instr函數(shù)實例講解,需要的朋友可以參考下
    2022-11-11

最新評論

会东县| 锡林浩特市| 江源县| 新龙县| 宁波市| 富平县| 武威市| 连州市| 丹阳市| 文水县| 定边县| 桓台县| 临猗县| 武胜县| 台北县| 师宗县| 含山县| 陇南市| 惠东县| 苏尼特左旗| 沈阳市| 绥棱县| 阿城市| 长白| 赣州市| 鲁甸县| 定远县| 武隆县| 余姚市| 肥城市| 罗定市| 凤冈县| 赣榆县| 浠水县| 崇阳县| 临朐县| 女性| 天祝| 阳原县| 大同市| 隆子县|