Oracle 資料庫移轉:重新架構

Azure SQL 受控執行個體
Azure 虛擬機器

您喜歡使用 Microsoft SQL Server 嗎? 若是如此,您可以使用 Azure SQL 受控執行個體來重新架構資料庫。 這是很好的選擇,因為其:

架構

此架構圖顯示透過私人端點連線連接到 Azure SQL Database 的受控實例Azure SQL。

工作流程

  1. 使用 SSMA 將 Oracle 結構描述轉換成 SQL 結構描述。

  2. 將新的結構描述移轉至 Azure SQL 受控執行個體。

  3. 將 SQL 受控執行個體連接至 Azure SQL 資料庫。

單元

  • Azure SQL 受控執行個體是可調整的智慧型雲端資料庫服務,結合了最廣泛的 SQL Server 引擎相容性,以及所有完全受控和常保最新狀態的平台即服務 (PAAS) 優點。

  • Azure SQL 為您的整個 SQL 組合提供一致的體驗,並提供完整的部署選項。

  • Azure 虛擬網路是 Azure 環境中的私人網路。

部署此案例

評估 Oracle 資料庫

使用 Microsoft 評定和規劃 (MAP) 工具組來評估現有的 Oracle 資料庫和結構描述。 如需詳細資訊,請參閱 Oracle 至 SQL Server:移轉指南

Oracle 物件轉換結果

下載 SSMA 並將其用於 Oracle 結構描述和資料移轉:適用於 Oracle 的 Microsoft SQL Server 移轉小幫手

下表顯示 Oracle 物件對 SSMA 所執行的 SQL Server 物件的轉換結果。

Oracle 物件 產生的 SQL Server 物件
函式 如果函式可以直接轉換為 Transact-SQL,SSMA 會建立函式。
在某些情況下,函式必須轉換成預存程序。 在此情況下,SSMA 會建立一個預存程序,以及呼叫預存程序的函式。
程序 如果程序可以直接轉換為 Transact-SQL,SSMA 會建立一個預存程序。
在某些情況下,必須在自發交易中呼叫預存程序。 在此情況下,SSMA 會建立兩個預存程序:一個會實作程序,另一個則用來呼叫實作預存程序。
套件 SSMA 會建立一組預存程序和函式,而這些預存程序和函式是以類似的物件名稱來統一管理。
序列 SSMA 會建立序列物件 (SQL Server 2012 或 SQL Server 2014) 或模擬 Oracle 序列。
具有相依物件 (例如索引和觸發程序) 的資料表 SSMA 會建立具有相依物件的資料表。
使用相依物件 (例如觸發程序) 來檢視 SSMA 會建立具有相依物件的檢視。
具體化檢視 SSMA 會在 SQL 伺服器上建立索引檢視,但有一些例外狀況。 如果具體化檢視包含下列一或多個建構,轉換將會失敗:

使用者定義函數

SELECT、WHERE 或 GROUP BY 子句中的不具決定性欄位 / 函式 / 運算式

在 SELECT *、WHERE 或 GROUP BY 子句中使用 Float 資料行 (先前問題的特殊案例)

自訂資料類型 (包括巢狀表格)

COUNT(distinct <field>)

FETCH
OUTER 聯結 (LEFT、RIGHT 或 FULL)
子查詢、其他檢視
OVER、RANK、LEAD、LOG
MIN、MAX
UNION、MINUS、INTERSECT
HAVING
觸發程序 SSMA 會根據下列規則建立觸發程序

BEFORE 觸發程序轉換成 INSTEAD OF 觸發程序。

AFTER 觸發程序轉換成 AFTER 觸發程序。

INSTEAD OF 觸發程序轉換成 INSTEAD OF 觸發程序。 在相同作業上定義的多個 INSTEAD OF 觸發程序會合併成一個觸發程式。

資料列層級觸發程序是使用資料指標進行模擬。

串聯式觸發程序會轉換成多個個別的觸發程序。
同義字 針對下列物件類型建立同義字

資料表和物件資料表
檢視和物件檢視
預存程序
函式

下列物件的同義字會由直接物件參考解析和取代

序列

套件

Java 類別結構描述物件

使用者定義的物件類型
另一個同義字的同義字無法移轉,並會標示為錯誤。

不會為具體化檢視建立同義字。
使用者定義類型 SSMA 不支援使用者定義類型的轉換。 User-Defined類型,包括其在 PL/SQL 程式中的使用方式,會以下列規則引導的特殊轉換錯誤標示:

使用者定義類型的資料表資料行會轉換成 VARCHAR (8000)。

預存程序或函式的使用者定義類型引數會轉換成 VARCHAR (8000)。
PL/SQL 區塊中使用者定義類型的變數會轉換成 VARCHAR (8000)。

物件資料表會轉換成標準資料表。
物件檢視會轉換成標準檢視。

如需詳細資訊,請參閱轉換 Oracle 結構描述 (OracleToSQL)

轉換 Oracle 物件轉換和移轉資料

安裝 SSMA 之後,請建立報告以轉換 Oracle 結構描述,並將資料移轉至 Azure SQL 受控執行個體。 如需逐步指南,請參閱使用 SQL Server 移轉小幫手,將 Oracle 結構描述移轉到 Linux 上的 SQL Server 2017

移轉後工作

整個移轉之後,請解除安裝用戶端元件以移除 ssma_oracle 的結構描述。

注意

除非您已移轉的資料庫不再使用 sysdb 資料庫的 ssma_oracle 結構描述中的函式,否則請勿從 SQL Server 將延伸模組套件解除安裝。

如需詳細資訊,請參閱移除 Oracle 元件的 SSMA

參與者

本文由 Microsoft 維護。 最初是由下列參與者所撰寫。

主體作者:

若要查看非公用LinkedIn設定檔,請登入 LinkedIn。

後續步驟

若要開始將 Oracle 資料庫移轉至 SQL,請參閱適用於 Oracle 的 SQL Server 移轉小幫手 (OracleToSQL)

注意

如果這個移轉路徑看起來不適合您的商務需求,請參考移轉決策樹