Moving Data Tutorial

Embed Size (px)

DESCRIPTION

Tutorial moving data

Citation preview

MOVING DATAMigrasi data merupakan tugas akhir dalam migrasi dari database Oracle ke Microsoft SQL Server. Meskipun SQL Server menawarkan beberapa alat bantu yang membuat sebagian besar transfer data dari sumber eksternal lebih mudah, aspek migrasi yang tidak dapat secara otomatis, seperti perencanaan migrasi dan memvalidasi bahwa data telah dipindahkan sepenuhnya dan tanpa kesalahan, harus diprioritaskan .Tugas migrasi data dapat dibagi menjadi tiga subtasks berikut:1.Perencanaan.Penting untuk memahami pilihan migrasi, mengevaluasi karakteristik dari sumber data, dan mengevaluasi kendala lingkungan dan bisnis.2.Eksekusi.Subtask ini merupakan proses menyiapkan database dan mentransfer data.3.Validasi.Subtask ini account untuk semua data dan memverifikasi integritas data.Perencanaan Migrasi DataAda dua prasyarat perencanaan.Sebelum membuat keputusan apa pun, terlebih dahulu Anda harus benar-benar memahami berbagai pilihan yang tersedia untuk mentransfer data dari database Oracle ke SQL Server database, terutama keuntungan dan keterbatasan dari masing-masing pilihan.Prasyarat kedua adalah untuk mendokumentasikan semua faktor atau karakteristik dari lingkungan asli yang dapat mempengaruhi pengambilan keputusan dari pilihan yang tersedia. Prasyarat ini dibahas secara rinci pada artikel di bawah ini.

Pilihan untuk MigrasiOracle meskipun heterogen dapat berkomunikasi dengan database, operasi hanya pada tingkat transaksional dan tidak dapat dimanfaatkan untuk operasi data massal yang diperlukan dalam situasi migrasi. Satu-satunya Oracle menyediakan utilitas khusus untuk mengekspor data dari database adalah utilitas ekspor exp. Utilitas ini hanya dapat menciptakandumpsdalam format biner yang tidak dapat digunakan untuk mengimpor ke non-Oracle database.SQL Server dibangun untuk menyalin data massal, dengan fitur dan interface khusus untuk sejumlah besar sumber data. Gambar di bawah ini menunjukkan berbagai jalan yang menawarkan fungsi untuk memindahkan data dari Oracle.

