rman遷移時(shí)間點(diǎn)恢復(fù)

本來今天請(qǐng)假休息了,晚上8點(diǎn)吃飯的時(shí)候,主管打來電話讓我恢復(fù)一個(gè)數(shù)據(jù)庫,中午12點(diǎn)的時(shí)候開發(fā)人員不當(dāng)操作,其中一個(gè)schema用來接收其他工廠的的數(shù)據(jù),搞亂套了。
~
讓我恢復(fù)到今天中午12點(diǎn)左右的數(shù)據(jù),但是其他schema沒問題,只恢復(fù)這一個(gè)schema,這個(gè)數(shù)據(jù)庫1.7T大小,突然想到這套服務(wù)器是RAC,1節(jié)點(diǎn)數(shù)據(jù)泵中午12點(diǎn)備份,2節(jié)點(diǎn)是rman晚上8點(diǎn)備份,
吃完飯馬上去找1節(jié)點(diǎn)備份,-_-||發(fā)現(xiàn)是空的,備份腳本出問題了。
只能用rman恢復(fù)了~馬上去2節(jié)點(diǎn)拷貝昨天晚上的備份和昨天一天今天一天的歸檔文件,拷貝到新服務(wù)器,開始進(jìn)行恢復(fù),這相當(dāng)于RAC到單節(jié)點(diǎn)的遷移了。

創(chuàng)新互聯(lián)建站專注于盧龍企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,購物商城網(wǎng)站建設(shè)。盧龍網(wǎng)站建設(shè)公司,為盧龍等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)





下面是操作步驟
安裝數(shù)據(jù)庫軟件·······················很快就完成了。
拷貝其他的單實(shí)例數(shù)據(jù)庫的init.ora文件, 啟動(dòng)到nomunt用到
修改init文件內(nèi)數(shù)據(jù)庫名和路徑位置
直接啟動(dòng)

SQL>STARTUP NOMOUNT;

然后rman進(jìn)入rman管理界面恢復(fù)控制文件
恢復(fù)控制文件:

RMAN>RESTORE CONTROLFILE FROM '/oradata/backup/CTCNZQF/cntrl_540843_1_962057699';

注冊(cè)備份目錄到控制文件,-----------把拷貝過來的備份文件目錄注冊(cè)到控制文件,告訴控制文件我的備份在這個(gè)目錄

RMAN> CATALOG START WITH '/oradata/backup/CTCNZQF/';

啟動(dòng)數(shù)據(jù)到MOUNT;

RMAN>alter database mount;

然后開始restore 還原數(shù)據(jù)文件,但是因?yàn)槲襌AC用的是ASM存儲(chǔ)管理的,現(xiàn)在是本地文件,
需要修改數(shù)據(jù)文件名所以要newname一下
使用以下語句查出來所有的數(shù)據(jù)文件,改為本地文件名字

SQL>select 'SET NEWNAME FOR DATAFILE '|| file# ||' to ' ||''''|| name ||''''|| ';' from v$datafile;

然后把結(jié)果復(fù)制在文本上面,修改數(shù)據(jù)文件名字開始進(jìn)行restore


RMAN>run {
allocate channel d1 type disk;   
allocate channel d2 type disk;
allocate channel d3 type disk;
allocate channel d4 type disk;
set newname for datafile 1 to '/oradata/CTCNZQF/system01.dbf';
set newname for datafile 2 to '/oradata/CTCNZQF/sysaux02.dbf';
··························
set newname for datafile 667 to '/oradata/CTCNZQF/ctcnzjf_n648.dbf';
set newname for datafile 668 to '/oradata/CTCNZQF/farmbjhs_idx649.dbf';
restore database;
switch datafile all;
release channel d4;
release channel d3;
release channel d2;
release channel d1;
} 

第一遍執(zhí)行的時(shí)候報(bào)錯(cuò),并且數(shù)據(jù)文件沒有還原到指定位置,不知道原因重新執(zhí)行了一遍,數(shù)據(jù)文件還原了過來。
然后開始recovery

[oracle@stat ~]$ export NLS_DATE_FORMAT='yyyy-mm-dd hh34:mi:ss' 指定時(shí)間格式
RMAN> recover database until time '2017-12-07 12:00:56' 指定恢復(fù)到的時(shí)間

然后報(bào)錯(cuò),提示沒有歸檔
rman遷移時(shí)間點(diǎn)恢復(fù)
但是我歸檔已經(jīng)拷貝到我寫的歸檔的目錄下了,
查了很久之后才發(fā)現(xiàn),因?yàn)榭刂莆募恢罋w檔在那里,只知道備份,如果我不回復(fù)到中午12點(diǎn),直接recovery就可以恢復(fù)到昨晚8點(diǎn)的狀態(tài),所以他要晚上8點(diǎn)到中午12點(diǎn)的歸檔。他找不到,,
那就注冊(cè),吧歸檔路徑信息寫到控制文件內(nèi),沒找到怎么注冊(cè)整個(gè)歸檔目錄。只能一條條粘貼
-----注冊(cè)拷貝過來的歸檔日志到控制文件 把所有最新的拷貝過來的歸檔日志一個(gè)個(gè)注冊(cè)到控制文件內(nèi)。

