Summary
在處理 Oracle 遷移到 Postgres …
Postgres 官方 其實提供了許多 Migration tools, 但大部分都需要付費購買, 但這種一次的作業實在很難爭取到公司資源, 在 open source 上相關資源較多的也只有 Ora2pg
與 Orafce
以及 AWS Schema Conversion Tool
, 然而這些工具支持的面向皆不一樣, 以下簡單的介紹一下。
Ora2pg - open source, perl 語言, 目前看起來功能最完整的工具支援 Oracle Table, Functaion, Trigger, etc. 轉換, 但設定有點複雜。
AWS Schema Conversion Tool - AWS 的工具, 個人覺得報表功能很好用, 缺點是沒用 AWS 的服務只能幫你轉 Oracle 的 schema。
Orafce - open source, c 語言, 針對 oracle 的 function 與 package 做調整的工具。
fullconvert - 看起來滿完整, 但試用版有滿多限制。
Database migration for Oracle and PostgreSQL - 沒有支援 Mac 使用者。
Oracle-to-PostgreSQL - 沒有支援 Mac 使用者。
Install Perl
- Ora2pg 由 perl 編寫, 所以需要 perl 環境
- 由於體積不大, 所以我直接把 Ora2pg 安裝在 Oracle Server (CentOS)
# check your perl version, |
Ora2pg setup
# install ora2pg v.20 |
# 網路上流傳的 check perl XD |
#!/usr/bin/perl |
# 執行看看 |
# 確認 Ora2pg version |
Ora2pg init project
官方文件有說明專案式的 Ora2pg
ora2pg --project_base ~/ora2pg_projects/ --init_project project_name |
Setting ORACLE connection
ORACLE_DSN dbi:Oracle:host=localhost;sid=EE;port=1521 |
Export / Import schema
--init_project
提供了兩個方便的 scripts 方便作業
export_schema.sh
用來匯出 data objects schema.import_all.sh
用來匯入 data objects schema.
# execute |