中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣從Oracle到GaussDB的數據遷移

發布時間:2021-11-30 09:58:49 來源:億速云 閱讀:285 作者:柒染 欄目:數據庫

今天就跟大家聊聊有關怎樣從Oracle到GaussDB的數據遷移,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

 一、背景

最近某省運營商O域核心業務系統的數據庫計劃從Oracle遷移至GaussDB,數據庫服務器也從SUN小型機轉到華為TaishanARM服務器。本人有幸參與其中,主要負責Oracle到GaussDB的數據遷移環節。數據遷移前期使用Datasync工具進行導數測試,但由于導數效率無法滿足生產系統的停機要求,而華為這個時候正好推出新的遷移工具—SDR,于是利用SDR進行了一輪新的遷移測試。

1、環境信息

1)硬件配置信息

目標庫Taishan服務器硬件配置信息如下所示:

怎樣從Oracle到GaussDB的數據遷移

源庫Sun小機硬件配置如下所示:

怎樣從Oracle到GaussDB的數據遷移

2)軟件配置信息

Taishan服務器操作系統及數據庫軟件版本如下所示:

怎樣從Oracle到GaussDB的數據遷移

源庫Sun小機操作系統及數據庫軟件版本如下所示:

怎樣從Oracle到GaussDB的數據遷移

由于本次文章的重點不在于環境的搭建,所以操作系統及GaussDB的安裝過程就不細述。

2、SDR產品描述

GaussDB SDR(Swift Data  Replicator)是一款基于日志的實時CDC軟件,支持對多種關系型數據庫交易數據的實時捕獲、轉換與加載,主要應用于數據遷移、數據復制、異地容災、應急備份、雙業務中心、實時數倉/數據湖、查詢卸載等場景。主要特點有:實時、高效的數據同步、豐富的異構同步能力、無插件、非侵入、安全無干擾和全程可視化運維管理等。

二、SDR的環境準備

  • 支持源端為Oracle 9i及以上版本(測試使用的SDR版本只支持到11R2)

  • 支持目標端為GaussDB 100 V300R100

  • 持可選schema、可選表進行全量數據同步

  • 支持可配條件導出源庫數據,將滿足條件的數據導入目標庫

  • 支持多表并發同步,可配置并發個數

  • 支持單表數據的并發導出,可配置并發個數,不支持單表的并發導入

  • 支持自動同步表結構,自動進行數據類型映射,類型映射見下表

1)硬件要求

SDR目前只支持x86的64位操作系統,對硬件資源的要求主要取決于源端數據庫的數據變化量。

怎樣從Oracle到GaussDB的數據遷移

表 2-1 資源要求

2)軟件要求

怎樣從Oracle到GaussDB的數據遷移

注:本次遷移測試將SDR部署在一臺獨立的x86服務器上,通過數據庫業務端口訪問兩邊數據庫,由于大部分遷移操作都是平臺網頁進行,因此還建議準備一臺能直接訪問這臺x86服務7007/7008/7009端口的windows服務器。

1、SDR工具準備

1)創建安裝用戶和目錄(x86服務器上操作)

為SDR軟件創建一個新用戶,并創建一個安裝目錄/home/sdr:

su - root groupaddsdr useradd -g sdr -d /home/sdr -s /bin/shsdr chown -R sdr:sdr /home/sdr/

2)切換到安裝用戶下,上傳安裝包

su - sdr ls -l  / home /sdr/ depend.tgz GaussDB_SDR_8.0.RC1_RHEL_x86_64.tar.gz licence.dat.tar.gz

3)解壓所有壓縮包

tar -xf depend.tgz tar -xf GaussDB_SDR_8.0.RC1_RHEL_x86_64.tar.gz tar -xf licence.dat.tar.gz

2、SDR工具安裝

1)設置SDR_HOME環境變量

su - sdr export DIP_HOME=/opt/sdr

2)執行安裝

