利用RMAN遷移表空間碰到的問題(五)

yangtingkun發表於2009-03-16

嘗試10.2的新特性RMANTRANSPORT TABLESPACE進行表空間的遷移過程,其中碰到了不少問題,簡單總結一下。

這一篇介紹利用TRANSPORT TABLESPACE命令匯出的資料檔案在匯入時碰到的ORA-721錯誤。

利用RMAN遷移表空間碰到的問題(一):http://yangtingkun.itpub.net/post/468/480070

利用RMAN遷移表空間碰到的問題(二):http://yangtingkun.itpub.net/post/468/480171

利用RMAN遷移表空間碰到的問題(三):http://yangtingkun.itpub.net/post/468/480222

利用RMAN遷移表空間碰到的問題(四):http://yangtingkun.itpub.net/post/468/480321

 

和前面幾個錯誤不同,這個錯誤發生在匯入階段:

在執行匯入的時候,出現了版本不相容的錯誤:

bash-2.03$ impdp yangtk/yangtk directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf

Import: Release 10.2.0.3.0 - 64bit Production on 星期三, 11 3, 2009 11:14:41

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
已成功載入/解除安裝了主表 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01"
啟動 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01":  yangtk/******** directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf
處理物件型別 TRANSPORTABLE_EXPORT/PLUGTS_BLK
ORA-39123:
資料泵可傳輸的表空間作業中止
ORA-00721:
發行版 10.2.0.3.0 中的更改無法用於發行版 10.2.0.1.0

作業 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01" 因致命錯誤於 11:14:51 停止

嘗試在匯入的時候新增版本資訊,結果仍然報相同的錯誤:

bash-2.03$ impdp yangtk/yangtk directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf version=10.2.0.1.0

Import: Release 10.2.0.3.0 - 64bit Production on 星期三, 11 3, 2009 14:16:43

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
已成功載入/解除安裝了主表 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01"
啟動 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01":  yangtk/******** directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf version=10.2.0.1.0
處理物件型別 TRANSPORTABLE_EXPORT/PLUGTS_BLK
ORA-39123:
資料泵可傳輸的表空間作業中止
ORA-00721:
發行版 10.2.0.3.0 中的更改無法用於發行版 10.2.0.1.0

作業 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01" 因致命錯誤於 14:16:46 停止

bash-2.03$ impdp yangtk/yangtk directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf version=10.2.0.3.0

Import: Release 10.2.0.3.0 - 64bit Production on 星期三, 11 3, 2009 14:16:50

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
已成功載入/解除安裝了主表 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01"
啟動 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01":  yangtk/******** directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf version=10.2.0.3.0
處理物件型別 TRANSPORTABLE_EXPORT/PLUGTS_BLK
ORA-39123:
資料泵可傳輸的表空間作業中止
ORA-00721:
發行版 10.2.0.3.0 中的更改無法用於發行版 10.2.0.1.0

作業 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01" 因致命錯誤於 14:16:53 停止

bash-2.03$ impdp yangtk/yangtk directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf version=compatible

Import: Release 10.2.0.3.0 - 64bit Production on 星期三, 11 3, 2009 14:23:48

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
已成功載入/解除安裝了主表 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01"
啟動 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01":  yangtk/******** directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf version=compatible
處理物件型別 TRANSPORTABLE_EXPORT/PLUGTS_BLK
ORA-39123:
資料泵可傳輸的表空間作業中止
ORA-00721:
發行版 10.2.0.3.0 中的更改無法用於發行版 10.2.0.1.0

作業 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01" 因致命錯誤於 14:23:51 停止

bash-2.03$ impdp yangtk/yangtk directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf version=latest   

Import: Release 10.2.0.3.0 - 64bit Production on 星期三, 11 3, 2009 14:24:27

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
已成功載入/解除安裝了主表 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01"
啟動 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01":  yangtk/******** directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf version=latest
處理物件型別 TRANSPORTABLE_EXPORT/PLUGTS_BLK
ORA-39123:
資料泵可傳輸的表空間作業中止
ORA-00721:
發行版 10.2.0.3.0 中的更改無法用於發行版 10.2.0.1.0

經檢查發現雖然源資料庫和目標資料庫的版本都是10.2.0.3,但是源資料庫的COMPATIBLE引數設定是10.2.0.3,而目標資料庫引數的設定是10.2.0.1。因此要求目標資料庫的相容性設定是10.2.0.3

SQL> alter system set compatible = '10.2.0.3.0' scope = spfile;

系統已更改。

SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE
例程已經關閉。
SQL> startup
ORACLE
例程已經啟動。

Total System Global Area 2147483648 bytes
Fixed Size                  2031480 bytes
Variable Size             520093832 bytes
Database Buffers         1610612736 bytes
Redo Buffers               14745600 bytes
資料庫裝載完畢。
資料庫已經開啟。

修改目標資料庫的COMPATIBLE引數並重啟後,問題解決:

bash-2.03$ impdp yangtk/yangtk directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf              

Import: Release 10.2.0.3.0 - 64bit Production on 星期三, 11 3, 2009 14:32:48

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
已成功載入/解除安裝了主表 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01"
啟動 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01":  yangtk/******** directory=d_output dumpfile=yangtk_meta.dp logfile=imp_yangtk.log transport_datafiles=/data1/oradata/testrac/yangtk01.dbf
處理物件型別 TRANSPORTABLE_EXPORT/PLUGTS_BLK
處理物件型別 TRANSPORTABLE_EXPORT/TABLE
處理物件型別 TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
作業 "YANGTK"."SYS_IMPORT_TRANSPORTABLE_01" 已於 14:32:58 成功完成

這個問題對於RMANTRANSPORT TABLESPACE命令來說比較麻煩,而對於expdp直接進行表空間遷移則沒有這個問題,因為在expdp匯出的時候就可以直接指定VERSION=10.2.0.1.0,這樣在目標資料庫匯入的時,就不會碰到錯誤了。

 

 

 

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

相關文章