Sử dụng công cụ Import

Một phần của tài liệu KIẾN TRÚC và QUẢN TRỊ cơ sở dữ LIỆU ORACLE (Trang 221 - 225)

CHƯƠNG 16. NẠP VÀ TỔ CHỨC LƯU TRỮ DỮ LIỆU

16.6.1. Sử dụng công cụ Import

Cụng cụ import dựng ủể ủưa dữ liệu từ cỏc export file vào database

Hỡnh vẽ 93. Sử dụng cụng cụ Import ủể ủưa dữ liệu vào database

Khi thực hiện Import dữ liệu, Users cần ủược ủược gỏn role IMP_FULL_DATABASE. Cụng cụ import cú thể ủược thực hiện ở cỏc chế ủộ sau:

Từ khoá Diễn giải

TABLES

Chế ủộ này cho phộp thực hiện import cỏc tables và partitions vào database.

FROMUSER

Với chế ủộ này, user cú thể import tất cả cỏc objects do user ủú sở hữu như tables, grants, indexes, và procedures.

FULL

Chỉ cú cỏc users ủược gỏn IMP_FULL_DATABASE role mới cú thể thực hiện import ở chế ủộ này. Khi này, user cú thể import toàn bộ database

TRANSPORT_TABL

ESPACES Cho phép user có quyền tương ứng có thể di chuyển và import tập hợp các tablespace từ database này sang database khác

Chế ủộ dũng lệnh Cú pháp:

$imp [keyword=]{value|(value, value ...)}

[ [ [,] keyword=]{value|(value, value ...)} ] ...

Với:

keyword là từ khoá sử dụng

value là giỏ trị ủược gỏn cho từ khoỏ

Các tham số dòng lệnh

Từ khoỏ Mặc ủịnh Diễn giải

ANALYZE Y Cho phộp thực hiện lệnh ANALYZE ủối với database trước khi import dữ liệu

BUFFER

Tuỳ theo hệ ủiều hành

Kớch thước của bộ ủệm sử dụng khi import. Kớch thước buffer ủược xỏc ủịnh theo cụng thức:

buffer_size = rows_in_array * maximum_row_size

COMMIT

N

Phỏt lần commit sau mỗi lần ủưa dữ liệu vào database trong quá trình import. Với cách này, dữ liệu sẽ ủược ủảm bảo ủưa vào database, ủể ủổi lại, thời gian import sẽ bị kéo dài hơn.

CONSTRAINTS

Y Cho biết có import cả các ràng buộc vào database hay không

DATAFILES Liệt kờ danh sỏch cỏc datafile sẽ ủược ủưa vào database.

FEEDBACK

0

Hiển thị mức ủộ import, số dũng dữ liệu ủược import, tại mỗi lần. Ví dụ: FEEDBACK=10, Công cụ import sẽ hiển thị tiến trình cho biết mỗi lần thực hiện sẽ ủưa ủược 10 dũng dữ liệu vào database FILE expdat.dmp Tên file dữ liệu vào. Tệp dữ liệu có phần mở rộng

là .dmp

FROMUSER Import các objects vàocác schemas thuộc FROMUSER

FULL

N

Giá trị là Y, import toàn bộ database. ðể thực hiện ủược việc này, user cần ủược cấp quyền IMP_FULL_DATABASE

GRANTS

Y

Giỏ trị là Y, import cỏc ủối tượng trong database cựng với cả cỏc quyền ủang ủược ỏp dụng trờn ủối tượng ủú

HELP

N Giá trị là Y, hiển thị danh sách tham số và ý nghĩa tương ứng của chúng

IGNORE

N Cú bỏ qua cỏc lỗi xảy ra trong quỏ trỡnh import ủể tiếp tục import dữ liệu mới hay không.

INCTYPE Cỏc chế ủộ incremental Import INDEXES Y Giá trị là Y, import cả các index.

LOG Tên file lưu trữ các thông báo khi import.

PARFILE Tên file chứa các tham số export RECORDLENGTH Tuỳ theo hệ

ủiều hành

Kớch thước tớnh theo bytes của 01 bản ghi ủược import

ROWS

Y Cho biết có import từng dòng dữ liệu trong bảng hay không.

SKIP_UNUSABLE_

INDEXES N Cho biết cú bỏ qua việc tạo cỏc index và ủặt nú về trạng thái Unusable trong quá trình Import hay không.

TABLES Liệt kê danh sách các bảng import. Ví dụ:

imp system/manager TABLES=(jones.accts, scott.emp,scott.dept)

TRANSPORT_TABL

ESPACE N Có import các transportable tablespace hay không TABLESPACES Khi tham số TRANSPORT_TABLESPACE = Y,

TABLESPACES sẽ dựng ủể liệt kờ danh sỏch tờn cỏc tablespace ủó import

TOUSER Hiển thị danh sách các user sở hữu các objects sẽ ủược import.