Data dapat bermigrasi dari Oracle ke SQL Server menggunakan salah satu dari pilihan berikut:*Bulk Copy Program (bcp).bcp adalah sebuah utilitas baris perintah yang menggunakan ODBC API salinan massal di SQL Server. bcp tidak dapat terhubung ke database Oracle dan, ketika digunakan untuk memindahkan data dari Oracle ke SQL Server, data harus berupa file teks ASCII. Beberapa salinan bcp dapat dijalankan secara bersamaan ketika bekerja pada tabel target yang sama. Jumlah sesi paralel dibatasi oleh jumlah CPU di server.Untuk informasi tentang cara menggunakan utilitas bcp dengan Microsoft SQL Server, merujuk pada bcp Utility artikel yang tersedia dihttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/coprompt/cp_bcp_61et.asp.*BULK INSERT.BULK INSERT adalah sebuah pernyataan T-SQL. Pernyataan ini memiliki fungsi serupa sebagai bcp dan dapat digunakan untuk Oracle mengimpor data yang telah ditangkap dalam sebuah file teks. Skala operasi ini linear dengan jumlah CPU, tetapi terbatas pada satu thread per CPU.Untuk informasi mengenai BULK INSERT lengkap T-pernyataan SQL dan pemakaiannya, lihathttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ba-bz_4fec.asp.*Data Transformation Service (DTS).DTS adalah cara yang ampuh berupa GUI/seperangkat alat yang dapat digunakan untuk mendapatkan, mengubah, dan mengisi database SQL Server dari database Oracle. DTS dapat membuat seluruh proses mendefinisikan dan melakukan impor sangat mudah. Selain bekerja dengan file teks, DTS dapat menggunakan OLE DB dan ODBC sebagai penyedia layanan untuk koneksi ke database Oracle.Untuk informasi mengenai DTS lengkap T-pernyataan SQL dan pemakaiannya, lihathttp://msdn.microsoft.com/SQL/sqlwarehouse/DTS/default.aspx?pull=/library/en-us/dnsql2k/html/dts_overview.asp.Faktor MigrasiMengingat berbagai pilihan untuk migrasi data dari Oracle ke SQL Server, pilihan dipengaruhi oleh beberapa faktor lingkungan dan bisnis. Beberapa faktor penting (yang lebih penting yang dinyatakan pertama) adalah:*Volume data.Volume data tinggi memerlukan lebih banyak penyimpanan, lebih banyak pemrosesan, bandwidth jaringan yang lebih besar, lebih besar jendela migrasi, dan peningkatan risiko kegagalan.Untuk informasi lebih lanjut tentang cara mengoptimalkan data besar impor di SQL Server, mengacu kepadahttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/optimsql/odp_tun_1a_5gyt.asp.*Migrasiwindow.Windowwaktu tersedia untuk migrasi mungkin memerlukan beberapa sesi paralel, lebih banyak sumber daya, dan pementasan data.*Jenis data.Keberadaan gumpalan dapat ditangani hanya oleh DTS.*Server kapasitas pemrosesan.Menjalankan bcp pada server yang sama seperti database jaringan mengurangi overhead bcp berbicara dengan SQL Server, tetapi mengkonsumsi CPU di server.*Penyimpanan ketersediaan.Penyimpanan yang tersedia dalam sumber dan lingkungan target mempengaruhi pilihan metode dan strategi migrasi. Misalnya, memindahkan file teks ke server target mengurangi overhead jaringan. Konfigurasi penyimpanan juga mempengaruhi kecepatan migrasi, seperti menempatkan sumber file teks dan database file pada disk atau perangkat terpisah.* Sumber data.Kemampuan untuk menciptakan file flat dalam lingkungan sumber mempengaruhi pilihan metode migrasi. Sebuah lapangan tetap format file sumber memerlukan kapasitas penyimpanan yang lebih banyak dan jauh lebih lambat. Format dipisahkan dianjurkan.* Jenis database.Batch, OLTP, atau tipe database DSS mendefinisikan skema jenis objek dan karakteristik mereka.*Pemulihan Model.Database model pemulihan harus di set ke bulk-sederhana atau login untuk meminimalkan penebangan BULK INSERT. Kemampuan untuk melakukannya dapat terpengaruh jika ada database yang dimiliki oleh aplikasi lain yang sedang digunakan selama migrasi.*Gunakan metode terbukti.Hanya menggunakan metode dan pilihan yang telah terbukti bekerja dengan industri dan untuk lingkungan. Sebagai contoh, OLE DB telah terbukti lebih cepat daripada ODBC sementara menyediakan semua fitur yang sama.

DATA PUMPOracle Data Pump adalah cara export dan import data yang lebih baru, lebih cepat, dan lebih fleksibel dibanding teknik export dan import data biasa. Kalau saya tidak salah, fitur Oracle Data Pump ini mulai tersedia sejak Oracle 10. Sekarang saya akan memberi contoh bagaimana cara menggunakan fitur Oracle Data Pump ini lewat Oracle Enterprise Manager di Oracle 10g.1. PrerequisiteUntuk melakukan export dan import data dengan Oracle Data Pump, pertama-tama ada 2 hal penting yang harus dilakukan di database asal dan di database tujuan, yaitu membuat administrator user dan membuat directory object. Administrator user adalah user yang diberi kemampuan untuk melakukan tugas-tugas manajemen database, user inilah yang nanti akan kita gunakan untuk mengexport dan mengimport data. Directory object adalah nama alias yang dikenali Oracle untuk suatu folder yang ada di mesin server. Untuk membuat kedua hal ini, login ke em di database asal sebagai sysdba.

