IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)數(shù)據(jù)庫(kù)Oracle → 使用Catalog命令注冊(cè)RMAN備份集

使用Catalog命令注冊(cè)RMAN備份集

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(1)

有朋友問(wèn)在Oracle 10G R2版本中:

只有原庫(kù)數(shù)據(jù)文件的RMAN備份集(此備份集不包含控制文件,log,參數(shù)文件等等,單純只有數(shù)據(jù)庫(kù)的所有數(shù)據(jù)文件的備份集),主庫(kù)廢了(可以理解為機(jī)房所在地地震了).
現(xiàn)在要求在新實(shí)例中恢復(fù)這個(gè)RMAN的數(shù)據(jù)文件備份集.
1.原數(shù)據(jù)庫(kù)的表空間名稱,數(shù)據(jù)文件結(jié)構(gòu)\名稱\數(shù)量--未知.
2.原數(shù)據(jù)文件的FILE#也許是不連續(xù)的.(可能5號(hào)文件后6.7.8都空閑,然后是9號(hào)數(shù)據(jù)文件.)
這樣說(shuō)吧,可以說(shuō)你對(duì)原數(shù)據(jù)庫(kù)一無(wú)所知.
我試過(guò)dbms_backup_restore抽取RMAN備份集中數(shù)據(jù)文件,再建立控制文件,確實(shí)可以恢復(fù)但,這個(gè)方法有局限性,不夠完美.
抽取的時(shí)候需要指明FILE#,NEW_DATAFILE_NAME...
可以說(shuō)抽取是嘗試的抽取.FILE#=5,6,7這樣一個(gè)一個(gè)的嘗試,這就對(duì)多數(shù)據(jù)文件的庫(kù)很麻煩,而且文件號(hào)不連續(xù)會(huì)報(bào)錯(cuò)停止抽取動(dòng)作.下一條抽取動(dòng)作就無(wú)法繼續(xù)執(zhí)行.要手動(dòng)關(guān)閉通道后再次抽取.
迫切的想知道如何查出RMAN的備份集中的數(shù)據(jù)文件信息.
想知道如何收集全建立出支持這個(gè)備份集的控制文件.
?


我們知道Oracle10g豐富了catalog命令,使用這個(gè)命令,可以將RMAN的備份集注冊(cè)到控制文件(或者目錄數(shù)據(jù)庫(kù)中)
類似的一系列命令有:
?

CATALOG ARCHIVELOG '?/oradata/archive1_30.dbf', '?/oradata/archive1_31.dbf',
? ? ? ? ? ? ? ? ? '?/oradata/archive1_32.dbf';

CATALOG DATAFILECOPY '?/oradata/users01.bak' LEVEL 0;

CATALOG START WITH '/tmp/arch_logs';

CATALOG RECOVERY AREA NOPROMPT;

CATALOG BACKUPPIECE '?/oradata/01dmsbj4_1_1.bcp';


但是注意這些命令是有限制的,其中的一個(gè)限制是不能注冊(cè)備份文件到不同的數(shù)據(jù)庫(kù):
You cannot use CATALOG to catalog a file that belongs to a different database.

也就是說(shuō)你至少還需要原數(shù)據(jù)庫(kù)的控制文件。

否則就會(huì)出現(xiàn)類似如下的錯(cuò)誤:
?