USERID Username và mật khẩu của user thực hiện export.

Chỳng ủược thể hiện theo khuụn dạng:

username/password AS SYSDBA hay username/password@instance AS SYSDBA Chỳ ý: Chỉ cú một tham số FULL=Y hay OWNER=user hay TABLES=schema.table ủược chỉ ủịnh.

Ví dụ:

> imp system/manager parfile=params.dat Nội dung của file params.dat:

FILE=blake.dmp

IGNORE=n GRANTS=y ROWS=y

FROMUSER=blake TOUSER=scott

TABLES=(unit,manager)

Thứ tự của quá trình import

Khi thực hiện import, cỏc objects (ủối tượng) sẽ lần lượt ủược ủưa vào database theo thứ tự sau:

1. Cỏc ủịnh nghĩa về kiểu dữ liệu (Type definitions) 2. Cỏc ủịnh nghĩa cỏc bảng (Table definitions) 3. Dữ liệu trong các bảng (Table data)

4. Các Index tương ứng với từng bảng (Table indexes) 5. Các Integrity constraints, views, procedures và triggers

6. Cỏc ủối tượng mở rộng khỏc như Bitmap, functional và domain indexes

Tớnh tuần tự này ngăn dữ liệu bị từ chối vỡ trật tự trờn ủú bảng ủược import. Trật tự này cũn ngăn cỏc trigger thực hiện hai lần trờn cựng một dữ liệu. Tuy nhiờn một số ủối tượng như thủ tục cú thể ủược kiểm tra khi import bởi vỡ chỳng ủược import trước khi cỏc ủối tượng ủược tham chiếu. Kiểm tra cỏc ủối tượng với STATUS=INVALID và compile lại chỳng.

Import vào một bảng ủó tồn tại

Khi import dữ liệu vào một bảng ủó tồn tại, trật tự của import cú thể cũn tạo ra lỗi tham chiếu. Tình huống tương tự cũng xảy ra khi có constraints trên một bảng mà có tham chiếu tới chính nó.

Vỡ lý do như ủó núi trờn ủõy, cỏch tốt nhất là disable cỏc tham chiếu bởi constraint khi import dữ liệu vào trong một bảng ủó tồn tại. Cỏc constraint cú thể ủược enable lại sau khi import thành công.

Ta cũng cú thể phõn chia quỏ trỡnh Import ra làm nhiều lần thay vỡ 1 lần ủể trỏnh việc check constraints mất nhiều thời gian.

Tablespace ủược sử dụng cho một ủối tượng

Nếu một user cú ủủ quota cần thiết cỏc bảng sẽ ủược import vào trong cựng một tablespace mà chỳng ủó ủược export. Tuy nhiờn nếu tablespace khụng tồn tại hay user khụng ủủ quota trờn tablespace, import sẽ tạo bảng trờn tablespace mặc ủịnh của user. Nếu user khụng truy xuất ủược tablespace mặc ủịnh, cỏc bảng sẽ khụng ủược import.

Một phõn ủoạn LOB chỉ cú thể ủược import vào cựng một tablespace từ ủú chỳng ủó ủược export. Một bảng ủang chứa LOB sẽ khụng ủược tạo nếu như owner của cỏc bảng khụng thể tạo cỏc ủối tượng trờn tablespace ở ủú cỏc phõn ủoạn LOB ủó ủược export.

Chú ý

Một bảng khụng chứa LOB cú thể ủược chuyển từ một tablespace sang một tablespace khỏc bằng cách sử dụng phương thức import.

Các hướng dẫn trong sử dụng export và import

Sử dụng cỏc tệp tham số ủể lưu cỏc tham số chung trong danh sỏch tham số.

Nếu cú nhiều hoạt ủộng update trờn cỏc bảng ủang ủược export nờn sử dụng tham số CONSISTENT=Y, nói chung nên chạy các quá trình export dữ liệu lớn khi có ít các hoạt ủộng trong bảng ủược export, nờn tạo cỏc rollback segment lớn cho quỏ trỡnh import.

Tuỳ chọn COMPRESS=Y sẽ sinh ra ủoạn mó ủể tạo initial extent , initial extent này bằng tổng kớch thước của tất cả cỏc extent hiện ủang ủược cấp phỏt cho một ủối tượng. Nếu ủối tượng cú nhiều hàng ủược xoỏ hay extent cuối cựng cú nhiều block khụng ủược sử dụng , thỡ khụng cần thiết phải cấp phỏt nhiều khụng gian cho ủối tượng ủú.

Cấp phỏt vựng ủệm lớn nếu hệ ủiều hành và nguồn của hệ thống cho phộp.

Một phần của tài liệu KIẾN TRÚC và QUẢN TRỊ cơ sở dữ LIỆU ORACLE (Trang 221 - 225)

Tải bản đầy đủ (PDF)

(266 trang)