a. Membuat Administrator User1. Setelah login, klik Setup di pojok kanan atas2. Klik tombol Create3. Buat administrator user baru. Isikan:4. Name dengan nama salah satu user/skema di database. PENTING: untuk dapat melakukan export/import dengan Oracle Data Pump, user harus bisa login ke Oracle EM dengan role Normal, jadi pastikan di sini user yang dipilih dapat login ke Oracle EM tidak sebagai sysdba5. Password dengan password untuk user/skema tersebut6. Confirm Password dengan password untuk user/skema tersebut7. E-mail dengan e-mail orang yang bertanggungjawab terhadap skema tersebut. Bagian ini bisa dikosongkan8. Klik tombol Finishb. Membuat Directory Object1. Setelah membuat administrator users, klik tulisan Database di pojok kanan atas (di bawah tulisan Logout)2. Klik Administration, lalu klik Directory Objects3. Klik tombol Create4. Di bagian Name, tuliskan EXPORTS. Folder ini yang akan kita gunakan untuk menampung file-file hasil export data5. Di bagian path, tuliskan path lengkap folder, misalnya: /u01/backup/exports (saya install Oracle nya di Linux). Untuk memastikan Oracle dapat membaca file path tersebut, klik tombol Test File System6. Klik tombol OK7. Ulangi proses 4-6 untuk membuat dua directory object lagi, masing-masing: LOGS dengan path /u01/backup/logs (folder ini akan digunakan untuk menampung file-file log) dan IMPORTS dengan path /u01/backup/imports (folder ini akan digunakan untuk menampung file-file data yang akan diimport)Jika sudah selesai, buat juga administrator user dan directory object di database tujuan. Sekarang, kita sudah bisa melakukan proses export dan import data.2. Export Data1. Login ke Oracle EM sebagai administrator user di database asal dengan user yang tadi di-create, jangan lupa pilih Connect as Normal2. Klik Maintenance, lalu klik Export to Export Files

3. Pilih apakah hendak mengeksport keseluruhan database, schema tertentu, table tertentu, atau kah table-table pada tablespace tertentu4. Masukkan username dan password untuk user administrator/root server, klik continue

5. Pilih database/schema/table/tablespace yang hendak dieksport dengan menekan tombol Add, jika sudah memilih klik Next. Pada contoh ini saya akan mengeksport skema RIZA saja

6. Pilih Directory Object LOGS yang telah kita buat sebelumnya, lalu ketikkan nama file log untuk pekerjaan mengexport ini

7. Pilih directory object EXPORTS untuk menampung file yang merupakan hasil export schema, dan ketik nama file hasil exportnya dengan extension .dmp, klik Next

8. Tuliskan Job Name untuk mengidentifikasi job export kali ini. Kita juga dapat memilih mengatur kapan job export ini akan dieksekusi, apakah segera atau nanti. Klik Next

9. Klik Submit Job10. Selesai, file export schema RIZA dapat ditemukan di direktori u01/backup/exports dengan nama file RIZA_SCHEMA.dmp

3. Import Data1. Kita akan meneruskan skenario di atas, kita akan mengimport skema RIZA yang tadi telah dieksport ke database tujuan. Copy file RIZA_SCHEMA.dmp ke direktori u01/backup/logs di server database tujuan2. Login ke Oracle EM sebagai administrator user di database tujuan dengan user yang sebelumnya di-create, jangan lupa pilih Connect as Normal

3. Pilih versi database data yang diexport4. Pilih directory object tempat file yang akan diimport berada, dan tulis nama file yang hendak diimport5. Pilih entire file di bagian import type (pilihan schema, table, tablespace dipilih jika kita hanya mau mengimport sebagian schema/table/tablespace dari data yang sebelumnya diexport)6. Masukkan username dan password untuk user administrator/root server, klik continue

7. Jika ingin, kita dapat melakukan pemetaan ulang schema/table/tablespace dari data database asal dengan schema/table/tablespace di database tujuan, jika tidak abaikan saja, lalu klik Next

8. Pilih Directory Object LOGS yang telah kita buat sebelumnya, lalu ketikkan nama file log untuk pekerjaan mengimport ini

9. Tuliskan Job Name untuk mengidentifikasi job import kali ini. Kita juga dapat memilih mengatur kapan job import ini akan dieksekusi, apakah segera atau nanti. Klik Next

10. Klik Submit Job11. Voila, data skema RIZA telah selesai diimport di database tujuan!

SQL LOADERSQL Loader adalah tool Oracle untuk me-load data dari flat (text) file ke dalam tabel di database Oracle. Program (executable) SQL Loader adalah sqlldr, lokasi ada di $ORACLE_HOME/bin.SQL Loader sering digunakan untuk me-load data dari system yang berbeda. Misalkan transaksi di-handle oleh database non Oracle, sementara datawarehouse menggunakan Oracle. Nah, data transaksi dari non Oracle ini kemudian di-export ke dalam text file, dan kemudian di-import ke Oracle pakai SQL*Loader.