(mengelola data).pdf
Post on 12-Jan-2017
242 Views
Preview:
TRANSCRIPT
Oleh: Arif Basofi
Mengelola Data
9-2
Tujuan
• Memanipulasi data menggunakan SQL• Menggunakan data Pump untuk mengeluarkan
(export) dan mengambil (import) data• Memanggil data dengan SQL Loader
9-3
Memanipulasi data menggunakan SQL
9-4
Perintah INSERT
• Membuat satu baris dalam satu waktu• Menyisipkan banyak baris dari tabel lain
9-5
Perintah UPDATE
Digunakan untuk merubah nol atau lebih baris dari suatu tabel
9-6
Perintah DELETE
Digunakan untuk menghapus nol atau lebih baris dalam suatu tabel
9-7
Perintah MERGE
• Digunakan untuk menggabungkan data menjadi satu table, yang mencakup perintah INSERT atau UPDATE dalam satu perintah.
• Penggabungan dilakukan dgn syarat:– jika data sesuai maka di-UPDATE, dan – jika data tidak sesuai maka di-INSERT.
9-8
Perintah COMMIT dan ROLLBACK
Digunakan untuk menyelesaikan transaksi:• Commit : Membuat perubahan menjadi permanen• Rollback : Mengembalikan apa yang telah dirubah
9-9
Integrity Constraints dan DML
9-10
Export Data dengan Data Pump• Manfaat Oracle Data Pump: memiliki kecepatan tinggi dalam
mentransfer data dari satu database ke database yang lain. • Misal: mengekspor sebuah tabel yg terhubung dgn index dari satu
database dan impor tabel ke dalam database lain.Caranya:• Pada halaman maintenance klik Export to Files untuk menggunakan
Data Pump menuliskan data ke dalam suatu file.1. Pada halaman pertama, pilih yang ingin di-ekspor, dan masukkan login.2. Jika memilih skema / tabel untuk tipe ekspor, halaman selanjutnya akan
diminta memilih sekelompok skema atau tabel yang ingin anda ekspor.3. Halaman Option adalah langkah selanjutnya, jika anda memilih ekspor
database anda akan menuju halaman ini setelah memilih tipe ekspor.4. Halaman selanjutnya adalah files. Anda gunakan halaman files untuk
merincikan nama direktori dan nama file.5. Halaman selanjutnya adalah Schedule, untuk mengekspor pekerjaan.6. Halaman terakhir adalah Review, untuk menampilkan kode PL/SQL dlm
mengenerate perintah ekspor dgn selection yg dibuat dihalaman sblmnya.• Setelah pekerjaan di submit, klik View Job untuk mengawasi proses
pekerjaan
9-11
Export data dengan Data Pump
9-12
Import data dengan Data Pump• Data Pump Import digunakan untuk memanggil data yg akan diekstrak.• Caranya: pada halaman Maintenance klik Import from Files untuk
menggunakan Data Pump Impor.1. Files : nama file yg akan di impor pada database server. Selanjutnya pilih
satu dari tiga pilihan impor: mengimpor seluruh file, perinci schema, atau perinci tabel. Anda juga bisa memilih menghasilkan file log lalu memasukkan credential dalam field host Username dan Host Password.
2. Select Object : untuk memilih objek khusus yg akan di impor, misal. untuk memilih user yg ingin di impor dari user–user yg ada di list dan memindahkannya ke user list yang dipilih.
3. Re-Mapping : untuk menunjukkan apakah mengimpor masing-masing data user ke dalam skema user yg sama atau skema user yg berbeda sesuai field Source User dan Destination User.
4. Options : untuk mengatur options penggunaan kembali file data, object creation error, dan index yang tidak digunakan.
5. Schedule : utk menjadwalkan prosedur impor sbg job di dalam job system.6. Review : untuk menampilkan kode PL/SQL perintah import yg dibuat.
• Setelah pekerjaan disubmit, klik View Job untuk mengawasi proses dari pekerjaan.
9-13
Import data dengan Data Pump
9-14
Objek DIRECTORY
9-15
SQL*Loader
• SQL Loader adalah tool Oracle untuk me-load data dari flat file (text) ke dalam tabel database Oracle.
• Program (executable) SQL Loader adalah sqlldr, lokasi ada di $ORACLE_HOME/bin.
• SQL Loader sering digunakan untuk mengatasi kendala jaringan. Misalkan perusahaan memiliki kantor cabang yg tidak tersambung scr online dgn pusat; data transaksi biasanya dikirim ke pusat dalam bentuk text file; kemudian di pusat, data tsb di-load ke database menggunakan SQL Loader.
• SQL Loader juga sering digunakan untuk me-load data dari system yang berbeda. Misalkan transaksi yg 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.
9-16
SQL*Loader
9-17
SQL*Loader
• SQL*Loader: memanggil data dr file eksternal ke dlm tabel database oracle.
• File – file yang digunakan oleh SQL*Loader antara lain :• Input Data Files : SQL*Loader membaca data dari satu atau lebih file
(atau OS sama dengan files) dispesifikasikan kedalam file kontrol. Dari SQL*Loader, data dalam data file diatur sbg record. Format record bisa di spesifikasikan ke dalam file kontrol dengan parameter INFILE. Jika tidak ada format record yg dispesifikasikan, secara default adalah stream format record.
• Control File : file teks yang ditulis dlm bahasa yang dimengerti oleh SQL*Loader. File kontrol memberitahukan kepada SQL*Loader: dimana menemukan data, bagaimana untuk parse dan interpretasi data, dimana untuk menyisipkan data, dll.
• Log File : ketika SQL*Loader memulai eksekusi, akan dibuat file log. Jika tidak bisa membuat file log maka eksekusi akan dibatalkan. File log terdiri dari detail ringkasan dari load, termasuk deskripsi dari beberapa eror yang terjadi selama proses load.
9-18
SQL*Loader
• Bad Files : Bad file terdiri dari record yang ditolak, baik oleh SQL*Loader atau database oracle. File data yang ditolak oleh SQL*Loader ketika format input tidak benar. Setelah record file data diterima untuk proses SQL*Loader, akan dikirim ke database oracle untuk proses insert kedalam tabel sebagai baris. Jika database oracle menyatakan bahwa baris tersebut benar,maka baris tsb akan di masukkan ke dalam tabel. Jika database oracle menyatakan baris tsb salah, maka record ditolak dan SQL*Loader meletakkan ke bad file.
• Discard file : File ini hanya dibuat ketika dibutuhkan, dan hanya jika anda mempunyai spesifikasi dari discard file yang seharusnya ada. Discard file terdiri dari record yang difilter diluar load karena mereka tidak sesuai dengan kriteria record-selection yang dispesifikasikan didalam file kontrol.
9-19
File kontrol untuk SQL*Loader
File kontrol untuk SQL*Loader berisi:• Dimana menemukan data yang dipanggil• Format data• Detail konfigurasi dari :
• Pengelolaan memory• Penolakan record• Penolakan Detail penanganan isi
• Bagaimana memanipulasi data
9-20
Sintak file kontrol
• Sintaknya adalah format bebas• Sintak tidak case sensitif• Komentar diberikan dari dua hypens (--) yang ditandai
diawal komentar sampai akhir baris• Kata kunci CONSTANT sudah dipesan tidak boleh
digunakan
9-21
Input Data dan Data Files
• SQL*Loader membaca data dari satu atau lebih file yang disebutkan di file kontrol
• Dari pandangan SQL*Loader, data dalam data file dikelola sebagai record
• Data file berupa salah satu dari tiga format berikut:- Format Fixed-record- Format Variable-record- Format Stream-record
9-22
Metode Loading
9-23
Membandingkan Conventional dan Direct Path Loads
Conventional Load Direct Path LoadMenggunakan COMMIT untuk membuat perubahan jadi permanent
Menggunakan penyimpanan data
Entry di Redo Log selalu dibuat Redo dibuat hanya pada kondisi2 tertentu
Semua constraints di jalankan Hanya menjalankan constraints PRIMARY KEY, UNIQUE, dan NOT NULL
Trigger INSERT di-picu Trigger INSERT tidak dipicuDapat digunakan untuk memasukkan data pada table yang dicluster
Tidak dapat digunakan untuk memasukkan data pada table yang di cluster
User yang lain dapat membuat perubahan pada table
User lain tidak dapat membuat perubahan pada table
9-24
Memasukkan data dengan SQL*Loader
9-25
Latihan
• Lakukan operasi DML pada table yang anda buat sebelumnya
• Lakukan operasi export-import data
9-26
Latihan SQl*Loader
1. Buat file penjualan.dat spt dibawah:
2. Load file penjualan.dat tsb ke dalam tabel penjualan:
3. Langkah pertama, buat control file yang berisi parameter-parameter untuk SQL Loader. Misal. beri nama penjualan.ctl
3286;23-DEC-08;SEMARANG3287;24-DEC-08;SURABAYA3288;25-DEC-08;MAKASAR3289;26-DEC-08;MEDAN3290;26-DEC-08;MAGELANG TENGAH
CREATE TABLE penjualan( no_invoice NUMBER,tgl_jual DATE,area varchar2(10));
load dataAPPENDinto table PENJUALANfields terminated by ";"TRAILING NULLCOLS(no_invoice,tgl_jual,area)
9-27
Latihan SQl*Loader…
4. Load data di penjualan.dat ke tabel PENJUALAN, dgn perintah berikut:
Parameter untuk sqlldr adalah:• USERID: user dan password ke database Oracle • CONTROL: control file yang akan digunakan • DATA: file (data) yang akan di-load • LOG: file untuk menyimpan log dari proses loader • BAD: file untuk menyimpan data yang tidak diproses
5. Lihat log-nya di file penjualan.log. Dan ternyata ada error:
sqlldr USERID=test/test CONTROL=penjualan.ctl, DATA=penjualan.dat, LOG=penjualan.log, BAD=penjualan.bad
Record 5: Rejected - Error on table PENJUALAN, column AREA.ORA-12899: value too large for column "TEST"."PENJUALAN"."AREA" (actual: 15, maximum: 10)
9-28
Latihan SQl*Loader...
6. Record (baris) ke-lima tidak diproses karena lebar kolom AREA hanya 10 karakter, sementara nilai yang dimasukkan panjangnya 15 karakter (MAGELANG TENGAH). Record yang tidak diposes ini ditaruh di file penjualan.bad. Sekarang coba query ke tabel PENJUALAN, data yang masuk hanya 4 record.SQL> select * from penjualan;
NO_INVOICE TGL_JUAL AREA---------- --------- ----------
3286 23-DEC-08 SEMARANG3287 24-DEC-08 SURABAYA3288 25-DEC-08 MAKASAR3289 26-DEC-08 MEDAN
top related