日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

在oracle备份数据库,Oracle在A机器上备份了数据库,到B机器上恢复时,怎么进行下去?...

發(fā)布時(shí)間:2025/4/5 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在oracle备份数据库,Oracle在A机器上备份了数据库,到B机器上恢复时,怎么进行下去?... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近幾天自己寫了個(gè)關(guān)于RMAN異機(jī)恢復(fù)的筆記希望對(duì)你有幫助

不對(duì)的地方還望指正

1,在源數(shù)據(jù)庫(kù)做一次全備(包含控制文件,歸檔日志文件)

rman>run {

>allocate channel d1 type disk;

>allocate channel d2 type disk;

>backup full database format 'f:\orcl2data.bak'

>tag='full' include current controlfile;

>sql 'alter system archive log current';

>backup archivelog all format 'f:\orcl2log.bak' delete all input;

>release channel d2;

>release channel d1;

}

2, 在源數(shù)據(jù)庫(kù)上創(chuàng)建pfile文件,并拷貝至目標(biāo)機(jī)器上任何位置

sql>create pfile=f:\orcl2pfile.ora from spfile;

3,windowx在CMD窗口輸入(linux可取消此步驟)

oradim -new -sid reportvi

set ORACLE_SIDD=reportvi

sqlplus / as sysdba

--使用保存的pfile文件啟動(dòng)到numount狀態(tài)

sql>startup nomount pfile='xxxx'

sql>EXIT

--將剛才備份的f:\orcl2data.bak、f:\orcl2log.bak拷貝至目標(biāo)機(jī)器上XXXXX路徑

rman target/

--恢復(fù)控制文件

rman>restore controlfile from 'YYYY';

--恢復(fù)控制文件之后就可以加載恢復(fù)目錄了

rman>catalog start with 'XXXXXX'

rman>list bakcup

--刪除狀態(tài)為expired 防止恢復(fù)數(shù)據(jù)文件的時(shí)候找到多個(gè)無(wú)效的備份

rman>delete expired backup

--再重新加載恢復(fù)目錄

rman>catalog start with 'XXXXXX'

RMAN> run{

>allocate channel d1 type disk;

>set newname for datafile 1 to 'F:\report_data\reportvi\SYSTEM01.DBF';

>set newname for datafile 2 to 'f:\report_date\reportvi\UNDOTBS01.DBF';

>set newname for datafile 3 to 'f:\report_date\reportvi\SYSAUX01.DBF';

>set newname for datafile 4 to 'f:\report_date\reportvi\USERS01.DBF';

>restore database;

>switch datafile all;

>recover database;

>release channel d1;

}

這里的datafile 1,2,3,4對(duì)應(yīng)的數(shù)據(jù)文件名稱一定要和源庫(kù)上的對(duì)應(yīng)

比如datafile 1對(duì)應(yīng)的system01 恢復(fù)的時(shí)候絕對(duì)不能恢復(fù)成sysaux01

run{

allocate channel d1 type disk;

set newname for datafile 1 to 'F:\report_data\reportvi\SYSTEM01.DBF';

set newname for datafile 2 to 'f:\report_date\reportvi\UNDOTBS01.DBF';

set newname for datafile 3 to 'f:\report_date\reportvi\SYSAUX01.DBF';

set newname for datafile 4 to 'f:\report_date\reportvi\USERS01.DBF';

restore database;

switch datafile all;

recover database;

release channel d1;

}

--在執(zhí)行recover database的時(shí)候會(huì)報(bào)如下錯(cuò)誤 是因?yàn)闆]有源數(shù)據(jù)庫(kù)的redo文件導(dǎo)致

啟動(dòng) recover 于 22-3月 -13

使用通道 ORA_DISK_1

正在開始介質(zhì)的恢復(fù)

無(wú)法找到存檔日志

存檔日志線程 =1 序列=144

MAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: recover 命令 (在 03/22/2013 14:14:54 上) 失敗

RMAN-06054: 介質(zhì)恢復(fù)正請(qǐng)求未知的日志: 線程 1 seq 144 lowscn 3022894

如果要做到與源庫(kù)的數(shù)據(jù)一致,就把源庫(kù)關(guān)閉拷貝3個(gè)redo文件到目標(biāo)數(shù)據(jù)庫(kù)目錄下

sql>alter databse open;

ORA-01589: 要打開數(shù)據(jù)庫(kù)則必須使用 RESETLOGS 或 NORESETLOGS 選項(xiàng)

--剛剛做過(guò)恢復(fù)必須使用resetlogs 選項(xiàng)打開數(shù)據(jù)庫(kù)

sql>alter database open resetlog;

alter database open resetlogs

*

第 1 行出現(xiàn)錯(cuò)誤:

ORA-00344: 無(wú)法重新創(chuàng)建聯(lián)機(jī)日志

'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL2\REDO01.LOG'

ORA-27040: 文件創(chuàng)建錯(cuò)誤, 無(wú)法創(chuàng)建文件

OSD-04002: 無(wú)法打開文件

O/S-Error: (OS 3) 系統(tǒng)找不到指定的路徑。

SQL> alter database rename file 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL2\REDO01.LOG' to 'F:\oracle\product\10.2.0\oradata\orcl2\redo01.log';

數(shù)據(jù)庫(kù)已更改。

SQL> alter database rename file 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL2\REDO02.LOG' to 'F:\oracle\product\10.2.0\oradata\orcl2\redo02.log';

數(shù)據(jù)庫(kù)已更改。

SQL> alter database rename file 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL2\REDO03.LOG' to 'F:\oracle\product\10.2.0\oradata\orcl2\redo03.log';

數(shù)據(jù)庫(kù)已更改。

SQL> alter database open resetlogs;

數(shù)據(jù)庫(kù)已更改。

總結(jié)

以上是生活随笔為你收集整理的在oracle备份数据库,Oracle在A机器上备份了数据库,到B机器上恢复时,怎么进行下去?...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。