當前位置:首頁 » 操作系統 » oraclerman恢復資料庫

oraclerman恢復資料庫

發布時間: 2023-05-29 23:12:53

A. 高分求 使用rman備份和恢復oracle資料庫的操作實例,本人初學,求高手指教

1 創建一個名為rman的資料庫,可以使用dbca工具,根據向導提滲扒示建立即可,該資料庫用於備份信息的管理
2 在rman資料庫中創並喊此建rman用戶絕迅(密碼暫設為rman),用於訪問rman資料庫,並賦予許可權
export ORACLE_SID=rman
sqlplus / as sysdba
create user rman identified by rman default tablespace users quota unlimited on users;
grant create type,recovery_catalog_owner to rman;
exit
3 使用rman用戶登錄到rman資料庫,建立catalog編錄
rman catalog rman/rman@rman
create catalog;
exit
4 使用rman命令連接要備份的資料庫,例如orcl,進行注冊
export ORACLE_SID=orcl
rman target / catalog rman/rman@rman
register database;
這樣就可以通過rman命令進行orcl資料庫的備份管理了。
常見rman命令有:
rman target / catalog rman/rman@rman
list backup ; 列出所有備份
report obsolete; 列出過期備份
report need backup days=3; 列出最近三天沒有備份的文件
backup database; 備份資料庫
backup tablespace tbsname; 備份表空間tbsname
restore database; 恢復資料庫

B. 資料庫的備份和恢復 [Oracle資料庫的備份與恢復策略分析]

