中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ORACLE常見的六種RMAN恢復測試

發布時間:2020-07-16 12:23:14 來源:網絡 閱讀:1036 作者:luoyangzhigui 欄目:數據庫

    在ORACLE的日常管理中,需要定期對備份進行測試,以檢測備份文件是否可用。以下對常見的恢復場景進行簡單介紹。

一、備份前的準備工作

1、查看參數文件的位置

SQL> show parameter spfile;

2、查看控制文件的位置

SQL> show parameter control;

3、查看數據文件的位置

SQL> select name from v$datafile;

SQL> select file_name from dba_data_files;

4、查看臨時文件的位置

SQL> select name from v$tempfile;

SQL> select file_name from dba_temp_files;

5、查看dump目錄

SQL> show parameter dump;

6、查看數據庫名和dbid

SQL> select name,dbid from v$database;

二、執行全庫備份  

run{

backup database format 'd:\rman\full_%d_%T_%s_%p';

sql 'alter system archive log current';

sql 'alter system archive log current';

sql 'alter system archive log current';

backup archivelog all format 'd:\rman\arch_%d_%T_%s_%p';

backup current controlfile format 'd:\rman\ctl_%d_%T_%s_%p';

}

注:在備份時將控制文件自動備份打開,這樣可以自動備份控制文件和參數文件

三、常見情況的備份與恢復

1、一個數據文件損壞(非system和Undo)后的恢復實驗

    1) 進入數據文件的目錄,刪除一個數據文件(非system和Undo文件)

       注:windows環境下在未關閉數據庫的情況下數據文件無法刪除,可以先關閉數據庫再刪除文件

    2)關閉數據庫,再次啟動,會報錯

       SQL> shutdown immediate;

       SQL> startup;

    3)啟動數據庫到mount狀態,并將刪除的數據文件設置為offline 

       SQL> alter database mount;

       SQL> alter database datafile '刪掉文件的絕對路徑+文件名' offline;

    4)打開數據庫

       SQL> alter database open;

    5)還原并恢復刪除的數據文件

       RMAN> restore datafile '刪掉文件的絕對路徑+文件名'; 

       RMAN> recover datafile '刪掉文件的絕對路徑+文件名';

    6)將刪除的數據文件設置為online狀態

       SQL> alter database datafile '刪掉文件的絕對路徑+文件名' online;

2、所有數據文件損壞后的恢復實驗

    1)進入數據文件的目錄,刪除所有數據文件。

    2)關閉數據庫

       SQL> shutdown immediate;

    注:在windows平臺下操作時步驟1和2需要反過來執行。

    3)啟動數據庫到mount狀態

       SQL> startup mount;

    4)還原并恢復數據庫

       RMAN> restore database;

       RMAN> recover database;

    5)打開數據庫

       SQL> alter database open;

3、SYSTEM或者UNDO損壞后的恢復實驗

    1)進入數據文件的目錄,刪除SYSTEM01.DBF文件

    2)關閉數據庫。

       SQL> shutdown immediate;

    注:在windows平臺下操作時步驟1和2需要反過來執行。

    3)啟動數據庫到mount狀態

       SQL> startup mount;

    4)還原并恢復SYSTEM01.DBF文件

       RMAN> restore datafile '文件路徑/SYSTEM01.DBF';

       RMAN> recover datafile '文件路徑/SYSTEM01.DBF';

    5)打開數據庫

       SQL> alter database open;

4、參數文件損壞后的恢復實驗

    1)全庫備份:數據文件+歸檔日志+控制文件+參數文件(過程略)

    2)一致的關閉數據庫

       SQL> shutdown immediate;

    3)刪除參數文件initSID.ora和spfileSID.ora

    4)自己在$ORACLE_HOME/dbs目錄手動創建一個參數文件:initSID.ora,內容如下

       *.db_name='數據庫名'

    5)啟動數據庫到nomount狀態

       SQL> startup nomount;

    6)恢復參數文件

       RMAN> restore spfile from 'd:\rman\c-xxxxxxxxx'; 注:c-xxxxx為最后備份的參數文件

    7)關閉數據庫

       SQL> shutdown immediate;

    8)打開數據庫

       SQL> startup;

5、控制文件損壞后的恢復

    1)執行一次全庫備份:數據文件+歸檔日志+控制文件+參數文件

    2)一致的關閉數據庫

       SQL> shutdown immediate;

    3)刪除所有的控制文件

    4)啟動數據庫到nomount狀態

       SQL> startup nomount;

    5)恢復控制文件    

       RMAN> restore controlfile from 'd:\rman\ctl-xxxx'; 注:ctl-xxxx為最后備份的控制文件

    6)啟動數據庫到mount狀態

       SQL> alter database mount;

    7)恢復并還原數據庫

       RMAN> restore database;

       RMAN> recover database;

    8)打開數據庫

       SQL> alter database open resetlogs;

    注:以resetlogs方式打開后,需要立即對數據庫做一個全庫備份。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松溪县| 永德县| 澄江县| 济源市| 泰顺县| 高青县| 青州市| 汨罗市| 龙门县| 镇江市| 清苑县| 安西县| 吉首市| 灵丘县| 隆回县| 图木舒克市| 泾阳县| 日照市| 讷河市| 南澳县| 闵行区| 芦溪县| 定西市| 洪洞县| 来安县| 泸定县| 松桃| 抚宁县| 莲花县| 金溪县| 弥渡县| 凯里市| 察隅县| 湟源县| 楚雄市| 广昌县| 崇礼县| 黄浦区| 洛隆县| 滁州市| 永昌县|