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

XTTS跨平臺傳輸表空間實現數據遷移的方法是什么

159次閱讀
沒有評論

共計 5141 個字符,預計需要花費 13 分鐘才能閱讀完成。

這篇文章主要介紹“XTTS 跨平臺傳輸表空間實現數據遷移的方法是什么”,在日常操作中,相信很多人在 XTTS 跨平臺傳輸表空間實現數據遷移的方法是什么問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”XTTS 跨平臺傳輸表空間實現數據遷移的方法是什么”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

一、 XTTS 概述

XTTS(Cross-Platform transport tablespace)意為跨平臺傳輸表空間。XTTS 實際上是 TTS 的增強功能。TTS 意為傳輸表空間,原理是將業(yè)務表空間從一個庫傳到另一個庫,以達到數據遷移的目的。XTTS 則可以支持跨平臺字節(jié)格式、增量進行傳輸(跨平臺傳輸表空間僅支持 oracle 11g 或以上)。

本文采用 xtts v4 版本,并且使用 RMAN 增量備份的方式進行兩庫之間遷移表空間,以實現最少的停機時間。

二、規(guī)劃

源庫使用 RMAN 增量 xtts 遷移表空間 tbs1 tbs2 到目標庫。整個操作步驟分為準備階段、前滾階段、傳輸階段。

在準備階段中,需要準備一個軟件包:rman_xttconvert_VER4.zip。將這個 zip 包解壓后,里面會有一個 xttdriver.pl 腳本。腳本功能及參數如下:

三、  傳輸限制

ü  主庫操作系統不支持 windows;

ü xtts v4 版本僅支持 oracle 11.2.0.4 或以上

ü  源庫的 compatible 參數必須不能比目標庫大(向下兼容),因此,XTTS 可以用于升級操作;

ü  源庫必須處于歸檔模式;

ü  源庫 RMAN 默認設備類型需要配置為 DISK,且 RMAN 的配置不能設置 COMPRESSED,如果設置了,可能會報以下錯誤:

ORA-19994:cross-platform backup of compressed backups different endianess;

ü  源庫 RMAN 配置不能設置為 BACKUP TYPE TO COPY, 必須配置為 BACKUP TYPE TO BAKCUPSET

ü  源庫 RMAN 配置不能配置默認通道配置為 SBT

ü  被傳輸的表空間必須是 online,并且不存在 offline 數據文件。該表空間必須是 read write;

ü  如果表空間是 read only 模式,那就沒必要使用 RMAN 增量和 DFT 方式遷移了,可以直接用傳統 XTTS 方式進行遷移。

ü ASM 只能被用于目標端最終存放路徑,這個版本 xtts 不能將備份放在 ASM 上;

ü  目標存放備份的位置,oracle 用戶必須有讀寫權限。

四、  思路清晰 1. 準備階段

1)  創(chuàng)建表空間 0 級備份;

2)  源端傳輸備份文件到目標端;

3)  以目標端字節(jié)格式,還原數據文件到目標端;

2. 前滾階段

1)  源庫創(chuàng)建增量備份;

2)  傳輸增量備份和必要文件到目標端;

3)  目標端轉換增量備份,并應用備份為目標庫數據文件;

4)  重復上述操作,直到準備進行最后的表空間傳輸。

3. 傳輸階段

1)  源庫中表空間設置為 read only;

2)  最后一次執(zhí)行前滾階段;

3)  目標端使用 DataPump 導入元數據對象;

4)  目標庫設置表空間為 read write。

五、  操作步驟 1.  初始化設置階段

1)  目標端安裝數據庫軟件并創(chuàng)建數據庫,要求字符集和國家集與源庫保持一致,并且數據庫軟件版本不小于源庫。

2)  確認目標庫創(chuàng)建相應的用戶,并賦予權限

源庫檢查用戶信息

SQL select create user ||username|| identified by || ||password|| || from dba_users where default_tablespace in(TBS1 , TBS2

源庫檢查角色權限

SQL select grant ||GRANTED_ROLE|| to ||grantee|| from dba_role_privs where grantee in(select username from dba_users where default_tablespace in( TBS1 , TBS2

目標庫根據上述查詢結果進行創(chuàng)建。

3)  解壓 rman_xttconvert_VER4.zip 到 /home/oracle/xtts 目錄

$ cd /home/oracle/xtts

$ unzip rman_xttconvert_VER4.zip

4)  配置 xtt.properties 文件

tablespaces=tbs1,tbs2

platformid=13

src_scratch_location=/home/oracle/xtts/bak

dest_datafile_location=+DATA/ORCL/datafile

dest_scratch_location=/home/oracle/xtts/bak

asm_home=/u01/app/11.2.0/grid

asm_sid=+ASM1

parallel=2

參數說明:

源庫、目標庫創(chuàng)建目錄:

$ mkdir -p /home/oracle/xtts/bak

5)  源端將 /home/oracle/xtts 下所有文件傳給目標端