【摘 要】為了保證資料庫的安全性和穩定性,通過對Oracle的備份以及恢復策略進行了分析和探討,明確了資料庫備份以及恢復技術在實際工程項目當中的應用,通過分析資料庫備份的實際需求,同時選擇了合理的數據備份策略以及數據恢復策略,採取了有效的資料庫的管理和維護策略,有效保證了資料庫中的相關數據以及整個系統的安全性和穩定性,為類似資料庫的備份以及恢復策略提供了可供參考的經驗。
【關鍵字】Oracle資料庫;備份;數據;恢復;策略
對於企業而言,資料庫中的數據是重要的數據資源,也是企業得以持續總結和發展的重要的要素,由此保證相應資料庫的安全性和穩定性有著十分重要的影響。 隨著資料庫內數據量的逐漸增加,並且資料庫發展以及運行所面臨的環境也日益復雜,資料庫中數據的安全性以及相關系統運行的穩定性對企業的發展尤為重要。資料庫中的數據難以避免地受到了外界的侵襲,例如網路、硬體以及系統等方面的故障,甚至自然災害也將導致則整個系統的崩潰,數據丟失,資料庫中存儲過程中的失誤將給企業的發展帶來嚴重的影響甚至巨大的損失,為了尺茄有效避開或者減少這些無法預測損失的到來,建立一系列安全穩定可靠的數據備份系統尤為重要。
1 建立備份策略
1.1 數據備份需求
(1)良好的可擴展能力
隨著企業的發展和項目管理以及建設的持續發展和升級,企業資料庫中的數據量將日益增長,所使用的資料庫也應具有數據的擴展和升級的空間和可能。
(2)備份數據的可恢復性
為保證企業內部資料庫的規范統一以及集中安全的數據恢復和備份的管理,相應的數據備份以及恢復策略應保證所備份的數據的可靠性以及可恢復性,為系統數據的恢復奠定了良好的基礎。
(3)保持業務流程的連貫性
數據備份和恢復系統要以維持企業基本的業務流程和體系為基礎,在保證了系統業務連續性的前提下開展資料庫的數據備份,避免了數據存儲設備時間較長對企業系統的使用和相關項目的運行造成影響。
1.2 備份設備的選型
在對PCEDM資料庫陵手察備份需求分析的基礎上,使用IBM的TSM作為備份數據備份的支持。TSM軟體管理軟體系統,是為企業級別的數據以及系統安全設計,以解決企業級數據和系統的安全性,為數據的備份提供解決方案,為石油、金融、電信管理和其他許多大型企業解決了數據的備份和管理問題。 TSM的管理結構,其高度的可擴展性和廣泛的平台支持,集中式,自動化的存儲管理等方面的優勢,提供高效,自動,可擴展的備份管理系統。TSM專有的二進制格式,每個數據備份和恢復加密的數據傳輸格式,TSM自動CRC數據校驗,從而保證了數據備份和恢復過程的完整性和安全。
2 制定備份策略
通過詳細分析Oracle資料庫的存儲結構、資料庫的運行模式、數據存儲文件、數據增長的速度和數據增長密度等實際狀況,結合幾個備份Oracle資料庫的優點和缺點分析,數據的備份策略表示如下:
2.1 使用RMAN與冷備份、邏輯備份相結合。使用Oracle資料庫本身的RMAN和冷備份以及邏輯備份的方式結合起來,其中,Oracle資料庫所提供的備份方式是主要的備份方式,而冷備份,邏輯備份作為輔助備份。
2.2 RMAN 備份包括全備份和增量備份 2 種方式。使用備份數據量小,低差異增量備份。在進行了一次級別為n的Differential增量的備薯差份過程中,RMAN備份僅僅將那些最近一次等級等於或小於增量備份n相比,產生變化的數據塊進行備份。差異增量備份策略RMAN的方法,設定在每個星期天,星期三0級備份資料庫和日誌文件的備份,周一,周二,周四,周五,周六為第一級增量備份和日誌文件的備份。
2.3 備份觸發方式,在Unix預定時間以及計劃內啟動。構建系統的CRON任務,根據備份策略編輯命令,在確定的時間內起動文件以及備份計劃。
3 數據備份方案的具體實施
備份存儲設備使用的磁碟陣列和磁帶庫的組合方式。TSM備份存儲池,並最終利用RMAN備份的數據進行備份的IBM Ultrium3584磁帶庫EMC CX700磁碟陣列空間分割出的一部分作為備份的存儲區域。資料庫伺服器放置在本地磁碟系統進行資料庫冷備份以及邏輯備份過程中所產生的備份文件。
3.1 冷備份
在資料庫以TRANSACTIONAL,IMMEDIATE 或 NORMAL 方式關閉後進行的數據備份稱為冷備份或離線備份,所以得到的是一個備份的一致性。在資料庫關閉,操作系統的所有訂單數據文件,控制文件和聯機日誌文件,初始化參數文件等進行備份,冷備份副本。一旦資料庫發生故障,可以將這些文件拷貝覆蓋原始文件的位置。這個備份資料庫,它可以返回到之前的狀態。 由於PCEDM資料庫需要,以確保7天24小時運作,冷備份必須在封閉的資料庫進行。冷備份在正常的服務維修期間進行每一年兩次的備份。使用冷備份具有一致性的優勢,可以保證系統恢復的迅速。
3.2 邏輯備份
邏輯備份使用Oracle導出工具將資料庫中的對象模型得出的二進制文件,有一個需要重用Oracle導入工具將模型的二進制文件導入到對象資料庫。基於整個資料庫備份的邏輯模式,用戶模式或表模型可以將數據輸出,更靈活。對於一些重要的數據可以作為輔助備份方式。通過使用不同操作系統平台,以及不同的資料庫版本之間進行了資料庫中數據的遷移,這成為了資料庫物理備份的補充形式。
3.3 RMAN 備份
RMAN是Oracle提供的外部工具,專門用於資料庫備份和恢復操作。通過在RMAN備份系統中啟動Oracle服務進程完成備份的任務。創建RMAN的備份的具體步驟如下:
(1)在資料庫伺服器上安裝TSM客戶端,選擇相關文件進行編輯,設置DSMI_ORC_CONFIG,TDPO_ PSWDPATH參數,建立RMAN備份和TSM備份管理軟體系統的連接。
(2)創建RMAN目錄資料庫備份恢復,以保存備份的索引信息。
(3)RMAN恢復管理器,同時開始在目標資料庫的連接。
(4)目標資料庫的注冊。
(5)修改RMAN默認的配置參數。 CONFIGURE命令可以用來改變默認的RMAN設置,如配置自動通道,在指定的備份保留策略,激活或屏蔽備份優化功能。
(6)創建備份腳本
4 Oracle 資料庫恢復
4.1 RMAN 的完全恢復
在使用RMAN的完全恢復,在線和歸檔重做日誌文件中的所有記錄將被用於恢復資料庫,從備份中恢復已損壞的文件,然後應用日誌文件,將數據文件恢復到當前的時間。
4.2 RMAN的不完全恢復
通過RMAN中的不完全恢復資料庫,將資料庫恢復到指定的時刻或狀態,通過將指定的SCN或者應用指定日期順序歸檔重做日誌之後的狀態,也就是從時間、SCN或日誌這三種方式中選擇一種方式作為恢復終止的標記。
5 結語
實踐證明,這種設計的備份策略,實現真正意義上的數據備份自動化管理,使系統的管理從傳統的繁瑣的手工備份中解放出來,提高工作效率和工作質量;有效避免了人為錯誤,提高數據備份的安全性和可靠性;減少了資料庫的I / O操作,提高了數據備份恢復的速度以及數據備份的有效性。與此同時,也使備份系統具有良好的可擴展性,能夠滿足當前和今後幾年的業務發展的實際需求。
參考文獻:
[1]張自輝. ORACLE資料庫的備份方法和策略[J]. 吉首大學學報(自然科學版), 2009,(01) .
[2]安亞強. Oracle備份與恢復及故障研究[J]. 內蒙古煤炭經濟, 2009,(04) .
[3]王立新. Oracle資料庫備份與恢復策略淺析[J]. 才智, 2009,(28) .
[4]楊志彬. Oracle資料庫備份策略[J]. 電腦知識與技術, 2009,(17) .

