共用方式為


Oracle 適用於 PostgreSQL 的 Azure 資料庫 移轉階段

從 Oracle 到 Azure Postgres 的完整端對端移轉需要仔細執行數個主要步驟和移轉階段。 這些里程碑都與完整且成功的移轉密切相關且至關重要。

移轉階段的螢幕快照:探索、評量、架構移轉、程式代碼移轉、數據遷移、應用程式移轉、效能微調和雲端優化。

探索

大部分的客戶已經熟悉其 Oracle 資料庫實例的數量和位置(特別是其相關聯的授權成本),不過為了完整性,我們會將此階段強調為移轉的重要起點。 探索階段是判斷移轉工作適當範圍的理想階段。 您是否有 Oracle 資料庫伺服器「伺服器數位」環境需要數十、數百或甚至數千個資料庫才能移轉? 您是否考慮遵循「移轉處理站」方法進行大規模移轉? 相反地,您的環境是否更適合單一資料庫的端對端移轉,以及所有連線用戶端的平行現代化,再移至移轉清單中的下一個資料庫? 不論是哪一種情況,最新且徹底的清查都是重要的必要條件,而探索階段可確保您做好成功準備。

評定

評估會封裝許多不同類型的估計型探勘作業,這些作業會依其獨特特性個別定義。 某些評估旨在估計及分類移轉資料庫物件時所牽涉到的工作和資源複雜度,以及根據物件數目等因素(甚至可能探索程式代碼行數),需要主題專家注意。 或者,其他類型的評量會探索基礎數據的結構和大小,並提供完整移轉至目的地環境所需時間量的指引。 然而,另一種評量類型的結構是為了確保目的地 Azure Postgres 資源已適當調整,以容納服務數據所需的計算、記憶體、IOPS 和網路設定。 其中一項最重要的評量必須包含,以確保您的移轉成功是徹底檢閱和考慮所有已連線用戶端,以及包含所有相依應用程式的範圍。 總而言之,在準備移轉評估時,請確定您正在評估資料庫移轉的所有層面,包括:

  • 資料庫架構/程式代碼轉換數量和複雜度
  • 資料庫大小和規模
  • 資料庫資源作業需求
  • 用戶端應用程式程式代碼移轉

您的評量精確度將緊密系結至後續移轉步驟執行和完成所涉及的特定基礎工具和服務平臺。 因此,請務必考慮有數個因素可能會影響這些評估估計和回報結果的正確性,與移轉評估中所使用的基礎工具直接相關。 在檢閱和將評量輸出並併入移轉計劃時,必須小心避免插補不同或合併工具的估計輸出。

如需詳細資訊,請參閱 Oracle 至 Azure Postgres 移轉劇本

資料庫架構移轉

結構化數據定義是交易式資料庫引擎的其中一個標誌,也是設計良好數據平臺的基本基礎。 確保唯一的 Oracle 數據結構和數據類型定義會正確對應至 Azure Postgres 內的個別數據表,是移轉中整體成功的重要需求。 雖然所有事務資料庫共用許多相似之處,但數據表和數據行數據類型差異確實存在,而且必須小心以確保您的數據不會因為數據定義不符而意外遺失、截斷或損毀。 數值數據類型、日期/時間數據類型和文字型數據類型只是開發移轉對應數據對應時必須仔細檢查的部分區域範例。

如需 Oracle 與 Postgres 數據類型差異的其他資訊和範例,請參閱 Oracle 至 Azure Postgres 移轉劇本

資料庫程式代碼移轉

資料庫程式代碼移轉是指轉換針對 Oracle 撰寫的資料庫程式代碼以與 Postgres 資料庫引擎相容,同時維護原始功能和現有的效能特性。 此程式需要將 Oracle PL/SQL 查詢、預存程式、函式、觸發程式和其他資料庫物件轉換為符合規範的 Postgres PL/pgSQL。 幸運的是,Oracle 的 PL/SQL 和 Postgres 的 PL/pgSQL 程式語言方言有許多相似之處,這通常是許多組織在選取 Postgres 作為最適合 Oracle 資料庫移轉時所識別的初始因素。 不過,必須考慮兩種資料庫語言之間的一些獨特差異和差異。 注意的領域包括:資料庫特定的關鍵詞和語法、例外狀況處理、內建函式、數據類型和順序遞增。

在許多情況下,Postgres 擴充生態系統可以是強大的盟友,可協助簡化程式代碼移轉程式。 例如,延伸模組 「Oracle Functions for PostgreSQL」 (orafce) 提供一組內建的 Oracle 相容性函式和套件,可減少重寫依賴和參考這些 Oracle 函式之程式代碼基底部分的需求。 在將 Oracle 程式代碼移轉至 PostgreSQL 期間使用此相容性型方法,可藉由維護源資料庫定義的原始邏輯和功能,確保結果的一致性,並提升開發人員生產力,以降低移轉程式的複雜性、時間和成本方面具有顯著優勢。 所有這些優點都加起來,以達成簡化且更有效率的程式代碼移轉至 PostgreSQL。