[oracle@standby ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 22 01:02:56 2008
Copyright (c) 1982, 2005, Oracle.? All rights reserved.
connected to target database (not started)
RMAN> set dbid=1490303982
executing command: SET DBID
RMAN> startup mount;
Oracle instance started
database mounted
Total System Global Area? ? 285212672 bytes
Fixed Size? ? ? ? ? ? ? ? ? ? 1218992 bytes
Variable Size? ? ? ? ? ? ? ? 92276304 bytes
Database Buffers? ? ? ? ? ? 188743680 bytes
Redo Buffers? ? ? ? ? ? ? ? ? 2973696 bytes
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of startup command at 05/22/2008 01:03:08
RMAN-06189: current DBID 1490303982 does not match target mounted database (1492784050)


是否沒有辦法呢?當(dāng)然是有的,我們可以先修改一個(gè)恢復(fù)數(shù)據(jù)庫(kù)的DBID,然后再來(lái)注冊(cè)這個(gè)備份集。
修改DBID可以使用之前我曾經(jīng)寫過(guò)的,Oracle10g 的 dbms_backup_restore 包。

修改之后就可以用來(lái)注冊(cè)了,看看我注冊(cè)一個(gè)種子數(shù)據(jù)庫(kù)備份集的過(guò)程:
?

C:\>rman target /

恢復(fù)管理器: Release 10.2.0.3.0 - Production on 星期三 5月 21 22:25:34 2008
Copyright (c) 1982, 2005, Oracle.? All rights reserved.

已連接到目標(biāo)數(shù)據(jù)庫(kù) (未啟動(dòng))

RMAN> startup mount;

Oracle 實(shí)例已啟動(dòng)
數(shù)據(jù)庫(kù)已裝載

系統(tǒng)全局區(qū)域總計(jì)? ? 251658240 字節(jié)

Fixed Size? ? ? ? ? ? ? ? ? ? 1289988 字節(jié)
Variable Size? ? ? ? ? ? ? ? 171966716 字節(jié)
Database Buffers? ? ? ? ? ? ? 75497472 字節(jié)
Redo Buffers? ? ? ? ? ? ? ? ? 2904064 字節(jié)

RMAN> catalog start with 'd:\obak';

使用目標(biāo)數(shù)據(jù)庫(kù)控制文件替代恢復(fù)目錄
搜索與樣式 d:\obak 匹配的所有文件

數(shù)據(jù)庫(kù)未知文件的列表
=====================================
文件名: D:\obak\FULL20080520
文件名: D:\obak\Seed_Database.dfb

是否確實(shí)要將上述文件列入目錄 (輸入 YES 或 NO)? YES
正在編制文件目錄...
目錄編制完畢

已列入目錄的文件的列表
=======================
文件名: D:\obak\Seed_Database.dfb

未列入目錄的文件的列表
=======================================
文件名: D:\obak\FULL20080520
? RMAN-07518: 原因: 外部數(shù)據(jù)庫(kù)文件 DBID: 1052376487? 數(shù)據(jù)庫(kù)名: EEYGLE

RMAN> list backup;


備份集列表
===================

BS 關(guān)鍵字? 類型 LV 大小
------- ---- -- ----------
2? ? ? Full? ? 91.88M
? 備份集 2 中的數(shù)據(jù)文件列表
? 文件 LV 類型 Ckp SCN? ? Ckp 時(shí)間? 名稱
? ---- -- ---- ---------- ---------- ----
? 1? ? ? Full 538267? ? 19-11月-06 D:\ORACLE\ORADATA\EYGLE\DATAFILE\O1_MF_SYSTEM_3V7YLH8S_.DBF
? 2? ? ? Full 538267? ? 19-11月-06 D:\ORACLE\ORADATA\EYGLE\DATAFILE\O1_MF_UNDOTBS1_3V7YLHHN_.DBF
? 3? ? ? Full 538267? ? 19-11月-06 D:\ORACLE\ORADATA\EYGLE\DATAFILE\O1_MF_SYSAUX_3V7YLH9R_.DBF
? 4? ? ? Full 538267? ? 19-11月-06 D:\ORACLE\ORADATA\EYGLE\DATAFILE\O1_MF_USERS_3V7YLHJ3_.DBF

? 備份集 副本號(hào) 1 屬于備份集 2
? 設(shè)備類型 經(jīng)過(guò)時(shí)間 完成時(shí)間? 壓縮標(biāo)記
? ----------- ------------ ---------- ---------- ---
? DISK? ? ? ? 00:00:00? ? 21-5月 -08 YES

? ? 備份集 2 副本號(hào) 1的備份段列表
? ? BP 關(guān)鍵字? Pc# 狀態(tài)? ? ? 段名稱
? ? ------- --- ----------- ----------
? ? 1? ? ? 1? AVAILABLE? D:\OBAK\SEED_DATABASE.DFB

? 備份集 副本號(hào) 2 屬于備份集 2
? 設(shè)備類型 經(jīng)過(guò)時(shí)間 完成時(shí)間? 壓縮標(biāo)記
? ----------- ------------ ---------- ---------- ---
? DISK? ? ? ? 00:00:00? ? 21-5月 -08 YES

? ? 備份集 2 副本號(hào) 2的備份段列表
? ? BP 關(guān)鍵字? Pc# 狀態(tài)? ? ? 段名稱
? ? ------- --- ----------- ----------
? ? 2? ? ? 1? AVAILABLE? D:\OBAK\SEED_DATABASE.DFB

RMAN>

關(guān)鍵詞標(biāo)簽:Catalog命令

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句 ORACLE和SQL語(yǔ)法區(qū)別歸納(1) oracle grant 授權(quán)語(yǔ)句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法