cd /home/sdr ./GaussDB_SDR_8.0.RC1_INSTALL Creating directory SDR.pack Verifying archive integrity... All good. Uncompressing swift data replicator 100% Swift Data Replicator installation! ©2019 Huawei Technologies Co., Ltd. Swift Data Replicator software will install into directory [/home/sdr] Please input Swift Data Replicator web server IP address: [127.0.0.1] Please input Swift Data Replicator web server port: [7008] Please input Swift Data Replicator manager server IP address: [127.0.0.1] Please input Swift Data Replicator manager server port: [7009] Please input Swift Data Replicator queue transfer server port: [7007] Please input Swift Data Replicator admin server port: [7006] Please input Swift Data Replicator kafka component port: [7005] Please input Swift Data Replicator database IP address: [127.0.0.1] Please input Swift Data Replicator database port: [1888] Please set default Swift Data Replicator Share Memory Size: [1]- 1GB [2]- 4GB [3]- 8GB [4]-16GB [5]-input other value(GB) please choose 1,2,3,4: [1]4 Input value and choice list below, please confirm: http IP address : 127.0.0.1 http port : 7008 Manager IP address : 127.0.0.1 Manager Port : 7009 Transfer Port : 7007 AdminServerPort : 7006 Kafka component Port : 7005 SDR Database IP : 127.0.0.1 SDR Database Port : 1888 Share memory size : 16G Kafka Server Port : 7005 Press any key to begin install. ( Ctrl-c to interrupt ) Uncompressing bin.tgz... Uncompressing dbpkg.tgz... Uncompressing etc.tgz... Uncompressing lib.tgz... Uncompressing web.tgz... Wait a few of minutes, installing database... Checking parameters... Checking user... Checking old install... Checking kernel parameters... Checking dir... Checking integrality of run file... Decompressing run file... Warning: Dialect Scripts not found! But still proceed installation Setting user env... Checking data dir and config file Initiate db instance... Creating database... Changing file permission due to security audit... Install successfully, for more detail information see /home/sdr/zengineinstall.log. Refreshing config... Creating db user... Initialize data... all done  →順利安裝完成

3)配置depend

進入depend目錄。

cd /home/sdr/depend/ sh enable.sh Enable success

4)加載 licence文件

cd /home/sdr cp licence.dat etc/ ls etc/ dip_config.xml licence.dat odbcinst.ini version xlog.ini

5)啟動SDR組件

啟動組件前需要先加載環境變量

su - sdr cd /home/sdr/ ../env (1)啟動后臺數據庫 cd /home/sdr/db/app/bin python zctl.py -t start (2)啟動其他組件 cd /home/sdr/ start_all (3)啟動web服務 cd /home/sdr start_web

至此,SDR所有安裝準備工作完成。

三、SDR配置

SDR管理界面需要通過瀏覽器進入,瀏覽器可選擇chrome或IE  9.0以上。網址為x86服務器的IP,端口為安裝時指定的端口,必須是HTTPS,如https://IP:port。初始帳號密碼admin/admin。

怎樣從Oracle到GaussDB的數據遷移

圖-1-登錄 SDR 控制臺

登錄后,需要先新建一個項目。

怎樣從Oracle到GaussDB的數據遷移

圖-2-創建項目

輸入項目名稱,并保存。

點擊進入項目后,會進入配置管理主界面。點擊左上角的“新建”按鈕,創建任務組。

怎樣從Oracle到GaussDB的數據遷移

圖 -3-新建任務組

輸入組名,和該組下進程的運行日志保留時間,點擊“保存組”。

本次遷移測試是從Oracle到GaussDB,屬于異構數據庫遷移,可以直接使用模板庫中的異構鏈路進行配置,直接點擊“異構鏈路”即可,如下圖所示:

怎樣從Oracle到GaussDB的數據遷移

圖 -4-異構鏈路配置

生成鏈路后,雙擊鏈路中的源庫組件,在彈出的對話框中進行源庫配置。(第一次配置后,可以選擇作為模板保存,以便后續使用)。

怎樣從Oracle到GaussDB的數據遷移

圖 -5-源庫數據庫配置

注:源數據庫類型為Oracle時需要對導出的對象添加附加日志,添加附加日志的SQL可以在“必要環境配置”中一鍵生成,并拿到源庫中執行。

配置完源庫信息后,接下來要配置捕獲進程,捕獲進程主要是用于從源庫中抽數,可配置需要遷移的schema和對象類型,以及抽數時間間隔,分配內存等參數,配置如下:

