Tải bản đầy đủ (.ppt) (32 trang)

SQL loader

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (307.29 KB, 32 trang )

SQL Loader
<Insert Picture Here>


Outline
Tổng quan việc nạp dữ liệu
Các phương pháp nạp dữ liệu trong Oracle
Đăc điểm của SQL Loader
Load dữ liệu bằng SQL Loader
Demo load dữ liệu bằng SQL Loader.


Tổng quan việc nạp dữ liệu


Tổng quan việc nạp dữ liệu
Có một số phương pháp để load dữ liệu vào trong
tables của Oracle database,có 3 phương pháp phổ
biến :
Công cụ direct load insert: nạp dữ liệu trực tiếp.
SQL*loader: nạp dữ liệu từ file text, khuôn dạng
tự do
Công cụ Import và Export: nạp dữ liệu từ file lưu
trữ với khuôn dạng do Oracle quy định.


Tổng quan việc nạp dữ liệu
Direct load insert
Có thể được sử dụng để sao chép (copy) dữ liệu
từ một bảng sang một bảng khác trong cùng một
database.


Sử dụng phương pháp này có thể tăng tốc độ của
quá trình insert dữ liệu do có thể bỏ qua vùng đệm
dữ liệu, dữ liệu được ghi trực tiếp vào trong
database.


Tổng quan việc nạp dữ liệu
SQL loader
Là công cụ được sử dụng để load dữ liệu vào table
trong oracle database sử dụng các file dữ liệu bên
ngoài, công cụ này thường dùng chuyển dữ liệu từ
hệ thống khác (như FoxPro, Access,...) vào trong
Oracle.


Tổng quan việc nạp dữ liệu
Export và Import
Công cụ Export cho phép các users tách các Object
và dữ liệu trong Oracle Database và chuyển chúng
vào trong một file của hệ điều hành theo định dạng
file nhị phân của Oracle.
File sinh ra bởi công cụ Export có thể đọc bởi công
cụ Import để đưa dữ liệu đọc được vào trong cùng
một database hoặc vào một database khác.


Outline
Tổng quan việc nạp dữ liệu
Các phương pháp nạp dữ liệu trong Oracle
Đặc điểm của SQL Loader

Load dữ liệu bằng SQL Loader
Demo load dữ liệu bằng SQL Loader.


Đặc điểm của SQL Loader
• Có thể sử dụng một hay nhiều file đầu vào
• Các trường đầu vào có thể có độ dài thay đổi hoặc
như nhau.
• Dữ liệu đầu vào có thể có các định dạng khác nhau
– kí tự, nhị phân, date.
• Dữ liệu có thể được load từ các phương tiện lưu
trữ khác nhau như đĩa, băng từ.


Đặc điểm của SQL Loader
• Dữ liệu có thể được load vào một hoặc nhiều bảng
trong một lần chạy.
• Có tuỳ chọn cho phép thay thế hay nối tiếp dữ liệu
vào trong các bảng.
• Các hàm SQL có thể được sử dụng ngay trên dữ liệu
đầu vào trước khi dữ liệu được lưu trong database.
• Dữ liệu có thể được load trực tiếp vào trong bảng mà
không cần phải sử dụng đến vùng đệm.


Outline
Tổng quan việc nạp dữ liệu
Các phương pháp nạp dữ liệu trong Oracle
Đặc điểm của SQL Loader
Load dữ liệu bằng SQL Loader

Demo load dữ liệu bằng SQL Loader.


Load dữ liệu bằng SQL Loader
Sql* Loader nạp dữ liệu từ một file bên ngoài database
vào trong Oracle database.


Load dữ liệu bằng SQL Loader
SQL*Loader sử dụng các file sau đây:
• Control file (file điều khiển): dùng để định dạng cho dữ
liệu đầu vào, bảng đầu ra và các điều kiện tuỳ chọn có
thể được sử dụng để load một phần các bản ghi tìm
thấy trong file dữ liệu đầu vào.
• Data file (file dữ liệu): chứa dữ liệu đầu vào theo định
dạng được định nghĩa bởi control file.
• Parameter file (file tham số) là file tuỳ chọn có thể sử
dụng chứa các tham số dòng lệnh cho quá trình load.


Load dữ liệu bằng SQL Loader
• SQL*Loader sử dụng các file sau đây:
• Bad File: được sử dụng bởi công cụ load dùng để ghi
các bản ghi bị loại bỏ trong quá trình load (hiện tượng
này có thể xảy ra khi các bản ghi được load vào trong
bảng và bị loại ra sau khi kiểm tra tính hợp lệ đối với
các trường)
• Log File: được tạo bởi SQL*loader chứa một bản ghi
các thông tin trong quá trình load dữ liệu.
• Discard File: là một file có thể được tạo khi cần thiết,

file này chứa tất cả các bản ghi không thoả mãn điều
kiện lựa chọn.