C. Oracle 資料庫的備份與恢復都有哪幾種方法

一、邏緝備份液陸飢:exp/imp 導出導入
二、用戶管理的備份恢復:1、冷備悉山份,正常關閉資料庫,操作系統拷貝整個資料庫文件。
2、熱備份,在資料庫開啟時,把要備份的數據文件改為bakcup狀態
聯機拷貝文件。
三、rman管理的備鬧返份恢復

D. 怎麼才能把一個資料庫的rman備份恢復到同平台上的另一個資料庫中

要求:本地已有生產資料庫prod,制定rman備份策略,將數據備份到制定目錄/oracle/rman_bk下。現在需要做恢復測試,驗證備份出來的數據是有效的。且不影響原有的生產資料庫prod。
解決思路:在備份出來的數據中(控制文件),包含了資料庫名,數據文件,redo log等文件的存放路徑,如果在本地直接做恢復,將和原有的資料庫攜頃****,因此,需要修改這些信息,將備份出來的數據恢復到另外一個資料庫辯滑陸中。具體步驟如下:
1.創建新資料庫數據文件及跟蹤文件存放目錄
-bash-2.05b$mkdir -p /oracle/oradata/test
-bash-2.05b$mkdir -p /oracle/admin/test/bmp
-bash-2.05b$mkdir -p /oracle/admin/test/ump
-bash-2.05b$mkdir -p /oracle/admin/test/cmp
2.登錄到生產資料庫。查看當前數據文件信息:
-bash-2.05b$ sqlplus '/ as sysdba'
SQL> select file#,name from v$datafile;
FILE# NAME
---------- --------------------------------------------------
1 /oracle/oradata/test/system01.dbf
2 /oracle/oradata/test/undo01.dbf
3 /oracle/oradata/test/users01.dbf
3.利用rman更改數據文件存放路徑並restore到新的路徑
run {
set newname for datafile 1 to '/oracle/oradata/test/system01.dbf';
set newname for datafile 2 to '/oracle/oradata/test/undo01.dbf';
set newname for datafile 3 to '/oracle/oradata/test/users01.dbf';
restore datafile 1;
restore datafile 2;
restore datafile 3;
}
4。重建控制文件
CREATE CONTROLFILE REUSE set DATABASE "test" RESETLOGS ARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 16
MAXLOGMEMBERS 2
MAXDATAFILES 30
MAXINSTANCES 1
MAXLOGHISTORY 453
LOGFILE
GROUP 1 '/oracle/oradata/test/redo01.log' SIZE 10M,
GROUP 2 '/oracle/oradata/test/redo02.log' SIZE 10M,
GROUP 3 '/oracle/oradata/test/redo03.log' SIZE 10M
-- STANDBY LOGFILE
DATAFILE
'/oracle/oradata/test/system01.dbf',
'/oracle/oradata/test/undo01.dbf'讓兄,
'/oracle/oradata/test/users01.dbf'
CHARACTER SET ZHS16GBK
;
5.打開資料庫
SQL> alter database open resetlogs;

