匯入catalog database的操作與遇到的相容問題,但有個問題弄不明白

pineapple_lch發表於2014-12-15

背景環境:

1、有個oracle10g的資料庫與catalog在win7作業系統上,同時在catalog庫中註冊了本機的資料庫(db_name=orcl) 與 另一臺伺服器的資料庫(linux+oracle11g db_name=orcl11)

2、現在又新建了個資料庫(linux+oracle11g db_name=timran11),在此庫上建立了catalog庫

3、現在需要把10g上的catalog庫匯入到11g上的catalog庫上。


在timran11庫執行匯入catalog庫

[oracle@timran admin]$ rman catalog

恢復管理器: Release 11.1.0.6.0 - Production on 星期一 12月 15 21:16:18 2014

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

連線到恢復目錄資料庫


RMAN> import catalog rman/rman@orcl10;

啟動 import catalog 於 2014-12-15 21:49:03
連線到源恢復目錄資料庫
PL/SQL 程式包RMAN.DBMS_RCVCAT版本10.02.00.03 (IMPCAT資料庫中) 太低
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: import catalog 命令 (在 12/15/2014 21:49:03 上) 失敗
RMAN-06429: IMPCAT資料庫與該版本的 RMAN 不相容


說明需要匯入的catalog庫的版本太低,catalog目錄的版本要高於或等於任何的目標資料庫,所以需要升級catalog目錄。

升級需要注意的是一定要在target庫上(高版本的庫)同時連線到需要升級的catalog目錄上,再做catalog目錄的升級。
(開始在10g的catalog庫上做了好幾次升級都沒能升級到11g的版本)


RMAN> exit


恢復管理器完成。

[oracle@timran admin]$ rman target / catalog rman/rman@orcl10

恢復管理器: Release 11.1.0.6.0 - Production on 星期一 12月 15 22:02:09 2014

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

連線到目標資料庫: TIMRAN11 (DBID=3416564781)
連線到恢復目錄資料庫
PL/SQL 程式包RMAN.DBMS_RCVCAT版本10.02.00.03 (RCVCAT資料庫中) 太低

RMAN> upgrade catalog

恢復目錄所有者是RMAN
再輸入一次 UPGRADE CATALOG 命令來確認目錄升級

RMAN> upgrade catalog

恢復目錄已升級到版本11.01.00.06
DBMS_RCVMAN 程式包升級為 11.01.00.06 版
DBMS_RCVCAT 程式包升級為 11.01.00.06 版


如果rman catalog刪除了再重新建立catalog目錄,再去import catalog的話,還是需要再重新升級舊版本的catalog的。

catalog目錄已升級成功,接下來接著做匯入catalog database


[oracle@timran admin]$ rman catalog rman/rman@timran11g

恢復管理器: Release 11.1.0.6.0 - Production on 星期一 12月 15 22:40:52 2014

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

連線到恢復目錄資料庫

RMAN> import catalog rman/rman@orcl10;

啟動 import catalog 於 2014-12-15 22:41:14
連線到源恢復目錄資料庫
匯入驗證完成
已從源恢復目錄中登出資料庫
完成 import catalog 於 2014-12-15 22:41:33

說明:匯入catalog以後,原catalog庫上註冊的資料庫資訊就沒有了,狀態為未註冊。

檢視orcl庫上的備份後設資料


[oracle@timran admin]$ rman target sys/centadmin@orcl10 catalog rman/rman

恢復管理器: Release 11.1.0.6.0 - Production on 星期一 12月 15 22:44:18 2014

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

恢復管理器與 TARGET 資料庫不相容: 要求 RMAN 8.0.4.0 到 10.2.0.3
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: 內部恢復管理器程式包初始化失敗
RMAN-06429: TARGET資料庫與該版本的 RMAN 不相容


[oracle@timran admin]$ rman target sys/sys@redhat11g catalog rman/rman

恢復管理器: Release 11.1.0.6.0 - Production on 星期一 12月 15 23:02:02 2014

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

連線到目標資料庫: ORCL11 (DBID=4113020634)
連線到恢復目錄資料庫


RMAN> list backup;

正在啟動全部恢復目錄的 resync
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: list 命令 (在 12/15/2014 23:02:20 上) 失敗
RMAN-03014: 恢復目錄的隱式重新同步失敗
RMAN-03009: full resync 命令 (default 通道上, 在 12/15/2014 23:02:20 上) 失敗
RMAN-20052: 建立 SCN 的資料檔案無效

為什麼會出現上面的這個問題呢?

之後我又重新做了以上一系列的步驟,再檢視11g的後設資料時候就沒有出現上面的這個問題了,不知道當時為什麼會出現這個問題。


有個問題一直弄不明白:

既然匯入catalog databse的目的就是把這些目錄合併為一個目錄(一些catalog針對來自不同Oracle版本的target),那高低重版本之間應該相容啊,匯入時版本不相容還得升級版本。

現在匯入成功了,確因為版本低而不能檢視匯入進來的後設資料,這匯入catalog database的目的到底是什麼,這又有什麼意義呢?還請知道的朋友請予解答,謝謝!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27661381/viewspace-1368925/,如需轉載,請註明出處,否則將追究法律責任。

相關文章