Load dữ liệu bằng SQL Loader


Load dữ liệu bằng SQL Loader
• Cú pháp :
 C:\> sqlldr[keyword=]value[[[,]keyword=]value]...
 Trong đó :
keyword : là từ khoá
value
: là giá trị được gán cho từ khoá

• Ví dụ:
$sqlldr DemoSQLLoader/d123 \
> control=sinhvien.ctl \
> log=sinhvien.log


Từ khóa sử dụng khi load data


Từ khóa sử dụng khi load data
Từ khoá

Diễn giải



Parameter file (tệp tham số)
 Trong trường hợp thực hiện lệnh nạp dữ liệu với nhiều
tham số tuỳ chọn khác nhau, khi này ta có thể gom các tham
số tuỳ chọn này vào trong cùng một file tham số.
 Định dạng sau đây để định nghĩa tham số:
<KEYWORD> = <VALUE>
Ví dụ:
SQLLDR PARFILE=example.par
( Tham số PARFILE được dùng để xác định tên của file tham số. )


Control file(tệp Điều Khiển)
Tệp điều khiển bao gồm các thành phần sau:
Tên của tệp dữ liệu đầu vào sử dụng mệnh đề INFILE.
Các trường chỉ định bao gồm vị trí, kiểu dữ liệu, delimiter sử
dụng mệnh đề FIELDS.
Tên của bảng và phương pháp load dữ liệu, xác định dữ liệu
có được load vào bảng trống hay chèn các bản ghi mới sau
khi xoá các bản ghi đã tồn tại, hoặc gắn thêm các hàng vào
bảng đã tồn tại dữ liệu, sử dụng mệnh đề INTO TABLE.


Control file(tệp Điều Khiển)
Tệp điều khiển bao gồm các thành phần sau:
Điều kiện có thể được sử dụng cho việc lựa chọn
các hàng được load sử dụng mệnh đề WHEN.
Các cột được load .
Quy tắc cho việc sinh ra các giá trị cột, sử dụng
mệnh đề RECNUM, SYSDATE và áp dụng các hàm
SQL

Các comment (chú dẫn) sử dụng tiền tố “--“


Control file(tệp Điều Khiển)
Các Từ Khóa
Từ khoá

Diễn giải

INFILE

Xác định tên file chứa dữ liệu nạp vào database, dấu *
cho biết dữ liệu sẽ được lấy ngay trong control file, phía
sau của từ khoá BEGINDATA

BEGINDATA

Từ khoá xác định điểm bắt đầu chứa dữ liệu, sau từ
khoá này là dữ liệu cần nạp vào database.
Yêu cầu sử dụng bộ nhớ đệm để nạp dữ liệu vào
database, sử dụng trong phương pháp direct load.
Tên của các file lưu các dữ liệu không thể nạp được vào
database do phát sinh lỗi trong quá trình nạp dữ liệu.
Tên của file lưu các bản ghi bị bỏ qua không nạp vào
database do không đúng với tiêu chuẩn nạp dữ liệu
Tên tập ký tự sử dụng trong datafile

READBUFFERS
BADFILE
DISCARDFILE

CHARACTERSET


Control file(tệp Điều Khiển)
Các Từ Khóa
Từ khoá
INSERT

Diễn giải
Thêm mới 1 dòng dữ liệu trong database

APPEND

Chèn thêm một dòng dữ liệu vào cuối cùng của bảng

TRAILING
NULLCOLS

Điền giá trị null vào cột. TRAILING NULLCOLS được sử
dụng cùng với WHITESPACE

POSITION

Từ khoá dùng để xác định vị trí của dữ liệu cần nạp

CONSTANT

Đặt giá trị hằng số cho cột dữ liệu

RECNUM


Đếm số lượng dòng dữ liệu đã được nạp

SYSDATE

Trả về giá trị ngày giờ hiện thời

TERMINATED

Từ khoá xác định phân cách kết thúc

ENCLOSED

Từ khoá dùng để xác định đường bao dữ liệu


Data file(tệp dữ liệu)
File dữ liệu chứa các bản ghi được xử lý theo một định dạng
đã định nghĩa trong control file.
Dữ liệu trong data file thường là các dữ liệu ở dạng text.
Thông thường thì các dữ liệu này có được do việc export từ
các database khác loại như FoxPro, Access,...


Log file
Log file luôn được tạo ra và nếu quá trình load dữ liệu hoàn
thành mà log file không được tạo ra thì đó là do user thiếu
quyền hoặc không đủ không gian đĩa.
Log file bao gồm các thông tin sau:
Phần header: bao gồm thông tin về thời gian chạy, phiên

bản của phần mềm.
Các thông tin toàn cục: tên của input file và output file,
các tham số dòng lệnh.
Các thông tin bảng: tên bảng, điều kiện load và phương
pháp load.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×