如需 Oracle 與 Postgres 內建函式與邏輯運算符之間差異的其他資訊和範例,請參閱我們的 Oracle 至 Azure Postgres 移轉劇本

資料移轉

在現今的數據驅動環境中,您的數據可以說是您最有價值的資產。 您的數據資源越來越會影響知情商務營運和策略決策的每個層面。 因此,您的數據遷移管線必須有效率且快速運作、完全一致且可驗證,並最終順利完成。

您應該仔細考慮您的數據遷移策略,以判斷「離線」或「即時」方法是否適用於您的環境。 每個數據遷移策略都有自己的優點和考慮,而「離線」和「即時」作業之間的選擇取決於環境的特定需求和限制。 例如,「離線」移轉可能比「即時」移轉更為簡單且較不複雜,不過,「離線」移轉牽涉到完整移轉數據至目的地資料庫所需的時間停機。 「即時」移轉提供最少的停機時間,不過它們牽涉到更複雜的基礎結構,以監督初始回填數據載入,以及自數據遷移開始後可能發生的變更後續數據同步處理。 仔細規劃、徹底評估商務需求,並考慮小組的特定關鍵因素,可確保您能夠做出與數據遷移需求完全一致的明智決策。

應用程式程式代碼移轉

雖然外部應用程式在技術上可能考慮在資料庫小組移轉責任的網域之外,但更新和現代化用戶端應用程式的資料庫連線是資料庫移轉旅程整體成功的重要且密切相關的階段。 如同移轉的其他階段,補救用戶端應用程式平臺相容性的相關工作和複雜度取決於您環境的獨特情況。 用戶端應用程式是由第三方開發嗎? 如果是,請務必確保其軟體產品經過認證,以支援Postgres資料庫平臺。 您的內部應用程式是否使用對象關係型對應技術,例如Hibernate或 Entity Framework? 在某些情況下,小型組態或檔案變更可能是所有必要專案。 相反地,如果您有大量內嵌在程式碼中的資料庫查詢和語句,您可能需要配置更多時間,以適當地檢閱、修改和驗證程式代碼變更。

或者,有合作夥伴解決方案提供者提供新方法,能夠即時翻譯舊版用戶端資料庫作業。 這些 Proxy 服務提供資料庫層的抽象概念,可有效地將應用程式與任何資料庫特定的語言相依性分離。

在許多情況下,您的決策可能會合併多個策略和混合式方法的組合,共同採用它們各自的優勢和合併功能。 部署即時資料庫轉譯層可讓小組快速重新部署用戶端應用程式,同時為您的軟體工程師和開發人員提供適當的時間和資源規劃,以重構其資料庫特定相依性以支援 Postgres 原生作業。

重要

每個選擇都伴隨著自己的特定考慮和優點集,而且您的小組必須仔細檢閱每一種方法,以判斷理想的策略前進道路。

移轉驗證

從 Oracle 遷移至 PostgreSQL 時,確保數據完整性和邏輯一致性都是最重要的。 移轉驗證在此程式中扮演重要角色,因為它牽涉到確認從來源 Oracle 資料庫傳輸的數據正確且在目標 PostgreSQL 系統中完成。 此步驟不僅對於維護數據的可信度,而且對於確認移轉程式並未引入任何錯誤或差異而言,這一步驟至關重要。 驗證檢查可以包括比較數據表計數、驗證數據類型和結構、比較數據列層級數據行值,以及確保複雜的查詢在兩個資料庫中產生一致的結果。 此外,處理兩個資料庫系統如何管理數據的差異時,必須特別注意,例如日期和時間格式的變化、字元編碼,以及處理 Null 值。

這通常涉及設定自動化驗證腳本,以比較資料庫中的數據集,並醒目提示任何異常狀況。 您可以利用專為資料比較而設計的工具和架構來簡化此程式。 移轉后驗證應該是反覆的程式,在移轉的各個階段進行多個檢查,以儘早攔截問題,並將數據損毀的風險降到最低。 藉由優先處理數據驗證,組織可以自信地從 Oracle 轉換至 PostgreSQL,知道其數據仍然可靠且可採取動作。

效能微調

效能通常會被視為決定平臺感知和可用性的最有形且最重要的特性之一。 確保移轉既準確又高效能,是達到成功且無法忽略的重中之重。 更具體來說,查詢效能通常被視為最佳資料庫組態的最重要指標,而且通常用來做為使用者用來判斷環境健康狀態的石塊測試。

幸運的是,Azure 平臺原生地納入了監視各種計量效能點所需的工具和功能,包括規模、效率,以及最重要的速度。 這些智慧型手機效能功能會與 Postgres 監視資源攜手合作,以簡化您的微調程式,而且在許多情況下,將這些步驟自動化,以視需要自動調整和調整。 下列 Azure 工具可確保您的資料庫系統在其最佳層級上運作。