$ scp -r /home/oracle/xtts/* 172.16.70.170:/home/oracle/xtts/

6)  源端和目標端設置 TMPDIR

(oracle 用戶環(huán)境變量)

源庫:$export TMPDIR=/home/oracle/xtts

目標庫:$export TMPDIR=/home/oracle/xtts

2.  準備階段

在這個階段,源端表空間數據文件會備份,備份會傳輸到目標端

1)  源端創(chuàng)建備份

執(zhí)行以下命令

$ perl xttdriver.pl –backup

這個命令會執(zhí)行以下動作:

 –
創(chuàng)建備份,并放置在 src_scratch_location 目錄中

 –
創(chuàng)建 res.txt 文件,放置在 TMPDIR 中

2)  將第一步產生的文件傳到目標端

$ scp res.txt 172.16.70.170:/home/oracle/xtts/

$ scp /home/oracle/xtts/bak/* 172.16.70.170:/home/oracle/xtts/bak/

注:數據文件要傳在目標端 dest_scratch_location 目錄中,res.txt 要傳在目標端 TMPDIR 中。

3)  目標端還原數據文件

執(zhí)行以下命令

$ perl xttdriver.pl –restore

當這一步完成,數據文件將會被傳輸到目標端 dest_datafile_location 最終位置。

3. 前滾階段

在這個階段中,源庫會創(chuàng)建一個增量備份,傳輸到目標庫。并且會轉換為目標庫字節(jié)格式,并應用于目標庫。這個階段可以運行多次,每一個成功的增量備份所花的時間應該比之前的要少,并且使目標庫的數據與源庫更接近。

1)  源庫創(chuàng)建表空間的增量備份集

源庫執(zhí)行以下命令

$ perl xttdriver.pl –backup

這個命令會對傳輸的表空間產生一個增量備份集。備份集位于 src_scratch_location 目錄中。

并且會產生兩個文件:tsbkupmap.txt,incrbackups.txt

2)  傳輸增量備份集到目標端

將上一步驟產生的增量備份集傳輸到目標端 dest_scratch_location 目錄,res.txt 要傳在目標端 TMPDIR 中。

$ scp `cat incrbackups.txt`  172.16.70.170:/home/oracle/xtts/bak/

$ scp res.txt 172.16.70.170:/home/oracle/xtts/

3)  目標端執(zhí)行以下命令

$ perl xttdriver.pl –restore

目標端給表空間數據文件應用增量備份。

4)  重復前滾階段(可選)

如果你需要使目標庫更接近源庫,則需要重復進行前滾階段;如果目標庫已經足夠接近源庫,那就直接進行傳輸階段。

4.  傳輸階段

在傳輸階段,源庫需要被設置為 read only 模式,目標庫會被應用最后一次增量備份。在目標數據文件一致后,將執(zhí)行一次普通的傳輸表空間的步驟,從源庫導出元數據對象并導入目標庫。在此階段結束之前,源庫只能通過 read only 方式訪問數據。

1)  源庫將表空間設置 read only

SQL alter tablespace tbs1 read only;

SQL alter tablespace tbs2 read only;

2)  源庫創(chuàng)建最后一次增量備份集

$ perl xttdriver.pl –backup

注;由于表空間設置為 read only,執(zhí)行備份會警告:

####################################################################

Warning:

——

Warnings found in executing /home/oracle/xtts/backup_Jul28_Tue_14_33_57_440//xttpreparenextiter.sql

####################################################################

Prepare newscn for Tablespaces: TBS2

DECLARE*

ERROR at line 1:

ORA-20001: TABLESPACE(S) IS READONLY OR,

OFFLINE JUST CONVERT, COPY

ORA-06512: at line 284

3)  傳輸至目標端

$ scp `cat incrbackups.txt` 172.16.70.170:/home/oracle/xtts/bak/

$ scp res.txt 172.16.70.170:/home/oracle/xtts/

4)  目標端最后一次應用

$ perl xttdriver.pl –restore

5)  源庫導出元數據

SQL create directory xtts_dir as /home/oracle/xtts/bak

$ expdp system/oracle dumpfile=xtts.dmp directory=xtts_dir logfile=expdp_xtts.log transport_tablespaces=tbs1,tbs2 exclude=statistics;

導出其他對象

$ expdp system/oracle directory=xtts_dir dumpfile=expdp_other_mets.dmp logfile=expdp_other_meta.log content=metadata_only schemas=tbs1,tbs2

6)  將導出的 dmp 文件傳輸到目標端同目錄

$ scp *.dmp 172.16.70.170:/home/oracle/xtts/bak/

7)  目標庫導入元數據

SQL create directory xtts_dir as /home/oracle/xtts/bak

$ impdp system/oracle dumpfile=xtts.dmp directory=xtts_dir transport_tablespace=y datafiles= +DATA/orcl/datafile/tbs1_5.dbf , +DATA/orcl/datafile/tbs2_6.dbf

導入其他對象元數據

$ impdp system/oracle dumpfile=expdp_other_mets.dmp directory=xtts_dir;

8)  目標庫設置表空間 read write;

SQL select tablespace_name,file_name from dba_data_files;

SQL alter tablespace tbs1 read write;

SQL alter tablespace tbs2 read write;

9)  目標庫統計信息手工收集

SQL exec dbms_stats.gather_schema_stats(ownname = tbs1 ,options = GATHER AUTO

SQL exec dbms_stats.gather_schema_stats(ownname = tbs2 ,options = GATHER AUTO

10)  檢查物理和邏輯塊損壞,并驗證數據

RMAN validate tablespace tbs1,tbs2 check logical;

驗證數據略

到此,關于“XTTS 跨平臺傳輸表空間實現數據遷移的方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注丸趣 TV 網站,丸趣 TV 小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-07-27發(fā)表,共計5141字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發(fā)布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 德州市| 北碚区| 工布江达县| 陇南市| 青海省| 新巴尔虎左旗| 涪陵区| 宝丰县| 甘孜| 云安县| 专栏| 小金县| 梁平县| 工布江达县| 昆明市| 溆浦县| 定西市| 洪泽县| 临猗县| 延寿县| 石林| 兰西县| 电白县| 永吉县| 清苑县| 特克斯县| 上思县| 桃江县| 简阳市| 林州市| 宜春市| 邹城市| 永嘉县| 昌宁县| 乌兰浩特市| 孙吴县| 中山市| 榆中县| 徐汇区| 北票市| 桑植县|