久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle 12C如何使用備份集執行只讀表空間的跨平臺傳輸

158次閱讀
沒有評論

共計 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 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-24發表,共計7914字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 封开县| 获嘉县| 田阳县| 利川市| 平遥县| 玉山县| 中山市| 东辽县| 遵义县| 沐川县| 安国市| 革吉县| 南康市| 海林市| 祥云县| 砀山县| 达日县| 洪洞县| 兰州市| 明星| 枝江市| 昌邑市| 子长县| 靖西县| 略阳县| 泰宁县| 应城市| 凌源市| 酉阳| 湟源县| 明星| 白城市| 潼南县| 玉屏| 寿阳县| 汾西县| 泉州市| 建瓯市| 信丰县| 黄骅市| 清水县|