怎樣從Oracle到GaussDB的數據遷移

圖-6-捕獲配置

怎樣從Oracle到GaussDB的數據遷移

圖-7-配置捕獲進程的高級選項

注:源庫為Oracle RAC時,需要把所有節點的信息都輸入進去,并且選擇“ENABLE”

配置好捕獲進程之后,接下來需要配置隊列信息。整個鏈路需要配置兩個隊列,一個是導出隊列,一個是導入隊列,可以先按順序配置導出隊列。具體配置如下:

怎樣從Oracle到GaussDB的數據遷移

圖 -8-配置導出隊列

隊列配置完成后,需要配置ETL轉換環節。在配置好源庫信息后,ETL的大部分內容都會自動填充,直接使用默認配置就完事了。具體配置如下:

怎樣從Oracle到GaussDB的數據遷移

圖 -9- 配置ETL

接著是配置導入隊列,這里不多敘述。配置如下:

怎樣從Oracle到GaussDB的數據遷移

圖 -10- 配置導入隊列

按鏈路順序,接下來是配置轉載進程,但在配置之前,會提示需要先配置好目標庫信息,所以只能先跳到最后的目標庫信息配置,完成后再返回來配置轉載進程信息。所以下面是配置目標GaussDB庫的信息(同樣,第一次配置時可以選擇保存為GaussDB庫的模板,方便后續使用。)

怎樣從Oracle到GaussDB的數據遷移

圖 -11- 配置目標庫信息

接下來終于可以愉快地配置轉載進程信息了。轉載進程可配置的內容比較多,主要分為:包含條件,排除條件和高級選項。

包含條件中可配置要導入的schema和對象類型,以及是否在目標庫替換schema_name。(本次測試進行了schema_name的轉換,測試結果順利。)

怎樣從Oracle到GaussDB的數據遷移

圖 -12- 配置裝載包含條件

接下來是配置排除條件,本次測試沒有添加排除條件,有需要的同學可添加測試。

怎樣從Oracle到GaussDB的數據遷移

圖 -13- 配置裝載排除條件

下面是配置高級選項,下面截圖是所有默認設置,可按需進行調整。

怎樣從Oracle到GaussDB的數據遷移

圖 -14- 配置裝載高級選項

確認保存后,遷移所需的各項組件配置完成。

四、SDR全量遷移

SDR工具自帶數據初始化的功能,點擊工具欄的“工具集  >存量數據同步”,彈出配置界面。可配置導出任務的并發數以及單表的并發數,需注意控制并發數大小,極端情況可能會出現導出進程總數等于任務并發數 *  表內并發數。另外,“將數據導出為字符串”的選項必須勾選,不然速度雖然會極大加快,但是導出導入失敗率也會大大提高。

怎樣從Oracle到GaussDB的數據遷移

圖 -15- 配置全量數據同步-導出條件配置

(注:開啟初始化之前,需要在目標環境手動創建用戶/權限/表空間等,創建命令跟Oracle基本一致。)

導出條件配置完并保存后,接下來配置導入條件配置。由于目標庫沒有業務壓力,并發數可選擇大些,也可根據需求選擇是否“重建目標表”,“清空目標表”和“重建索引”等選項。

怎樣從Oracle到GaussDB的數據遷移

圖-16- 配置全量數據同步-導入條件配置

配置完成兵保存后,點擊“開始全同步”后即開始存量數據同步。

怎樣從Oracle到GaussDB的數據遷移

圖 -17-查看全量同步實時信息

等待導出導入完成后即存量數據的遷移工作。遷移過程存在的報錯信息可以在“導出錯誤信息”和“導入錯誤信息”中直接查閱。如果報錯信息缺失或不足,可以進入到x86服務器中安裝目錄的log目錄查看更詳細信息。

五、SDR增量遷移(正式遷移使用的步驟)

劃重點!!前面的全量遷移和下面要說的增量遷移是兩回事,如果按照前面步驟做完全量數據遷移,要做增量遷移也需要把目標庫的數據全刪掉重新再來!

在使用增備前,需要先從源庫中獲取最新的scn號。在源端Oracle庫獲取最新的SCN號:

select current_scn from v$database; CURRENT_SCN ------------------ 16493654040783

1、開啟捕捉進程

需要提前按文“SDR全量遷移”配置異構鏈路,這里不復述。配置完成后單獨開啟捕捉進程。在工作區選擇捕獲進程后,點擊“啟動”即可開啟。

怎樣從Oracle到GaussDB的數據遷移

圖-18- 開啟捕捉進程

2、啟動存量備份

這次存量備份需要把拿到的最新scn號輸入進去,以便把這個scn號的所有數據都同步到目標庫。

怎樣從Oracle到GaussDB的數據遷移

圖-19- 配置存量數據同步

3、啟動增備

等待存量備份完成后,單獨開啟轉換和裝載進程。以指定SCN方式啟動轉換進程,輸入的scn就是在一開始獲取到的最新SCN號。

怎樣從Oracle到GaussDB的數據遷移

圖-20- 指定scn啟動轉換進程

ETL啟動完成后如圖:

怎樣從Oracle到GaussDB的數據遷移

圖-21- 開啟轉換進程后

以指定SCN方式啟動裝載進程,輸入的scn就是在一開始獲取到的最新SCN號。

怎樣從Oracle到GaussDB的數據遷移

圖-22- 指定scn啟動裝載進程

轉載進程啟動完成后,狀態如圖:

怎樣從Oracle到GaussDB的數據遷移

圖-23- 開啟裝載進程后

都啟動完成后,在工作區選擇“列表”方式查看各進程狀態,都為running則正常。

怎樣從Oracle到GaussDB的數據遷移

圖-24- 列表方式查看狀態

至此,增備啟動完成。

增備發起后,源庫對操作表的DML和DDL都會準實時同步到目標端,直到手動終止或報錯為止。(部分DDL不支持,例如:add database,add  datafile,role相關操作等等)

4、遷移過程問題

1)選擇自動創建表的時候,分區表的分區信息(interval等)無法自動同步,導致導入GaussDB后分區表變回普通表

解決思路:在開始導數前,手動在目標環境創建所有分區表,在存量數據導入時不選擇“重建表”選項

2)導出時,一個表上同時有long和clob類型的字段會報錯

報錯信息:table[dcpp.aqua_explain_1483468080]include LOB and LONG  column,unsupport

解決思路:在開始導數前,手動在目標環境創建所有報錯表,在存量數據導入時不選擇“重建表”選項

3)啟動存量數據同步時,即使是同樣的配置選項,點擊“開始全同步“后,經常出現同步進程無法正常啟動的問題

具體現象是:

  • 耗時:00H00M00S ,不開始計時

  • 源庫Oracle中,發起一個查詢全量表信息的SQL后,沒有繼續執行具體表的導出SQL,而是直接終結會話

  • 導出/導入報錯信息中,沒有任何信息

解決思路:多嘗試幾次,或者降低并發量。

使用過程感覺SDR比較類似Oracle的OGG工具。工作流程可簡化為:指定scn導入此scn前所有數據進行初始化,初始化完成后根據此scn開始自動增量同步,直至手動結束同步。整個遷移過程只需要前期配置好同步進程,后期人工介入的時間就非常少(定期檢查同步進程狀態和日志狀態還是必須的),而且因為數據一直在準實時同步,因此生產系統上的遷移時間就可以壓縮的非常短,可以預留更多的時間做數據校驗和其他操作。

看完上述內容,你們對怎樣從Oracle到GaussDB的數據遷移有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

四平市| 梅河口市| 黄浦区| 泸州市| 桂林市| 青海省| 崇州市| 沂南县| 阿尔山市| 辽阳县| 康保县| 简阳市| 盈江县| 嘉善县| 榆树市| 吉安市| 彰武县| 大姚县| 隆子县| 皮山县| 瑞金市| 孟州市| 昌江| 宁津县| 改则县| 灵璧县| 农安县| 长寿区| 佛山市| 余庆县| 盐城市| 上饶市| 水城县| 林州市| 云阳县| 临澧县| 麻栗坡县| 潼关县| 蒙阴县| 峡江县| 富阳市|