共計 7914 個字符,預計需要花費 20 分鐘才能閱讀完成。
這篇文章主要介紹 Oracle 12C 如何使用備份集執行只讀表空間的跨平臺傳輸,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
使用帶用 for transport 或 to platform 子句的 backup 命令來創建備份集來將只讀表空間從一個平臺傳輸到另一個平臺。當傳輸只讀表空間時,必須要導出這些表空間的元數據。這些元數據會在將表空間附加到目標數據庫時需要使用。當跨平臺傳輸表空間時,源平臺與目標平臺可以使用不同的字節序。可以還原跨平臺備份中的所有數據文件或表空間或者它們中的一部分。在還原這些對象之后,可以為被還原的數據文件指定路徑與名稱。
使用備份集執行跨平臺傳輸表空間的先決條件
. 源數據庫與目標數據庫的 spfile 參數文件中的 compatible 參數必須設置為 12.0.0 或更高版本。
. 被傳輸的表空間必須是自包含。執行 dbms_tts.transport_set_check 過程來檢查依賴性。如果 transport_set_violations 視圖包含指定表空間的相關行記錄,那么必須在創建跨平臺備份之前解決這種依賴性。
. 被傳輸的表空間必須是只讀模式,除非在 backup 命令中使用了 allow inconsistent 子句。
下面的例子將 Linux 平臺上的 RAC CDB 中的 jypdb 的表空間 tts 與 cs 傳輸到 windows 平臺上的單實例 CDB 的 jypdb 數據庫中。使用備份集對只讀表空間執行跨平臺傳輸的操作如下:
1. 檢查源數據庫與目標數據庫的 compatible 參數是否設置為 12.0.0 或更高版本
源數據庫
SQL show parameter compatible
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
compatible string 12.2.0
noncdb_compatible boolean FALSE
目標數據庫
SQL show parameter compatible
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
compatible string 12.2.0
noncdb_compatible boolean FALSE
2. 對源數據庫中的要被傳輸的表空間 tts 與 cs 執行自包含檢查
SQL alter session set container=jypdb;
Session altered.
SQL exec sys.dbms_tts.transport_set_check(TTS,CS ,true);
PL/SQL procedure successfully completed.
SQL select * from sys.transport_set_violations;
no rows selected
3. 檢查源平臺與目標平臺的字節序
源平臺
SQL select d.platform_name,endian_format from v$transportable_platform tp,v$database d where tp.platform_name=d.platform_name;
PLATFORM_NAME ENDIAN_FORMAT
----------------------------------------------------------------------------------------------------- --------------
Linux x86 64-bit Little
目標平臺
SQL select d.platform_name,endian_format from v$transportable_platform tp,v$database d where t
PLATFORM_NAME ENDIAN_FORMAT
-------------------------------------------------------------------------------- --------------
Microsoft Windows x86 64-bit Little
4. 將要被傳輸的表空間 (tts,cs) 設置為只讀狀態
SQL alter tablespace tts read only;
Tablespace altered.
SQL alter tablespace cs read only;
Tablespace altered.
9 rows selected.
5. 給 RMAN 備份輸出文件選擇命名方法, 使用 backup 命令的 format 子句來為備份輸出文件選擇輸出方法。
6. 啟動 RMAN 連接到源數據庫 (整個 RAC CDB) 并將重啟源數據庫并以只讀方式打開
[oracle@jytest1 ~]$ rman target sys/abcd@jy catalog rco/abcd@jypdb_173
Recovery Manager: Release 12.2.0.1.0 - Production on Mon Feb 5 23:22:24 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
connected to target database: JY (DBID=979425723)
connected to recovery catalog database
7. 在 backup 命令中使用 for transport 或 to platform 子句來備份表空間。下面的例子對表空間 tts 與 cs 創建跨平臺傳輸備份。備份可以被還原到 Microsoft Windows IA (64-bit)平臺。Data Pump 導出 dump 文件包含了附加表空間到目標數據庫中所需要的元數據。備份文件與 dump 文件存儲在 /ora_backup/tts 目錄中。
RMAN backup to platform Microsoft Windows x86 64-bit format /ora_backup/tts/trans_ts.bck datapump format /ora_backup/tts/trans_ts_dmp.bck tablespace JYPDB: TTS ,JYPDB: CS
Starting backup at 05-FEB-18
using channel ORA_DISK_1
Running TRANSPORT_SET_CHECK on specified tablespaces
TRANSPORT_SET_CHECK completed successfully
Performing export of metadata for specified tablespaces...
EXPDP Starting SYS . TRANSPORT_EXP_JY_xput :
EXPDP Processing object type TRANSPORTABLE_EXPORT/INDEX_STATISTICS
EXPDP Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS
EXPDP Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
EXPDP Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
EXPDP Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
EXPDP Processing object type TRANSPORTABLE_EXPORT/TABLE
EXPDP Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX
EXPDP Master table SYS . TRANSPORT_EXP_JY_xput successfully loaded/unloaded
EXPDP ******************************************************************************
EXPDP Dump file set for SYS.TRANSPORT_EXP_JY_xput is:
EXPDP /u01/app/oracle/product/12.2.0/db/dbs/backup_tts_JY_38873.dmp
EXPDP ******************************************************************************
EXPDP Datafiles required for transportable tablespace CS:
EXPDP +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/cs.294.966380783
EXPDP Datafiles required for transportable tablespace TTS:
EXPDP +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/tts.257.966380353
EXPDP Job SYS . TRANSPORT_EXP_JY_xput successfully completed at Mon Feb 5 23:57:57 2018 elapsed 0 00:03:08
Export completed
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00022 name=+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/tts.257.966380353
input datafile file number=00023 name=+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/cs.294.966380783
channel ORA_DISK_1: starting piece 1 at 05-FEB-18
channel ORA_DISK_1: finished piece 1 at 05-FEB-18
piece handle=/ora_backup/tts/trans_ts.bck tag=TAG20180205T235319 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting full datafile backup set
input Data Pump dump file=/u01/app/oracle/product/12.2.0/db/dbs/backup_tts_JY_38873.dmp
channel ORA_DISK_1: starting piece 1 at 05-FEB-18
channel ORA_DISK_1: finished piece 1 at 05-FEB-18
piece handle=/ora_backup/tts/trans_ts_dmp.bck tag=TAG20180205T235319 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 05-FEB-18
starting full resync of recovery catalog
full resync complete
total 2472
-rw-r----- 1 oracle asmadmin 2318336 Feb 5 17:57 trans_ts.bck
-rw-r----- 1 oracle asmadmin 212992 Feb 5 17:57 trans_ts_dmp.bck
因為在 backup 命令中使用了 to platform 子句,因此將數據文件轉換成目標平臺字節序的操作在源平臺執行。
8. 將 backup 命令生成的備份集與 Data Pump 導出的 dump 文件傳輸到目標平臺的 D:\app\oracle\oradata\tts 目錄中
9. 使用 rman 連接到目標數據庫(單實例 CDB 中的 JYPDB)
C:\Users\Administrator rman target sys/abcd@jypdb
恢復管理器: Release 12.2.0.1.0 - Production on 星期一 2 月 5 00:22:31 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
已連接到目標數據庫: JY:JYPDB (DBID=4203494064)
10. 使用有 foreign tablespace 子句的 restore 命令來還原從源平臺傳輸過來的備份集
RMAN restore foreign tablespace TTS,CS to new from backupset D:\app\oracle\oradata\tts\trans_ts.bck dump file from backupset D:\app\oracle\oradata\tts\trans_ts_dmp.bck
從位于 06- 2 月 -18 的 restore 開始
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=8 設備類型 =DISK
通道 ORA_DISK_1: 正在開始還原數據文件備份集
通道 ORA_DISK_1: 正在指定從備份集還原的數據文件
通道 ORA_DISK_1: 正在還原外部表空間 TTS 中的所有文件
通道 ORA_DISK_1: 正在還原外部表空間 CS 中的所有文件
通道 ORA_DISK_1: 正在讀取備份片段 D:\app\oracle\oradata\tts\trans_ts.bck
通道 ORA_DISK_1: 將外部文件 22 還原到 D:\APP\ORACLE\ORADATA\JY\5F9AC6865E87549FE053AB828A0ADE94\DATAFILE\O1_MF_TTS_F7K17RGW_.DBF
通道 ORA_DISK_1: 將外部文件 23 還原到 D:\APP\ORACLE\ORADATA\JY\5F9AC6865E87549FE053AB828A0ADE94\DATAFILE\O1_MF_CS_F7K17RHC_.DBF
通道 ORA_DISK_1: 外部片段句柄 = D:\app\oracle\oradata\tts\trans_ts.bck
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:00:02
通道 ORA_DISK_1: 正在開始還原數據文件備份集
通道 ORA_DISK_1: 正在指定從備份集還原的數據文件
通道 ORA_DISK_1: 正在將數據泵轉儲文件還原到 D:\app\oracle\product\12.2.0\dbhome_1/dbs/backup_tts_JY_38586.dmp
通道 ORA_DISK_1: 正在讀取備份片段 D:\app\oracle\oradata\tts\trans_ts_dmp.bck
通道 ORA_DISK_1: 外部片段句柄 = D:\app\oracle\oradata\tts\trans_ts_dmp.bck
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:00:02
正在執行元數據導入...
IMPDP 已成功加載 / 卸載了主表 SYS . TSPITR_IMP_JY_pfCp
IMPDP 啟動 SYS . TSPITR_IMP_JY_pfCp :
IMPDP 處理對象類型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
IMPDP 處理對象類型 TRANSPORTABLE_EXPORT/TABLE
IMPDP 處理對象類型 TRANSPORTABLE_EXPORT/INDEX/INDEX
IMPDP 處理對象類型 TRANSPORTABLE_EXPORT/INDEX_STATISTICS
IMPDP 處理對象類型 TRANSPORTABLE_EXPORT/TABLE_STATISTICS
IMPDP 處理對象類型 TRANSPORTABLE_EXPORT/STATISTICS/MARKER
IMPDP 處理對象類型 TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
IMPDP 作業 SYS . TSPITR_IMP_JY_pfCp 已于 星期二 2 月 6 00:24:02 2018 elapsed 0 00:00:33 成功完成
在 05- 2 月 -18 完成了 restore
11. 在目標數據庫中查詢表 tts.t1 與 cs.t2 記錄是否與源數據庫中一致,如果一致說用表空間 tts 與 cs 跨平臺傳輸成功
源數據庫
SQL alter session set container=jypdb;
會話已更改。SQL select count(*) from tts.t1;
COUNT(*)
----------
45
SQL select count(*) from cs.t2;
COUNT(*)
----------
46
目標數據庫
SQL alter session set container=jypdb;
會話已更改。SQL select count(*) from tts.t1;
COUNT(*)
----------
45
SQL select count(*) from cs.t2;
COUNT(*)
----------
46
以上是“Oracle 12C 如何使用備份集執行只讀表空間的跨平臺傳輸”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!