查詢存放區

適用於 Azure Postgres 的 查詢存放區 可作為監視功能的基礎。 查詢存放區 追蹤 Postgres 資料庫中的統計數據和作業計量,包括查詢、相關聯的說明計劃、資源使用率和工作負載計時。 這些數據點可以找出長時間執行的查詢、耗用最多資源的查詢、最常執行的查詢、過多的數據表膨脹,以及您資料庫的更多作業 Facet。 這項資訊可協助您快速識別任何需要注意的作業或區域,以減少疑難解答的時間。 查詢存放區 藉由識別下列專案,提供整體工作負載效能的完整檢視:

  • 長時間執行的查詢,以及它們隨著時間變更的方式。
  • 影響這些查詢的等候類型。
  • 依呼叫 (執行計數)、資料使用量、IOPS 和暫存檔使用量排列的前幾名資料庫查詢相關詳細資料 (效能改進的可能微調候選項目)。
  • 向下切入查詢的詳細數據,以檢視資源使用率的查詢標識碼和歷程記錄。
  • 深入了解整體資料庫資源取用量。

索引微調

索引調整是 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器的一項功能,可藉由分析追蹤的查詢並提供索引建議,自動改善工作負載的效能。 其原生內建於 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器,並以 查詢存放區 功能為基礎。 索引微調會分析 查詢存放區 追蹤的工作負載,併產生索引建議,以改善分析工作負載的效能,或卸除重複或未使用的索引。 這是以三種獨特的方式完成:

  • 識別哪些索引有助於建立,因為它們可以大幅改善索引微調工作階段期間分析的查詢。
  • 識別完全相同的重複索引並予以刪除,以減少其存在和維護對系統整體效能造成的影響。
  • 識別在可設定期間內未使用的索引,可能是要刪除的候選索引。

智慧型微調

智慧型調整是持續監視和分析程序,不僅會瞭解工作負載的特性,也會追蹤目前的負載和資源使用量,例如 CPU 或 IOPS。 它不會干擾應用程式工作負載的正常運作。 此處理序可讓資料庫透過辨別執行個體目前的膨脹比率、寫入效能和檢查點效率,以動態調整工作負載。 透過這些深入解析,Intelligent Tuning 會部署微調動作,以增強工作負載的效能,並避免潛在的陷阱。 此功能包含兩個自動調整功能:

  • 自動清除微調:此功能會追蹤膨脹比率,並據以調整自動清除設定。 它會同時考慮目前和預測的資源使用狀況,以防止工作負載中斷。
  • 寫入微調:此功能會監視寫入作業的磁碟區和模式,並修改影響寫入效能的參數。 這些調整可增強系統效能和可靠性,以主動避免潛在的併發問題。

提示

深入瞭解如何 套用智慧型手機效能 ,以最大化您的 Azure Postgres 平臺。

雲端最佳化

優化新的 Azure Postgres 資料庫環境,表示所有難以置信的努力和辛勤工作都已導致您的小組到達這個關鍵點。 雲端優化可能是新的責任,尤其是在來自內部部署或舊版資料庫環境時。 Azure 雲端平台引進了一組全新且增強的寶貴和尖端延展性功能,讓您的小組能夠「撥入」精確配置資源、功能和成本效益,以符合您現今的組織需求,並順利進入未來。 雲端優化是持續精簡環境的程式,透過與Microsoft架構完善的架構相關聯的最佳做法鏡頭來檢視:成本優化、營運卓越、效能效率、可靠性和安全性。

成本優化 是適當調整資源大小、套用成本管理策略,以及有效率的資源使用率的組合。

卓越營運包括採用部署、監視和調整的自動化,並減少錯誤,同時提高效率。

效能效率 可確保您選擇適當的資源,以符合需求而不過度布建,同時套用延展性的最佳作法,以在尖峰作業期間有效率地處理各種負載。

可靠性 會引導您設計具有備援和故障轉移機制的高可用性和容錯系統,以將停機時間降到最低,以及實作強固復原計劃的災害復原策略,包括備份和還原程式。

安全性 強調強式身分識別通訊協定和存取管理做法的重要性,例如最低許可權存取、無密碼驗證和角色型訪問控制。 數據保護和加密可確保敏感數據在待用和傳輸中都受到保護。 安全性也包含威脅偵測的工具和最佳做法,以及可立即處理安全性事件的自動化回應。 合規性可確保您的環境符合業界標準和法規。

如需雲端優化實作指引和基本概念五大要素的詳細資訊,請造訪我們的 Azure 架構架構 (WAF) 中心

若要確保這些要素符合您的 Azure Postgres 部署,請檢閱我們的 適用於 PostgreSQL 的 Azure 架構架構服務指南。