資料庫生成pdm
資料庫遷移是一個復雜的過程,尤其是從SQL Server遷移到Oracle。這次我經歷了一次這樣的遷移,從SQL Server 2005遷移到Oracle 10g。這里我將分享遷移的方法和過程中需要注意的問題。
首先,遷移的方法是從SQL Server已有資料庫中生成出Oracle的建庫腳本,然後在Oracle資料庫上執行。使用Power Designer作為生成工具。
1. 打開Power Designer,新建一個物理數據模型,選擇Microsoft SQL Server 2005作為DBMS,起名為mssdb。
2. 通過逆向工程將現有SQL Server資料庫生成PDM。選擇Database->Reverse Engineer Database,配置數據源,選擇要遷移的資料庫,輸入用戶名、密碼。選擇資料庫,選擇用戶dbo下的所有表、視圖、存儲過程、方法、觸發器、序列等。點擊OK,生成PDM。
3. 生成Oracle物理數據模型。選擇Tools->Generate Physical Data Model,DBMS選擇Oracle 10g,輸入名稱oradb。在Configure Model Options配置中,勾選Ignore identifying owner。在Selection標簽中,選擇需要生成的所有表、視圖、外鍵、存儲過程、方法、觸發器、序列等。點擊確定,生成Oracle的PDM。
在生成PDM的過程中可能會遇到一些問題,如對象長度超限,需要根據具體錯誤提示做相應修改。
4. 生成Oracle腳本。在Oracle里表名、欄位名全部為大寫,若要單獨處理為小寫,需加上雙引號。PD生成的腳本默認是有雙引號的,這里需要修改默認配置,去掉雙引號。選擇oradb,選擇Database->Generate Database,進入資料庫生成界面。在Format標簽下,去掉勾選Owner prefix;在Selection標簽下,選擇要生成腳本的各對象;在Preview標簽下,預覽預生成的腳本。
5. 檢查與調整。腳本是PD自動生成的,因為表比較多,在Oracle上直接去執行難免會有錯誤。這里提幾點需要注意的地方。Oracle要求表名、欄位名等長度最多是30位,檢查主鍵、外鍵的名稱,檢查欄位名是否用到了Oracle的關鍵字,檢查存儲過程、方法是否符合Oracle語法。Sql Server有自增欄位,需要相應創建序列、觸發器。Sql Server中欄位類型為text的情況,如果是存二進制數據需要在Oracle中選用Blob欄位類型。Sql Server有外鍵的情況,需要添加外鍵級聯刪除。生成的表、視圖等個數是否正確,缺失的情況可單獨生成腳本。
6. 建庫。在Oracle資料庫服務orcl實例下,使用用戶sys登陸並創建用戶orauser,並將resource、connect角色賦給orauser。用剛創建的用戶orauser登陸orcl資料庫服務,執行前面已經生成的腳本。若干分鍾後腳本執行完畢,檢查執行過程中有無錯誤產生,記錄執行的日誌以便日後查看;檢查看錶、視圖等個數與SQL Server資料庫中是否一致。
B. pdm是什麼文件
PDM:物理數據模型(Physical Data Model)PDM,提供了系統初始設計所需要的基礎元素,以及相關元素之間的關系。
即用於存儲結構和訪問機制的更高層描述,描述數據是如何在計算機中存儲的,如何表達記錄結構、記錄順序和訪問路徑等信息。使用物理數據模型,可以在系統層實現資料庫。
資料庫的物理設計階段必須在此基礎上進行詳細的後台設計,包括資料庫的存儲過程、操作、觸發、視圖和索引表等。
(2)資料庫生成pdm擴展閱讀:
PDM的功能:
1、可以將資料庫的物理設計結果從一種資料庫移植到另一種資料庫;
2、可以通過反向工程將已經存在的資料庫物理結構重新生成物理模型或概念模型;
3、可以定製生成標準的模型報告;
4、可以轉換為OOM;
5、完成多種資料庫的詳細物理設計(涵蓋常用的各種資料庫的DBMS),並生成資料庫對象的.sql腳本。