Google Website Translator Gadget

Thursday, April 12, 2012

Import Data Dari Oracle ke PostgreSQL

Catatan ringkas untuk kerja hari ini - untuk import data dari Oracle ke PostgreSQL. Ada beberapa pilihan:

  1. ora2pg : perisian yang dapat membuat capaian ke pangkalan data Oracle, dan kemudiannya membuat salinan ke pangkalan data PostgreSQL
  2. Eksport data dari pangkalan data Oracle dalam bentuk csv, dan kemudian import semula ke pangkalan data PostgreSQL
  3. Eksport data dari pangkalan data Oracle dalam bentuk dmp binary, kemudian pinda fail dmp binary, kemudian bina struktur pada pangkalan data PostgreSQL, kemudian import pangkalan data PostgreSQL berkenaan.
Pilihan pertama menggunakan ora2pg adalah terbaik, kerana ianya akan membuat salinan yang hampir serupa pada pangkalan data PostgreSQL, termasuk schema, privileges, dsb. Tetapi anda perlu ada capaian kepada pangkalan data Oracle berkenaan. Sila rujuk pada laman web http://ora2pg.darold.net/ .

Pilihan kedua dengan cara import fail dalam format csv ke dalam PostgreSQL adalah mudah, terutamanya jika dipindahkan untuk tujuan luar dari operasi biasa, sebagai contoh ke development server atau reporting server. Untuk pastikan data yang tersusun, apabila eksport data dari Oracle, gunakan separator yang unik seperti 'pipe' | - pada keyboard, tekan kekunci Shift dan \ . Kemudian pada terminal taip seperti berikut:
sudo -u postgres psql namadatabase 
CREATE TABLE namatable (medan1 integer, medan2 text, medan3 money, medan4 date); 
COPY namatable (medan1, medan2, medan3, medan4) FROM '/home/iskandar/Documents/namafail.csv' DELIMITERS '|';

Bagi kedua pilihan diatas, ianya juga boleh dilaksanakan menggunakan perisian ETL (extract-transform-load) seperti Palo ETL ataupun Kettle. Perisian berkenaan akan banyak membantu.

Pilihan ketiga adalah situasi terburuk / malang. Ini kerana Oracle dmp adalah dalam bentuk binary dan hanya perisian Oracle yg dapat menggunakan fail itu dengan baik. Sekiranya, terpaksa sila rujuk pada artikel berikut : http://benmearns.blogspot.com/2011/12/importing-data-dump-into-postgres.html 




No comments: