Home Software [Belajar Bersama] Mengenal SQL*Loader - Seri Belajar Oracle
[Belajar Bersama] Mengenal SQL*Loader - Seri Belajar Oracle PDF Print E-mail
Written by Cakmamed   
Tuesday, 05 January 2010 04:16

sumber : http://cakmamed.freehostia.com/wordpress/?p=195

Pendahuluan
Banyak hal yang dapat kita jadikan bahan pertimbangan saat memilih  database yang akan digunakan dalam sistem aplikasi kita. Diantaranya adalah fitur - fitur yang dapat meningkatkan performa Sistem Aplikasi kita.

SQL*Loader (sqlldr) adalah suatu fitur yang tersedia didalam Sistem Database oracle. Sebagai Utility, SQLLDR adalah cara yang handal dalam menangani kegiatan atau aktifitas berkenaan dengan upload data eksternal ke dalam database oracle.

Cara kerja SQL*Loader

Pada gambar diatas adalah Arsitektur dari SQL*Loader.
Sqlldr membaca isi dari DataFile dan mendiskripsikan data sebagaimana telah didefinisikan didalam ControlFIle. Dengan menggunakan informasi DataFile & ControlFile beserta informasi parameter (user/password@servicename), Sqlldr dapat melakukan upload dari DataFile ke dalam table di basisdata kita.

Selama Proses Upload berlangsung, SQLLDR menyimpan semua catatan kedalam LOGFIle, datarow yang tidak bisa diupload ke dalam table akan di catat didalam BADFile.

Cara Menjalankan SQL*Loader
Banyak metode yang digunakan untuk menjalankan SQLLDR. Metode yang saya gunakan adalah melalui CommandLine (C:\ -  prompt).
Bentuk umumnya sebagai berikut :

C:\>Sqlldr userid=username/password@server control=controlfile.ctl,data=data.dat,log=data.log,bad=data.bad

Berikut penjelasan singkat mengenai Control File,LOGFile dan BADFile:

Control File
Adalah File yang berisi informasi yang menjelaskan bagaimana file data akan di load. Jika kita bedah file ini berisi nama table, dataType dari kolom table dan field pemisah data (Field Delimiters).
Contoh isi ControlFile.ctl:

load data
APPEND
into table MASTER_RUIM
fields terminated by ” “
TRAILING NULLCOLS
(
UIMID        CHAR    ,
ICCID        CHAR    ,
VENDOR_RUIM  CHAR           ,
VERSI_RUIM   CHAR
)

File Control berisi metode untuk mengambil data (dari data sumber) yang kemudian akan ditambahkan (append) kedalam suatu table (master_ruim),
Parameter - parameter dalam data sumber dipisahkan oleh field pemisah data (Field Delimiters), dalam contoh diatas menggunakan karakter ” ” (spasi).
Contoh data sumber yang akan diUpload sebagai berikut :

————————— data.dat ———————-
87D282EC 8906299010329993579 ABC 5.0.3
87D282ED 8906299010329993587 ABC 5.0.3
87D282EE 8906299010329993595 ABC 5.0.3
87D282EF 8906299010329993603 ABC 5.0.3
87D282F0 8906299010329993611 ABC 5.0.3
—————————————————————-

LOG File
LogFile adalah file berisi informasi tentang proses eksekusi SQL*Loader. Informasi dalam FIle ini bisa dilihat atau dibaca setelah proses dalam SQLLDR komplit.

Hal yang paling menarik pada logFile ini adalah Ringkasan atau summary informasi yang berisi tentang informasi :
- data yang sukses dan gagal saat upload
- waktu yang dibutuhkan
- dan lain lain

berikut isi data.log setelah proses upload :

—————— data.log —————–
SQL*Loader: Release 9.2.0.1.0 - Production on Wed Oct 14 15:37:58 2009
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Control File:   C:\sqlldr\mstruim.CTL
Data File:      C:\sqlldr\data.dat
Bad File:     data.BAD
Discard File:  none specified
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array:     64 rows, maximum of 256000 bytes
Continuation:    none specified
Path used:      Conventional
Table “CARDPS”.”MASTER_RUIM”, loaded from every logical record.
Insert option in effect for this table: APPEND
TRAILING NULLCOLS option in effect
Column Name                  Position   Len  Term Encl Datatype
—————————— ———- —– —- —- ———————
UIMID                               FIRST     *  WHT      CHARACTER
ICCID                                NEXT     *  WHT      CHARACTER
VENDOR_RUIM                          NEXT     *  WHT      CHARACTER
VERSI_RUIM                           NEXT     *  WHT      CHARACTER
Table “CARDPS”.”MASTER_RUIM”:
5 Rows successfully loaded.
0 Rows not loaded due to data errors.
0 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Space allocated for bind array:                  66048 bytes(64 rows)
Read   buffer bytes: 1048576
Total logical records skipped:          0
Total logical records read:             5
Total logical records rejected:         0
Total logical records discarded:        0
Run began on Wed Oct 14 15:37:58 2009
Run ended on Wed Oct 14 15:37:59 2009
Elapsed time was:     00:00:01.02
CPU time was:         00:00:00.13
————————————————
BadFile
BadFile adalah suatu file yang akan dibuat (created) manakala sedikitnya 1 record dari data file (data.dat) ditolak (rejected) pada saat proses upload. Records data yang ditolak biasanya disebabkan oleh beberapa kondisi seperti masuk dalam non-unique key atau kolom yang berisi null (a required column).

Demikian catatan saya mengenai SQL*Loader dalam serial belajar bersama tentang oracle ini. Saya sangat berkesan manakala pembaca dapat memberi masukan dan koreksi dalam tulisan ini,

Akhir Kata semoga bermanfaat,

Wasalam,

Cakmamed for Takwa Inspiration.

 

Lowker

Lowongan Kerja

Sebuah Perusahaan di Sunter

membutuhkan karyawan untuk

Technical Support

Kualifikasi :

S1/D3 Informatika

menguasai Trouble Shooting, ADSL, Jaringan

Lebih disukai Bisa PHP,MySQL

Kirim CV only ke Email :

aditya.kurnia@yahoo.com

 

 

Main Menu



Name :
Web URL :
Message :
:) :( :D :p :(( :)) :x


Module by: Camp26.Com

PIC ( Partner In Crime )