Oleh: Arif
Basofi
Tujuan
•
Memanipulasi data menggunakan SQL
•
Menggunakan data Pump untuk mengeluarkan
(export) dan mengambil (import) data
Perintah INSERT
•
Membuat satu baris dalam satu waktuPerintah UPDATE
Perintah DELETE
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
Perintah COMMIT dan ROLLBACK
Digunakan untuk menyelesaikan transaksi:
•
Commit : Membuat perubahan menjadi permanen
Integrity Constraints
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 satudatabase dan impor tabel ke dalam database lain.
Caranya:
•
Pada halaman maintenance klik Export to Files untuk menggunakanData 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 prosesExport data
dengan
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 dariImport data
dengan
Data
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.
9-16
SQL*Loader
•
SQL*Loader: memanggil data dr file eksternal ke dlm tabel databaseoracle.
•
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 bisadi 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 olehSQL*Loader. File kontrol memberitahukan kepada SQL*Loader:
SQL*Loader
•
Bad Files : Bad file terdiri dari record yang ditolak, baik oleh SQL*Loader atau database oracle. File data yang ditolak olehSQL*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 jikaanda mempunyai spesifikasi dari discard file yang seharusnya ada.
Discard file terdiri dari record yang difilter diluar load karena mereka
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
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
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
9-22
Membandingkan Conventional dan Direct
Path Loads
Conventional Load Direct Path Load
Menggunakan 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
9-24
Latihan
•
Lakukan operasi DML pada table yang anda buat
sebelumnya
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;SEMARANG ( no_invoice NUMBER,
tgl_jual DATE,
area varchar2(10));
load data APPEND
into table PENJUALAN fields terminated by ";" TRAILING NULLCOLS
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
sqlldr USERID=test/test CONTROL=penjualan.ctl,
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