backup archivelog all delete input format '/rman/rman_%t_%s_%p.arc';

with a as
(select rownum p from al connect by level<=21)
select
7 + CEIL(
(7 + CEIL(
(7 + CEIL(p/3))
/3))
/3)
from a;
7+CEIL((7+CEIL((7+CEIL(p/3))/3))/3
本答案來自於互聯網,僅供參考學習作用
如果您對我的回答有不滿意的地方,還請您繼續追問;
答題不易,互相理解,互相幫助!

E. oracle rman備份與恢復 全量備份、增量備份

source /etc/profile
DAY_TAG= date +"%Y-%m-%d"
week= date +%W
backdir1=/賀吵銷home/oracle/backup/" backdir1
rman target / nocatalog msglog /home/oracle/backup/禪游log/fullback_$DAY_TAG.log<<EOF
run{
crosscheck backup;
delete noprompt expired backup;
allocate channel d1 type disk;

backup incremental level 0 as compressed backupset database format ' backdir1/arch_%d_%T_%t_%s_%p' archivelog all;
backup current controlfile format '$backdir1/ctl_%d_%T_%t_%s_%p';
release channel d1;

}
EOF

source /碰游etc/profile
DAY_TAG= date +"%Y-%m-%d"
week= date +%W
backdir1=/home/oracle/backup/" backdir1
rman target / nocatalog msglog /home/oracle/backup/log/incremental_$DAY_TAG.log<<EOF
run{
crosscheck backup;
delete noprompt expired backup;
allocate channel d1 type disk;

backup incremental level 1 as compressed backupset database format ' backdir1/arch_%d_%T_%t_%s_%p' archivelog all;
backup current controlfile format '$backdir1/ctl_%d_%T_%t_%s_%p';
release channel d1;

}
EOF

0 4 * * 0 bash rmanfull.sh
0 4 * * 1-6 bash rmanincreme.sh

F. oracle資料庫怎麼備份恢復

一. 理解什麼是資料庫恢復
當我們使用一個資料庫時,總希望資料庫的內容是可靠的、正確的,但由於計算機系統的故障(硬體故障、軟體故障、網路故障、進程故障和系統故障)影響資料庫系統的操作,影響資料庫中數據的正確性,甚至破壞資料庫,使資料庫中全部或部分數據丟失。因此當發生上述故障後,希望能重構這個完整的資料庫,該處理稱為資料庫恢復。恢復過程大致可以分為復原(Restore)與恢復(Recover)過程。

資料庫恢復可以分為以下兩類:

1.1實例故障的一致性恢復

當實例意外地(如掉電、後台進程故障等)或預料地(發出SHUTDOUM
ABORT語句)中止時出現實例故障,此時需要實例恢復。實例恢復將資料庫恢復到故障之前的事務一致狀態。如果在在線後備發現實例故障,則需介質恢復。在其它情況Oracle在下次資料庫起動時(對新實例裝配和打開),自動地執行實例恢復。如果需要,從裝配狀態變為打開狀態,自動地激發實例恢復,由下列處理:

(1) 為了解恢復數據文件中沒有記錄的數據,進行向前滾。該數據記錄在在線日誌,

包括對回滾段的內容恢復。

(2) 回滾未提交的事務,按步1重新生成回滾段所指定的操作。

(3) 釋放在故障時正在處理事務所持有的資源。

(4) 解決在故障時正經歷一階段提交的任何懸而未決的分布事務。

1.2介質故障或文件錯誤的不一致恢復

介質故障是當一個文件、一個文件的部分或磁碟不能讀或不能寫時出現的故障。文件錯誤一般指意外的錯誤導致文件被刪除或意外事故導致文件的不一致。這種狀態下的資料庫都是不一致的,需要DBA手工來進行資料庫的恢復,這種恢復有兩種形式,決定於資料庫運行的歸檔方式和備份方式。

(1) 完全介質恢復可恢復全部丟失的修改。一般情況下需要有資料庫的備份且資料庫運行在歸檔狀態下並且有可用歸檔日誌時才可能。對於不同類型的錯誤,有不同類型的完全恢復可使用,其決定於毀壞文件和資料庫的可用性。

(2)
不完全介質恢復是在完全介質恢復不可能或不要求時進行的介質恢復。重構受損的資料庫,使其恢復介質故障前或用戶出錯之前的一個事務一致性狀態。不完全介質恢復有不同類型的使用,決定於需要不完全介質恢復的情況,有下列類型:基於撤消、基於時間和基於修改的不完全恢復。

基於撤消(CANCEL)恢復:在某種情況,不完全介質恢復必須被控制,DBA可撤消在指定點的操作。基於撤消的恢復地在一個或多個日誌組(在線的或歸檔的)已被介質故障所破壞,不能用於恢復過程時使用,所以介質恢復必須控制,以致在使用最近的、未損的日誌組於數據文件後中止恢復操作。

基於時間(TIME)和基於修改(SCN)的恢復:如果DBA希望恢復到過去的某個指定點,是一種理想的不完全介質恢復,一般發生在恢復到某個特定操作之前,恢復到如意外刪除某個數據表之前。

第二章. 資料庫恢復案例測試環境

2.1 資料庫環境

以下的所有案例都是通過測試經過,環境為:

OS:Windows 2000 Server

DB:Oracle 816

DBNAME:TEST

數據文件:

SQL> select file#,status,enabled,name from v$datafile;

FILE# STATUS ENABLED NAME

----------------------------------------------------------------

1 SYSTEM READ WRITE D:/Oracle/ORADATA/TEST/SYSTEM01.DBF

2 ONLINE READ WRITE D:/Oracle/ORADATA/TEST/RBS01.DBF

3 ONLINE READ WRITE D:/Oracle/ORADATA/TEST/USERS01.DBF

4 ONLINE READ WRITE D:/Oracle/ORADATA/TEST/TEMP01.DBF

5 ONLINE READ WRITE D:/Oracle/ORADATA/TEST/TOOLS01.DBF

6 ONLINE READ WRITE D:/Oracle/ORADATA/TEST/INDX01.DBF

控制文件:

SQL> select * from v$controlfile;

STATUS NAME

---------------------------------------------------------------------

D:/Oracle/ORADATA/TEST/CONTROL01.CTL

D:/Oracle/ORADATA/TEST/CONTROL02.CTL

D:/Oracle/ORADATA/TEST/CONTROL03.CTL

聯機日誌:

SQL> select * from v$logfile;

GROUP# STATUS MEMBER

---------------------------------------------------------------------

1 STALE D:/Oracle/ORADATA/TEST/REDO01.LOG

2 D:/Oracle/ORADATA/TEST/REDO02.LOG

3 STALE D:/Oracle/ORADATA/TEST/REDO03.LOG

2.2 資料庫備份腳本

冷備份腳本:

rem script:coldbak.sql

rem creater:chenjiping

rem date:5.8.2003

rem desc:offline full backup database

--connect database

connect internal/password;

--shutdown database

shutdown immediate;

--Copy Data file

!x d:/Oracle/oradata/test/*.dbf d:/database/H/R;

--Copy Control file

!x d:/Oracle/oradata/test/*.ctl d:/database/H/R;

--Copy Log file

!x d:/Oracle/oradata/test/*.log d:/database/H/R;

--startup database

startup;

說明:

1、以上腳本在資料庫關閉狀態下備份資料庫所有的數據文件,聯機日誌,控制文件(在一個目

錄下),如果成功備份,所有文件是一致的;

2、沒有備份參數文件,參數文件可以另外備份,沒有必要每次都備份,只需要在改變設置後備份一次;

3、如果以上命令沒有成功依次執行,那麼備份將是無效的,如連接資料庫不成功,那麼肯定關閉資料庫也不成功,那麼備份則無效;

4、冷備份建議下人工干預下執行。

資料庫OS熱全備份腳本

rem script:hotbak.sql

rem creater:chenjiping

rem date:5.8.2003

rem desc:backup all database datafile in archive

--connect database

connect internal/password;

--archive

alter system archive log current;

--start

alter tablespace system begin backup;

!x d:/Oracle/oradata/test/system01.dbf d:/databak/H/R;

alter tablespace system end backup;

alter tablespace rbs begin backup;

!x d:/Oracle/oradata/test/rbs01.dbf d:/databak/H/R;

alter tablespace rbs end backup;

alter tablespace users begin backup;

!x d:/Oracle/oradata/test/users01.dbf d:/databak/H/R;

alter tablespace users end backup;

alter tablespace tools begin backup;

!x d:/Oracle/oradata/test/tools01.dbf d:/databak/H/R;

alter tablespace tools end backup;

alter tablespace indx begin backup;

!x d:/Oracle/oradata/test/indx01.dbf d:/databak/H/R;

alter tablespace indx end backup;

--end

--bak control file

--binary

alter database backup controlfile to 'd:/databak/controlbinbak.000';

--ascii

alter database backup controlfile to trace;

alter system archive log current;

說明:

1、熱備份必須在資料庫歸檔方式下才可以運行;

2、以上腳本可以在資料庫運行狀態下備份資料庫所有的數據文件(除了臨時數據文件),沒有必要備份聯機日誌;

3、歸檔日誌至少需要一次完整備份之後的所有日誌;

4、如果以上命令沒有成功依次執行,那麼備份也是無效的,如連接資料庫不成功,那麼備份則無效。

RMAN備份只講敘有恢復目錄的情況,如果沒有恢復目錄,情形大致相似。以下是RMAN的熱備份全備份的腳本:

# script:bakup.rcv

# creater:chenjiping

# date:5.8.2003

# desc:backup all database datafile in archive with rman

# connect database

connect rcvcat rman/rman@back;

connect target internal/virpure;

# start backup database

run{

allocate channel c1 type disk;

backup full tag 'dbfull' format 'd:/backup/full%u_%s_%p' database

include current controlfile;

sql 'alter system archive log current';

release channel c1;

}

# end

說明:

1、 資料庫必須運行在歸檔模式下;

2、 RMAN將自動備份數據文件,運行可靠;

3、 歸檔日誌另外備份處理,但至少需要保存一次備份來的日誌;

4、 沒有必要用RMAN做冷備份,效果不好。

以上舉例說明了資料庫的恢復案例的測試環境與部分備份測試腳本,其它的備份腳本可以根據以上腳本演變而來或在案例中加以說明。

資料庫的自動實例將不加以說明,這里只舉例說明媒體錯誤或人為錯誤造成的恢復可能。

以上包括以下案例都是在WINDOWS+Oracle816上測試驗證的,在不同的操作系統與不同的資料庫版本中略有差別。

G. 用rman,在oracle不同版本間作數據恢復,怎麼弄

一、RMAN 備份的內容
RMAN做資料庫全備時包含了 數據文件、歸檔日誌、控制文件和參數文件和備份日誌,如下:
arch_20160223_08qukp2t_1_1 arch_20160223_0bqukp92_1_1 ctl_c-3234695588-20160223-01 rmanbak-20160223-0852.log scp_20160223_09qukp2u_1_1 scp_20160223_0aqukp2u_1_1
二、測試環境
OS:CentOS release 6.4 (Final)
Database:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Proction
原平台與當前平台環境一致,但是oracle資料庫目錄結構不一致。
三、開始恢復
1、 確認原資料庫的DBID(通過RMAN的備份日誌,或者通過RMAN備份的控制文件名來識別),同時確認一下原資料庫的實例名;
2、 將RMAN備份的內容拷貝到目標資料庫上;
3、 設置好環境變數:
[oracle@dg1 ~]$ export NLS_DATA_FORMAT='YYYY-MM-DD HH24:MI:SS'
[oracle@dg1 ~]$ export ORACLE_SID=scp
[oracle@dg1 ~]$ rman target /
Recovery Manager: Release 12.1.0.2.0 - Proction on Fri May 6 22:18:52 2016
4、裝載資料庫並進行恢復
A、裝斗兆載資料庫
復制代碼
RMAN> set dbid=3234695588;
executing command: SET DBID
RMAN> startup nomount;
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/proct/12.1.0.2/dbs/initscp.ora'
starting Oracle instance without parameter file for retrieval of spfile
Oracle instance started
復制代碼
B、先恢復spfile文件(或者是pfile文件,可以修改各項參數),因為在spfile 文件中包含了控制文件的位置
RMAN> restore spfile to pfile '$ORACLE_HOME/dbs/initscp.ora' from '/home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01';
OR:
RMAN> restore spfile to '$ORACLE_HOME/培則dbs/spfilescp.ora' from '/home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01';
C、根據pfile文件中的相關參數去修改本地系統目錄,或者修改這個pfile文件來匹配本地系統中的路徑和目錄,我們選擇後者
需要修改:oracle_base、*.audit_file_dest、*.control_files、*.db_recovery_file_dest、*.db_recovery_file_dest_size、*.diagnostic_dest、*.log_archive_dest_1、
memory_target、undo_tablespace等。並在當前配銷棚系統中創建好相關的目錄和許可權。
復制代碼
[oracle@dg1 dbs]$ vim initscp.ora
scp.__data_transfer_cache_size=0
scp.__db_cache_size=822083584
scp.__java_pool_size=16777216
scp.__large_pool_size=33554432
scp.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
scp.__pga_aggregate_target=654311424
scp.__sga_target=1241513984
scp.__shared_io_pool_size=50331648
scp.__shared_pool_size=301989888
scp.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/scp/amp'
*.audit_trail='db'
*.compatible='12.1.0.2.0'
*.control_files='/u01/app/oracle/oradata/scp/control01.ctl','/u01/app/oracle/fast_recovery_area/scp/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='scp'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4560m
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=scpXDB)'
*.log_archive_dest_1='LOCATION=/OracleArch'
*.memory_target=1800m
*.open_cursors=300
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
復制代碼
D、從修改後的pfile文件啟動資料庫,進行控制文件的恢復
復制代碼
RMAN> shutdown abort;
RMAN> startup nomount pfile='$ORACLE_HOME/dbs/initscp.ora';
RMAN> restore controlfile from '/home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01';
Starting restore at 06-MAY-16
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=243 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/home/OracleData/scp/control01.ctl
output file name=/home/OracleArch/fast_recovery_area/control02.ctl
Finished restore at 06-MAY-16
復制代碼
E、控制文件恢復後就可以mount資料庫了
RMAN> alter database mount;
Statement processed
released channel: ORA_DISK_1
F、至此,控制文件已經恢復,資料庫已經mount,所有的RMAN配置參數均已設置,您應該驗證路徑以確保它們適用於該主機。
復制代碼
RMAN> show all;
RMAN configuration parameters for database with db_unique_name SCP are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/orabackup/RmanBackupSet/20160223/ctl_%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/proct/12.1.0.2/dbs/snapcf_scp.f'; # default
復制代碼
G、為了能讓RMAN找到恢復文件的位置,我們有兩種途徑可以實現:一是修改RMAN配置以符合當前備份文件所在位置,其次是將RMAN備份文件拷貝到配置文件中設定的位置 (需要參考RMAN的備份日誌)。在第一個方法中,為了讓RMAN知道備份文件位置 /home/OracleBack/rmanbak ,我們使用catalog命令:
復制代碼
RMAN> catalog start with '/home/OracleBack/rmanbak';
Starting implicit crosscheck backup at 06-MAY-16
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=243 device type=DISK
Crosschecked 4 objects
Finished implicit crosscheck backup at 06-MAY-16
Starting implicit crosscheck at 06-MAY-16
using channel ORA_DISK_1
Finished implicit crosscheck at 06-MAY-16
searching for all files in the recovery area
cataloging files...
no files cataloged
searching for all files that match the pattern /home/OracleBack/rmanbak
List of Files Unknown to the Database
=====================================
File Name: /home/OracleBack/rmanbak/scp_20160223_09qukp2u_1_1
File Name: /home/OracleBack/rmanbak/arch_20160223_0bqukp92_1_1
File Name: /home/OracleBack/rmanbak/scp_20160223_0aqukp2u_1_1
File Name: /home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01
File Name: /home/OracleBack/rmanbak/arch_20160223_08qukp2t_1_1
Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /home/OracleBack/rmanbak/scp_20160223_09qukp2u_1_1
File Name: /home/OracleBack/rmanbak/arch_20160223_0bqukp92_1_1
File Name: /home/OracleBack/rmanbak/scp_20160223_0aqukp2u_1_1
File Name: /home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01
File Name: /home/OracleBack/rmanbak/arch_20160223_08qukp2t_1_1
復制代碼
H、對備份集做交叉檢查,否則還原資料庫時可能會報錯
復制代碼
RMAN> crosscheck backup;
using channel ORA_DISK_1
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/orabackup/RmanBackupSet/20160223/arch_20160223_08qukp2t_1_1 RECID=8 STAMP=904553565
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/OracleBack/rmanbak/arch_20160223_08qukp2t_1_1 RECID=16 STAMP=911172456
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/orabackup/RmanBackupSet/20160223/scp_20160223_0aqukp2u_1_1 RECID=9 STAMP=904553567
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/OracleBack/rmanbak/scp_20160223_0aqukp2u_1_1 RECID=14 STAMP=911172456
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/orabackup/RmanBackupSet/20160223/scp_20160223_09qukp2u_1_1 RECID=10 STAMP=904553567
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/OracleBack/rmanbak/scp_20160223_09qukp2u_1_1 RECID=12 STAMP=911172456
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/orabackup/RmanBackupSet/20160223/arch_20160223_0bqukp92_1_1 RECID=11 STAMP=904553762
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/OracleBack/rmanbak/arch_20160223_0bqukp92_1_1 RECID=13 STAMP=911172456
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01 RECID=15 STAMP=911172456
Crosschecked 9 objects
復制代碼
I、通過控制文件獲得表空間及數據文件列表
復制代碼
RMAN> report schema;
RMAN-06139: WARNING: control file is not current for REPORT SCHEMA
Report of database schema for database with db_unique_name SCP
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 0 SYSTEM *** /u01/app/oracle/oradata/scp/system01.dbf
2 0 ZYTK_AC *** /u01/app/oracle/oradata/scp/zytk_ac01.dbf
3 0 SYSAUX *** /u01/app/oracle/oradata/scp/sysaux01.dbf
4 0 UNDOTBS1 *** /u01/app/oracle/oradata/scp/undotbs01.dbf
5 0 EXAMPLE *** /u01/app/oracle/oradata/scp/example01.dbf
6 0 USERS *** /u01/app/oracle/oradata/scp/users01.dbf
7 0 ZYTK_AC *** /u01/app/oracle/oradata/scp/zytk_ac02.dbf
8 0 ZYTK_ID *** /u01/app/oracle/oradata/scp/zytk_id01.dbf
9 0 ZYTK_ID *** /u01/app/oracle/oradata/scp/zytk_id02.dbf
10 0 ZYTK_OP *** /u01/app/oracle/oradata/scp/zytk_op01.dbf
11 0 ZYTK_OP *** /u01/app/oracle/oradata/scp/zytk_op02.dbf
12 0 ZYTK_TEST01 *** /u01/app/oracle/oradata/scp/zytk_test01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 60 TEMP 32767 /u01/app/oracle/oradata/scp/temp01.dbf
注意:restore 的時候不會對temp 表空間進行restore。所以等restore 之後,我們需要手工創建temp表空間。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:639
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:84
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:310
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:793
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:344
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:812
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:366
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:592