Oracle備份恢復(fù)中熱備份恢復(fù)及異機(jī)恢復(fù)的原理是什么,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬主機(jī)、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、青川網(wǎng)站維護(hù)、網(wǎng)站推廣。
原理:
數(shù)據(jù)庫(kù)必須運(yùn)行在歸檔模式下,否則備份沒(méi)有意義。備份前凍結(jié)塊頭,使scn號(hào)不變化,然后cp物理文件,最后解凍塊頭。此過(guò)程dml語(yǔ)句可以正常執(zhí)行,動(dòng)作被寫(xiě)在日志文件里面,當(dāng)解凍scn號(hào)后,日志文件中內(nèi)容會(huì)自動(dòng)寫(xiě)入數(shù)據(jù)文件。
流程:
1、全庫(kù)備份:
1)alter database begin backup;
2)cp物理文件
3)alter database end backup;
腳本:
spool /u01/oracle/jiaoben/bf2.sql
select 'ho cp '||name||' /u01/oracle/rebei/' from v$datafile;
spool off
alter database backup controlfile to '/u01/oracle/rebei/control.ctl';
create pfile='/u01/oracle/rebei/initorcl.ora' from spfile;
alter database begin backup;
@/u01/oracle/jiaoben/bf2.sql
alter database end backup;
2、表空間級(jí)備份:
1)alter tablespace <tablespace_name> begin backup;
2)cp表空間下數(shù)據(jù)文件
3)alter tablespace <tablespace_name> end backup;
腳本:
spool /u01/oracle/home/thot.sql
select 'alter tablespace '||tablespace_name||' begin backup;'||chr(10)||'ho cp '||file_name||' /u01/oracle/home/'||chr(10)||'alter tablespace '||tablespace_name||' end backup;'||chr(10) from dba_data_files;
spool off
start /u01/oracle/home/thot.sql
ho rm /u01/oracle/home/thot.sql
alter database backup controlfile to '/u01/oracle/home/control.ctl';
create pfile='/u01/oracle/home/initorcl.ora' from spfile;
恢復(fù):能脫機(jī)的數(shù)據(jù)文件即脫機(jī)恢復(fù),不能脫機(jī)的啟動(dòng)到mount階段恢復(fù)。
1、users表空間丟失還原方法:
1)將數(shù)據(jù)文件脫機(jī)
2)物理cp備份文件
3)recover database
4)將數(shù)據(jù)文件聯(lián)機(jī)
2、system表空間丟失還原方法:
1)啟動(dòng)數(shù)據(jù)庫(kù)到mount狀態(tài)
2)物理cp備份文件
3)recover database
4)alter database open;
3、所有數(shù)據(jù)文件丟失:
1)shutdown abort
2)startup mount
3)cp所有備份物理文件到數(shù)據(jù)文件目錄
4)recover database
5)alter database open
4、日志文件丟失
1)shutdown immediate
2)startup(自動(dòng)掛?。?/p>
3)recover database until cancel
4)alter database open resetlogs
5、控制文件丟失恢復(fù)
1)shutdown abort
2)startup(自動(dòng)掛?。?/p>
3)將control文件cp回原位置
4)alter database mount
5)recover database using backup controlfile; > auto
6)recover database using backup controlfile; > 分別輸入在線日志路徑,回車(chē)
7)alter database open resetlogs
6、控制文件、日志文件、數(shù)據(jù)文件丟失
1)shutdown abort
2)startup(自動(dòng)掛?。?/p>
3)將control文件cp回原位置
4)alter database mount
5)cp所有數(shù)據(jù)文件回原位置
6)recover database using backup controlfile until cancel
7)alter database open resetlogs
異機(jī)遷移恢復(fù)+小版本升級(jí):(oracle 11g 11.2.0.1~oracle 11g 11.2.0.4)
1、將熱備份文件及歸檔日志傳至目標(biāo)機(jī)器
2、startup pfile='/備份pfile文件' mount;
3、recover database using backup controlfile until cancel;
4、alter database open upgrade resetlogs;
該升級(jí)方法將丟失最近在線日志信息。
自己做的異機(jī)恢復(fù)實(shí)戰(zhàn)
LINUX操作系統(tǒng)REDHAT6.5
ORACLE是11.2.0.4
源庫(kù)做一個(gè)RMAN備份
復(fù)制備份文件到測(cè)試庫(kù)
在測(cè)試庫(kù)的操作:
記得先將備份文件放到一個(gè)oracle用戶(hù)有權(quán)限讀寫(xiě)的文件夾,然后把備份文件都授權(quán)oracle用戶(hù)可訪問(wèn)
chown oracle.oinstall full_bak*
其實(shí)就是改改用戶(hù)所屬就好
修改參數(shù)文件
vi /opt/pfile.ora
limsdb.__db_cache_size=4026531840
limsdb.__java_pool_size=33554432
limsdb.__large_pool_size=50331648
limsdb.__oracle_base='/home/db/u01/app/oracle'#ORACLE_BASE set from environment
limsdb.__pga_aggregate_target=1677721600
limsdb.__sga_target=5033164800
limsdb.__shared_io_pool_size=0
limsdb.__shared_pool_size=872415232
limsdb.__streams_pool_size=16777216
*.audit_file_dest='/home/db/u01/app/oracle/admin/limstest/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/home/db/u01/app/oracle/oradata/limstest/control01.ctl','/home/db/u01/app/oracle/fast_recovery_area/limstest/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='limsdb'
*.db_recovery_file_dest='/home/db/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/home/db/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=limsdbXDB)'
*.open_cursors=300
*.pga_aggregate_target=1672478720
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=5017436160
*.undo_tablespace='UNDOTBS1'
export ORACLE_SID=limsdb
rman target /
startup nomount pfile='/opt/pfile20190926.ora';
restore controlfile from '/opt/full_cont_LIMSDBxx_876748607_20190925_7356_1';
mount database;
catalog start with '/opt/bak/';
去 源庫(kù)查詢(xún)下數(shù)據(jù)文件路徑select file#,name from v$datafile;
run{
set newname for datafile '+DATA/limsdb/datafile/system.256.942403651' to '/home/db/u01/app/oracle/oradata/limstest/system01.dbf';
set newname for datafile '+DATA/limsdb/datafile/sysaux.257.942403655' to '/home/db/u01/app/oracle/oradata/limstest/sysaux01.dbf';
set newname for datafile '+DATA/limsdb/datafile/undotbs1.258.942403659' to '/home/db/u01/app/oracle/oradata/limstest/undotbs1.dbf';
set newname for datafile '+DATA/limsdb/datafile/users.259.942403659' to '/home/db/u01/app/oracle/oradata/limstest/users.dbf';
set newname for datafile '+DATA/limsdb/datafile/undotbs2.271.942403927' to '/home/db/u01/app/oracle/oradata/limstest/undotbs2.dbf';
set newname for datafile '+DATA/limsdb/datafile/byhealth_data.281.943025409' to '/home/db/u01/app/oracle/oradata/limstest/limsdata01.dbf';
set newname for datafile '+DATA/limsdb/datafile/byhealth_data.282.943025591' to '/home/db/u01/app/oracle/oradata/limstest/limsdata02.dbf';
set newname for datafile '+DATA/limsdb/datafile/byhealth_data.283.943025709' to '/home/db/u01/app/oracle/oradata/limstest/limsdata03.dbf';
set newname for datafile '+DATA/limsdb/datafile/byhealth_data.284.943025841' to '/home/db/u01/app/oracle/oradata/limstest/limsdata04.dbf';
set newname for datafile '+DATA/limsdb/datafile/byhealth_data.285.943025965' to '/home/db/u01/app/oracle/oradata/limstest/limsdata05.dbf';
set newname for datafile '+DATA/limsdb/datafile/byhealth_data.286.943026085' to '/home/db/u01/app/oracle/oradata/limstest/limsdata06.dbf';
set newname for datafile '+DATA/limsdb/datafile/byhealth_data.287.943026201' to '/home/db/u01/app/oracle/oradata/limstest/limsdata07.dbf';
set newname for datafile '+DATA/limsdb/datafile/byhealth_data.288.943026369' to '/home/db/u01/app/oracle/oradata/limstest/limsdata08.dbf';
set newname for datafile '+DATA/limsdb/datafile/byhealth_data.289.943026563' to '/home/db/u01/app/oracle/oradata/limstest/limsdata09.dbf';
set newname for datafile '+DATA/limsdb/datafile/byhealth_data.290.943026913' to '/home/db/u01/app/oracle/oradata/limstest/limsdata10.dbf';
restore database;
}
export ORACLE_SID=limsdb
sqlplus / as sysdba
alter database open;
alter database open resetlogs;
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '+DATA/limsdb/datafile/system.256.942403651'
Alter database rename file '+DATA/limsdb/datafile/system.256.942403651' to '/home/db/u01/app/oracle/oradata/limstest/system01.dbf';
Alter database rename file '+DATA/limsdb/datafile/sysaux.257.942403655' to '/home/db/u01/app/oracle/oradata/limstest/sysaux01.dbf';
Alter database rename file '+DATA/limsdb/datafile/undotbs1.258.942403659' to '/home/db/u01/app/oracle/oradata/limstest/undotbs1.dbf';
Alter database rename file '+DATA/limsdb/datafile/users.259.942403659' to '/home/db/u01/app/oracle/oradata/limstest/users.dbf';
Alter database rename file '+DATA/limsdb/datafile/undotbs2.271.942403927' to '/home/db/u01/app/oracle/oradata/limstest/undotbs2.dbf';
Alter database rename file '+DATA/limsdb/datafile/byhealth_data.281.943025409' to '/home/db/u01/app/oracle/oradata/limstest/limsdata01.dbf';
Alter database rename file '+DATA/limsdb/datafile/byhealth_data.282.943025591' to '/home/db/u01/app/oracle/oradata/limstest/limsdata02.dbf';
Alter database rename file '+DATA/limsdb/datafile/byhealth_data.283.943025709' to '/home/db/u01/app/oracle/oradata/limstest/limsdata03.dbf';
Alter database rename file '+DATA/limsdb/datafile/byhealth_data.284.943025841' to '/home/db/u01/app/oracle/oradata/limstest/limsdata04.dbf';
Alter database rename file '+DATA/limsdb/datafile/byhealth_data.285.943025965' to '/home/db/u01/app/oracle/oradata/limstest/limsdata05.dbf';
Alter database rename file '+DATA/limsdb/datafile/byhealth_data.286.943026085' to '/home/db/u01/app/oracle/oradata/limstest/limsdata06.dbf';
Alter database rename file '+DATA/limsdb/datafile/byhealth_data.287.943026201' to '/home/db/u01/app/oracle/oradata/limstest/limsdata07.dbf';
Alter database rename file '+DATA/limsdb/datafile/byhealth_data.288.943026369' to '/home/db/u01/app/oracle/oradata/limstest/limsdata08.dbf';
Alter database rename file '+DATA/limsdb/datafile/byhealth_data.289.943026563' to '/home/db/u01/app/oracle/oradata/limstest/limsdata09.dbf';
Alter database rename file '+DATA/limsdb/datafile/byhealth_data.290.943026913' to '/home/db/u01/app/oracle/oradata/limstest/limsdata10.dbf';
Select group#,member from v$logfile order by 1;
alter database clear logfile group 9;
alter database clear logfile group 10;
alter database clear logfile group 11;
alter database clear logfile group 12;
alter database clear logfile group 13;
alter database clear logfile group 14;
alter database clear logfile group 15;
alter database clear logfile group 16;
alter database clear logfile group 17;
alter database clear logfile group 18;
在此之前記得先設(shè)置spfile
create spfile from pfile='/tmp/initorcl1.ora';
alter database open resetlogs;
recover database using backup controlfile;
auto
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
recover database using backup controlfile until cancel;
cancel
alter database open resetlogs;
startup force;
alter database open resetlogs;
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
startup force;
關(guān)于Oracle備份恢復(fù)中熱備份恢復(fù)及異機(jī)恢復(fù)的原理是什么問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
文章題目:Oracle備份恢復(fù)中熱備份恢復(fù)及異機(jī)恢復(fù)的原理是什么
網(wǎng)頁(yè)地址:http://bm7419.com/article12/pssjgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
營(yíng)銷(xiāo)型網(wǎng)站建設(shè)知識(shí)