1、創建表及約束
主要包括表、主鍵、外鍵、唯一鍵、非空約束等。
Ora2pg導出腳本中,建表、主鍵、唯一鍵、非空約束和索引一般是同時進行,最后再建立外鍵、觸發器和函數(ora2pg會將部份postgreSQL不支持的功能通過函數、或觸發器實現。
建議:
(1)表、主鍵、外鍵、非空約束可一并建立,并在導入數據前使用DBA權限禁用所有約束,導入數據后再啟用約束。
如源數據本身不滿足約束要求,建議先導入再處理異常數據。
(2)索引可導入數據后再創建。
2、導入數據
為提高導入性能,導入前需禁用所有約束、觸發器及索引。
3、創建序列
需要注意導入數據后查看相應欄位當前數據中最大值,并通過currval('dic_id_seq')查看序列的當前值,避免數據中的最大值>序列當前值的問題。
4、啟用約束
5、創建或啟用索引
6、創建觸發器
7、創建函數、存儲過程及包
8、創建視圖
注意:
觸發器、函數、存儲過程、包、視圖可能存在相互依賴關係,如視圖中引用了函數,函數中又引用了視圖,或者A函數引用了B函數,B函數引用了C函數,但ora2pg并不能判斷五類對象之間的相互依賴關係,因而此五類對象的轉換較為麻煩。