RMAN>catalog archivelog '/oradata/arch/CTCNZQF/thread_2_seq_92815.28569.962057619';
RMAN>···由于太多就不寫那么多了
RMAN>catalog archivelog '/oradata/arch/CTCNZQF/thread_2_seq_93639.8125.962135299';

然后重新執(zhí)行

RMAN> recover database until time '2017-12-07 12:00:56';

rman遷移時(shí)間點(diǎn)恢復(fù)
這個(gè)圖說明正在恢復(fù)

rman遷移時(shí)間點(diǎn)恢復(fù)
提示已經(jīng)恢復(fù)到12點(diǎn)6分了。說明已經(jīng)恢復(fù)成功了。



然后添加日志組,修改日志組的名字,查找數(shù)據(jù)庫所有日志名字

select 'alter database rename file '''||member||q'[' to '/oradata/fast_recovery_area/CTCNZQF/redo';]' from v$logfile;

修改好名字之后 。。執(zhí)行

alter database rename file '+ASM_REDO1/CTCNZQF/ONLINELOG/group_1.257.954793817' to '/oradata/fast_recovery_area/CTCNZQF/redo1';
alter database rename file '+ASM_REDO2/CTCNZQF/ONLINELOG/group_1.258.954793817' to '/oradata/fast_recovery_area/CTCNZQF/redo2';
··········
alter database rename file '+ASM_REDO1/CTCNZQF/ONLINELOG/group_24.277.955022759' to '/oradata/fast_recovery_area/CTCNZQF/redo31';
alter database rename file '+ASM_REDO2/CTCNZQF/ONLINELOG/group_24.282.955022759' to '/oradata/fast_recovery_area/CTCNZQF/redo32';

完成了~啟動(dòng)數(shù)據(jù)庫

RMAN> alter database open resetlogs;

是要打開數(shù)據(jù)時(shí),重置重做日志,即將重做日志的sequence置零

SQl>create spfile from pfile;       創(chuàng)建spfile文件。

然后發(fā)現(xiàn)alter日志里面一大串報(bào)錯(cuò)·······嚇了一大跳,發(fā)下是臨時(shí)表空間,
rman遷移時(shí)間點(diǎn)恢復(fù)
因?yàn)榛謴?fù)的時(shí)候沒有臨時(shí)文件,所以現(xiàn)在數(shù)據(jù)庫沒有臨時(shí)表空間,重建~~
因?yàn)榭刂莆募涗浾f已經(jīng)存在了temp表空間,所以創(chuàng)建temp1臨時(shí)表空間,設(shè)置temp1為默認(rèn),然后刪除temp,再重新創(chuàng)建TEMP。設(shè)置為默認(rèn)刪除temp
創(chuàng)建temp1表空間

CREATE TEMPORARY TABLESPACE TEMP1 TEMPFILE '/oradata/CTCNZQF/temp01.dbf' SIZE 1024 m
,'/oradata/CTCNZQF/temp02.dbf' SIZE 1024 m,'/oradata/CTCNZQF/temp03.dbf' SIZE 1024 m
AUTOEXTEND ON NEXT 10 m MAXSIZE UNLIMITED;

---修改臨時(shí)表空間為TEMP1

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP1;

刪除TEMP表空間,

DROP TABLESPACE temp1 INCLUDING CONTENTS AND DATAFILES;

創(chuàng)建TEMP表空間:

CREATE TEMPORARY TABLESPACE TEMP1 TEMPFILE '/oradata/CTCNZQF/temp01.dbf' SIZE 1024 m
,'/oradata/CTCNZQF/temp02.dbf' SIZE 1024 m,'/oradata/CTCNZQF/temp03.dbf' SIZE 1024 m
AUTOEXTEND ON NEXT 10 m MAXSIZE UNLIMITED;

修改臨時(shí)表空間為TEMP

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;

刪除TEMP1表空間就可以了

ok歷經(jīng)了兩天終于完成了。restore這一步驟就用了10個(gè)小時(shí)
如果有1節(jié)點(diǎn)的數(shù)據(jù)泵備份,我就可以單獨(dú)恢復(fù)一個(gè)schema,也不用折騰了兩天了。
所以最最最最最最重要的還是備份
更更更更重要的是檢查備份狀態(tài)

剩下的就是讓開發(fā)人員自己去整理數(shù)據(jù)了~(* ̄︶ ̄)

分享題目:rman遷移時(shí)間點(diǎn)恢復(fù)
轉(zhuǎn)載注明:http://muchs.cn/article4/ihchie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)外貿(mào)網(wǎng)站建設(shè)、軟件開發(fā)用戶體驗(yàn)、網(wǎng)站改版、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)