Đào tạo Oracle cơ bản - Giáo trình kiến trúc và quản trị Oracle 8i - Phần 5 ppt

13 675 1
Đào tạo Oracle cơ bản - Giáo trình kiến trúc và quản trị Oracle 8i - Phần 5 ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 51 13 Quản lý Indexes 13.1 Phân loại Index Index Index là cấu trúc cho phép truy xuất trực tiếp tới các dòng dữ liệu trong bảng. Index có thể đợc phân loại tuỳ theo thiết kế logic hay cài đặt vật lý. Single Column và Concatenated Column: - Single Column index: chỉ có một cột trong index key - Concatenated Column index: Index đợc tạo trên nhiều cột trong một table. Unique va NonUnique index: - Unique index: giá trị index xác định duy nhất một dòng dữ liệu trong bảng - NonUnique index: có nhiều dòng dữ liệu ứng với cùng một giá trị index Function-base index: - Giá trị index đợc xác định thông qua giá trị của một hàm Partition và NonPartition index: - Partitioned index: sử dụng cho các bảng lớn, lu giữ giá trị index tơng ứng trên nhiều segments. Partitioned index đợc sử dụng cho các Partitioned tables. - NonPartition index: index lu giữ các giá trị chỉ trên cùng một segment. B-tree Index Hình vẽ 7 Cấu trúc B-Tree Cấu trúc của B-Tree Index: B-Tree Index có cấu trúc dạng cây, trên cùng là một nút gốc, chứa các con trỏ trỏ tới các mức tiếp theo (nhánh) trong index. Mức dới cùng (lá) là các blocks. Mức nhánh này chứa các index trỏ tới dòng dữ liệu cụ thể trong bảng. Khuôn dạng của Index Leaf Entries: đợc chia làm các phần chính sau: - Entry header: chứa số lợng các cột và lock information Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 52 - Cặp các thông số: độ rộng và giá trị khoá index - ROWID của dòng dữ liệu chứa giá trị khoá Các tính chất của Index Leaf Entry: - Các giá trị khoá sẽ đợc lặp lại nếu có nhiều dòng dữ liệu có cùng giá trị khoá - Không có index entry ứng với các dòng dữ liệu mà tất cả các cột khoá đều có giá trị NULL ảnh hởng của các DML Operations đối với index: - Thao tác chèn dữ liệu sẽ tơng ứng với việc chèn thêm một nút dữ liệu vào cây. - Xoá dòng dữ liệu sẽ tơng ứng với việc xoá về mặt logic một index entry - Cập nhật dòng dữ liệu sẽ tơng ứng với việc xoá index entry ứng với giá trị cũ và thêm mới một index entry ứng với giá trị mới. Bitmap Index Là một cách tổ chức khác của Index. Một bitmap index cũng đợc tổ chức theo kiểu B-tree, Nhng mỗi nút lá lại chứa một bitmap (bản đồ ánh xạ bit) đối với mỗi giá trị khoá thay vì là danh sách các giá trị ROWID. Mỗi bit trong bitmap tơng ứng với một ROWID, và nếu bit đợc bật thì điều đó có nghĩa rằng dòng dữ liệu tơng ứng với ROWID chứa giá trị khoá. Cấu trúc: Entry header: : chứa số lợng các cột và các lock information Giá trị khoá: bao gồm một cặp chiều dài và giá trị ứng với mỗi cột Hình vẽ 8 Cấu trúc Bitmap Index Đánh giá việc sử dụng B-Tree Index và Bitmap Index B-tree Bitmap Suitable for high- cardinality columns Suitable for low- cardinality columns Updates on keys relatively Updates on keys relatively expensive Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 53 inexpensive Inefficient for queries using OR predicates Efficient for queries using OR predicates Useful for OLTP Useful for data warehousing 13.2 Quản lý Index Tạo index Sử dụng câu lệnh: CREATE [ UNIQUE ]INDEX [schema.] index ON [schema.] table (column [ ASC | DESC ] [ , column [ASC | DESC ] ] ) [ TABLESPACE tablespace ] [ PCTFREE integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ storage-clause ] [ LOGGING| NOLOGGING ] [ NOSORT ] Ví dụ: CREATE INDEX summit.employee_last_name_idx ON summit.employee(last_name) PCTFREE 30 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE indx; Sử dụng Oracle Enterprise Manager - Chọn Object/Create - Chọn đối tợng cần tạo là index - Đặt các thuộc tính thích hợp trong page General, Storage, Options - Bấm Create để tạo index Tạo Reverse Key Indexes Cú pháp: CREATE [ UNIQUE ]INDEX [schema.] index ON [schema.] table (column [ ASC | DESC ] [ , column [ASC | DESC ] ] ) [ TABLESPACE tablespace ] [ PCTFREE integer ] [ INITRANS integer ] [ MAXTRANS integer ] Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 54 [ storage-clause ] [ LOGGING| NOLOGGING ] REVERSE Ví dụ: CREATE UNIQUE INDEX summit.orders_id_idx ON summit.orders(id) REVERSE PCTFREE 30 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE indx; Tạo Bitmap Indexes Sử dụng tham số CREATE_BITMAP_AREA_SIZE để chỉ ra dung lợng bộ nhớ cấp phát cho Bitmap. Cú pháp: CREATE BITMAP INDEX [schema.] index ON [schema.] table (column [ ASC | DESC ] [ , column [ASC | DESC ] ] ) [ TABLESPACE tablespace ] [ PCTFREE integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ storage-clause ] [ LOGGING| NOLOGGING ] [ NOSORT ] Ví dụ: CREATE BITMAP INDEX orders_region_id_idx ON summit.orders(region_id) PCTFREE 30 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE indx; Thay đổi các thông số của index Để thay đổi các tính chất của index, sử dụng lệnh ALTER INDEX. Thay đổi tham số lu trữ của index: Cú pháp: ALTER INDEX [schema.]index [ storage-clause ] [ INITRANS integer ] [ MAXTRANS integer ] Ví dụ: ALTER INDEX summit.employee_last_name_idx STORAGE(NEXT 400K MAXEXTENTS 100); Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 55 Cấp phát/ thu hồi không gian dành cho index Cú pháp: ALTER INDEX [schema.]index {ALLOCATE EXTENT ([SIZE integer [K|M]] [ DATAFILE filename ]) | DEALLOCATE UNUSED [KEEP integer [ K|M ] ] } Ví dụ: ALTER INDEX summit.orders_region_id_idx ALLOCATE EXTENT (SIZE 200K DATAFILE /DISK6/indx01.dbf); ALTER INDEX summit.orders_id_idx DEALLOCATE UNUSED; Xây dựng lại index Cú pháp: ALTER INDEX [schema.] index REBUILD [ TABLESPACE tablespace ] [ PCTFREE integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ storage-clause ] [ LOGGING| NOLOGGING ] [ REVERSE | NOREVERSE ] Ví du: ALTER INDEX summit.orders_region_id_idx REBUILD TABLESPACE indx02; ALTER INDEX summit.orders_id_idx REBUILD ONLINE; Huỷ bỏ index Sử dụng câu lệnh: DROP INDEX [schema.] index Ví dụ: DROP INDEX summit.deptartment_name_idx; Sử dụng Oracle Enterprise Manager - Chọn Index muốn huỷ - Chọn Object/remove - Bấm Yes để huỷ index 13.3 Thông tin về index Thông tin về index đợc lu giữ trong các view từ điển đữ liệu: DBA_INDEXES, DAB_IND_COLUMNS. Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 56 Ví dụ: lấy thông tin về các indexes sở hữu bởi SUMMIT SQL> SELECT index_name, tablespace_name, index_type, 2 uniqueness, status 3 FROM dba_indexes 4 WHERE owner=SUMMIT; INDEX_NAME TABLESPACE_NAME INDEX_TYPE UNIQUENES STATUS EMPLOYEE_LAST_ INDX NORMAL NONUNIQUE VALID ORDERS_ID_IDX INDX NORMAL UNIQUE VALID ORDERS_REGION_ INDX02 BITMAP NONUNIQUE VALID 3 rows selected. 14 Duy trì ton vẹn dữ liệu (Maintaining data integrity) 14.1 Các dạng ton vẹn dữ liệu Toàn vẹn dữ liệu là yêu cầu đầu tiên của một hệ quản trị CSDL. Có 3 cách để đảm bảo toàn vẹn CSDL - Mã nguồn - Database trigger - Constraint Chọn cách thức toàn vẹn dữ liệu nào là do ngời thiết kế chơng trình. Ngời quản trị chỉ kiểm tra và làm theo các yêu cầu toàn vẹn số liệu đã đợc định sãn. Mã nguồn đợc chạy tại client vì vậy trong phần này chỉ chú ý tới Database trigger và Constraint. Database trigger: là một đoạn chơng trình PL/SQL thực hiện khi có các hành động insert, update xảy ra trên các column của bảng. Database trigger có thể bật hoặc tắt khi cần. Database trigger thờng đợc dùng để đảm bảo các ràng buộc phức tạp về mặt nghiệp vụ. Constraint là kỹ thuật để đảm bảo các ràng buộc cố định về mặt nghiệp vụ, Có đặc điểm: - Tăng khả năng thực thi - Dễ định nghĩa và sửa đổi bởi vì nó không phải là những đoạn mã phức tạp - Các ràng buộc chính - Mềm dẻo - Có đầy đủ thông tin trong database dictionary. Có các loại constraint sau: - NULL/NOT NULL: ràng buộc column trống hoặc không trống, trong ví dụ mệnh đề ràng buộc: - UNIQUE: Chỉ ra ràng buộc duy nhất, các giá trị của column chỉ trong mệnh đề UNIQUE trong các row của table phải có giá trị khác biệt. Giá trị null là cho phép nêu UNIQUE dựa trên một cột. Vd: Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 57 - PRIMARY KEY: Chỉ ra ràng buộc duy nhất (giống UNIQUE), tuy nhiên khoá là dạng khoá UNIQUE cấp cao nhất. Một table chỉ có thể có một PRIMARY KEY. Các giá trị trong PRIMARY KEY phải NOTT NULL. - FOREIGN KEY ( Referential ): Chỉ ra mối liên hệ ràng buộc tham chiếu giữa table này với table khác, hoặc trong chính 1 table. Nó chỉ ra mối liên hệ cha-con và chỉ ràng buộc giữa FOREIGN KEY bảng này với PRIMARY KEY hoặc UNIQUE Key của bảng khác. Ví dụ quan hệ giữa DEPT và EMP thông qua trờng DEPTNO. - CHECK: Ràng buộc kiểm tra giá trị 14.2 Tạo các constraint Tạo constraint cùng với việc tạo table. Tạo constraint cùng với việc chỉnh sửa cấu trúc bảng Cú pháp nh sau: Tạo constraint tại mức column column datatype [CONSTRAINT constraint_name] {[NOT] NULL | PRIMARY KEY [USING INDEX index_clause] | UNIQUE [USING INDEX index_clause] | REFERENCES [schema.]table[(column)] [ON DELETE CASCADE] | CHECK (condition) [DISABLE|ENABLE [VALIDATE|NOVALIDATE]] Constraint_name : Tên Constraint USING INDEX index_clause : xác định các tham số cho mệnh đề INDEX DEFERRABLE : chỉ định Constraint kiểm tra tại điểm cuối của câu lệnh DML mặc định l NOT DEFERRABLE Ví dụ: CREATE TABLE NHANVIEN ( MA NUMBER(7) CONSTRAINT PK_NV PRIMARY KEY DEFERRABLE USING INDEX STORAGE (INITIAL 100k NEXT 100k) TABLESPACE INDX, TEN VARCHAR2(25) CONSTAINT CK_NAME NOT NULL, MAPHONGBAN NUMBER(7)) TABLESPACE DATA; Tạo constraint tại mức table CONSTRAINT constraint_name {| PRIMARY KEY (column [,column ]) [USING INDEX index_clause] | UNIQUE (column [,column ]) [USING INDEX index_clause] Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 58 | FOREIGN KEY (column [,column ]) REFERENCES [schema.]table[(column)] [ON DELETE CASCADE] | CHECK (condition)} [DISABLE|ENABLE [VALIDATE|NOVALIDATE]] Để quản lý các constraint dùng lệnh ALTER TABLE. để cho phép hoặc không cho phép constraint đó hoạt động. Cú pháp nh sau: ALTER TABLE [schema.] table ENABLE [VALIDATE] { CONSTRAINT constraint_name |PRIMARY KEY | UNIQUE (COLUMN [,COLUMN] )} [USING INDEX index_clause] [EXCEPTIONS INTO [scheme.].table]; 14.3 Lấy thông tin về các constraint Thông tin về các constraint chứa trong bảng DBA_ CONSTRAINTS. Bảng EXCEPTIONS đợc ORACLE dùng để lu các thông tin về các lỗi ràng buộc Cách dùng bảng EXCEPTIONS theo các bớc sau: - Nếu bảng EXCEPTIONS cha đợc tạo chạy file utlexcpt.sql trong th mục \RDBMS\ADMIN Ví dụ để tạo bảng EXCEPTIONS, dùng lệnh SQL> @%ORACLE_HOME%\RDBMS\ADMIN\utlexcpt; - Sửa đổi bảng dùng mệnh đề EXCEPTIONS. SQL> ALTER TABLE EMP ENABLE VALIDATE CONSTRAINT EMP_DEPT_FK EXCEPTIONS INTO SYSTEM.EXCEPTION; SQL> ora-02298 cannot enable em+_dept_fk - Xác định dữ liệu lỗi đợc đa vào bảng EXCEPTIONS select rowid, empno, ename, deptno from emp where rowid in (select row_id from EXCEPTIONs) for update; ROWID EMPNO ENAME DEPTNO AAAeyAADAAAAA1AAA 77 NGUYEN 50 - Làm chuẩn dữ liệu lỗi Update emp set id = 7777 where rowid = 'AAAeyAADAAAAA1AAA'; - Xoá thông tin về dữ liệu lỗi trong bảng EXCEPTIONS TRUNCATE TABLE EXCEPTIONS; ALTER TABLE EMP ENABLE VALIDATE CONSTRAINT EMP_DEPT_FK Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 59 EXCEPTIONS INTO SYSTEM.EXCEPTION; 15 Nạp dữ liệu Là cách thức chuyển dữ liệu từ bên ngoài hoặc bên trong CSDL vào các bảng (tables) của CSDL. Oracle cung cấp nhiều phơng pháp để thực hiện việc nạp dữ liệu vào trong các bảng. Các phơng pháp thờng dùng có thể kể đến là: - Nạp dữ liệu trực tiếp - Sử dụng công cụ SQL* Loader - Sử dụng công cụ Export và Import 15.1 Nạp dữ liệu trực tiếp Nạp dữ liệu trực tiếp có thể đợc sử dụng để sao chép dữ liệu từ một bảng ( table) này tới bảng khác trong cùng một CSDL. Nó gia tăng hiệu quả của các thao tác nạp dữ liệu bằng cách bỏ qua các bộ đệm và viết trực tiếp vào trong datafile. Cú pháp của lệnh nh sau: INSERT /* APPEND * / INTO [schema.] table [[ NO] LOGGING] sub-query; Trong đó: - schema: Là tên của ngời chủ của bảng - table: Là tên của bảng - sub-query: là câu lệnh đợc sử dụng để lấy thông tin yêu cầu để thực hiện lệnh nạp dữ liệu - LOGGING và NOLOGGING: Tuỳ chọn LOGGING ( Ngầm định) cho phép sinh ra các thực thể tơng ứng trong redo log trong quá trình nạp dữ liệu, nhằm mục đích khôi phục lại trạng thái dữ liệu trớc đó trong trờng hợp nạp dữ liệu có sự cố. NOLOGGING không sinh ra các bản ghi trong redo log, nên trong trờng hợp có sự cố không thể quay trở lại trạng thái dữ liệu trớc đó Ví dụ: INSERT INTO scott.emp NOLOGGING SELECT * FROM Scott.old_emp; 15.2 Sử dụng công cụ SQL* Loader SQL* Loader là tiện ích đợc sử dụng để nạp dữ liệu từ một file bên ngoài vào trong CSDL Oracle. Đây cũng là công cụ rất mạnh và thờng đợc sử dụng để chuyển dữ liệu từ một hệ thống khác sang cơ sở dữ liệu Oracle. SQL* Loader có thể cho phép: Có thể sử dụng một hoạch nhiều file đầu vào Có thể kết hợp nhiều bản ghi trong một bản ghi logic trong quá trình nạp dữ liệu Các trờng đầu vào có thể có chiều dài xác định hoặc thay đổi Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 60 Dữ liệu vào có thể ở bất kỳ dạng gì: character, binary, date Dữ liệu có thể nạp từ nhiều thiết bị lu trữ khác nhau: nh đĩa cứng, đĩa mềm, băng từ Dữ liệu có thể nạp vào tròng nhiều bảng cùng llúc trong một lần chạy Có các tuỳ chọn cho phép thêm dữ liệu hoặc thay thế dữ liệu đang có trong bảng Có thể thực hiện nạp trực tiếp dữ liệu vào bảng không cần qua các bộ đệm 15.2.1 Các file đợc sử dụng bởi SQL* Loader Trong quá trình nạp dữ liệu, SQL* Loader thờng sử dụng hoặc sinh ra các file nh sau: Control file: Xác định khuông dạng đầu vào, bảng đầu ra và các điều kiện tuỳ chọn mà có thể đợc sử dụng để nạp chỉ những bản ghi phù hợp tìm thấy trong file dữ liệu đầu vào. Data files: Có chứa dữ liệu với khuuong dạng định nghĩa trong Control file Parameter files: Là file tuỳ chọn mà có thể đợc sử dụng để định nghĩa các biến của các dòng lệnh nạp dữ liệu Log files: đợc tạo bởi SQL* Loader và có chứa bản ghi đợc nạp Bad file: Có chứa các bản ghi bị loại trong quá trình nạp ( ví dụ các bản ghi có khuông dạng không phú hợp) Discard file: Có chứa tất cả các bản ghi không phù hợp với điều kiện lựa chọn để nạp 15.2.2 Các Phơng pháp nạp dữ liệu bằng SQL loader. Phơng pháp thông thờng: Xây dựng một dãy các hàng ( rows) và sử lệnh SQL INSERT để nạp dữ liệu. Theo cách này các bản ghi đầu vào đợc phân tích trên cơ sở các đặc điểm của các trờng và một mảng các bản ghi đợc tạo ra đợc chèn vào bảng chỉ định trong control file. Các bản ghi mà không phù hợp với tính chất của trởng sẽ bị loại bỏ . Việc sinh ra redo log đợc kiểm soát bởi thuộc tính Logging. Phơng pháp trực tiếp: Xây dựng các khối dữ liệu ( blocks) trong bộ nhớ và sau đó ghi trực tiếp vào vùng đợc xác định cho bảng sẽ đợc nạp dữ liệu. Redo log không đợc tạo ra trừ phi CSDL đang trong Archivelog mode. Phơng pháp trực tiếp sử dụng các đặc tính của tr ờng để xây dựng toàn bộ các khối (blocks) dữ liệu và viết trực tiếp các block dữ liệu vào Oracle data file. Nạp trực tiếp bỏ qua các bộ đệm CSDL và chỉ truy nhập SGA nên nó cho phép nhanh hơn phơng pháp thông thờng nhng nó lại không thể sử dụng trong mọi trờng hợp. Sau đây là bảng so sánh các sự khác nhau giữa phơng pháp thông thờng và phơng pháp trực tiếp Phơng pháp thông thờng Phơng pháp trực tiếp Sử dụng lệnh COMMIT để tạo ra thay đổi dữ liệu một cách cố định Sử dụng lu dữ liệu ( data saves) Các mục Redo log luôn luôn đợc tạo ra Chỉ tạo ra redo dới các điều kiện xác định Tuân theo tất cả các Constraint Chỉ tuân theo các Constrain Primary key, UNIQUE, NOT NULL [...]... cho file điều khiển Trong SQL có thể dùng bất cứ biểu thức SQL nào -Job_title POSITION (34 :55 ) CHAR "UPPER(:job_title)" -field1 DATE 'mm-dd-yyy' "RTRIM(:field1)" Thực hiện các quá trình nạp dữ liệu Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 61 Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i >SQLLDR username/password [keyword= value ] Trong đó CONTROL=...Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Trigger INSERT đợc bật Trigger INSERT không bật Có thể nạp dữ liệu vào trong một nhóm bảng không thể nạp dữ liệu vào trong một nhóm bảng Các user khác có thể thực hiện các thay đổi trên các bảng này Các user khác không thể tạo ra các thay đổi trên các bảng này 15. 2.3 Cách sử dụng SQL*Loader Các bớc sử dụng SQL*Loader 1 Tạo file nguồn... chế độ Table mode, User mode, Database Mode Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 62 Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Table mode: Dùng để export các đối tợng bảng Chúng ta có thể Export các đối tợng sau: Table data, Table definitions, Owner's table grant, constraints, triggers, Indexes và xác định phơng thức sử dụng lệnh import User... file sau: - Bad record file Log file Discard file Các quyền hạn cần có khi sử dụng SQL*Loader: - Có quyền INSERT trên table - Quyền delete table, cần thiết cho việc xóa rỗng table rồi load file 15. 3 Tổ chức lại dữ liệu Import và Export là dùng để di chuyển dữ liệu vào hoặc ra khỏi cơ sở dữ liệu của Oracle Export tạo một bản copy của tất cả các đối tợng của table (table object) và ghi nó vào file ngoài... nhập dữ liệu 2 Tạo file điều khiển 3 Thực hiện các quá trình load dữ liệu 4 Kiểm tra kết quả Tạo một file nguồn cho việc nhập dữ liệu(file dữ liệu) là việc cung cấp các dữ liệu dùng cho việc nhập Tạo một file điều khiển là việc tạo một file điều khiển để cung cấp cho SQL*Loader những tthông tin sau: - Tên, vị trí của file dữ liệu - ánh xạ các dữ liệu nhập vào các cột của table tơng ứng - Đặc tả điều... Tên user đợc import Charset Chỉ character set của export file Buffer Kích thớc của vùng đệm dữ liệu File Tên file đợc đa vào Grants Chỉ ra rằng có import có kèm theo grants hay không Ví dụ: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 63 ... ghi nó vào file ngoài Import dựa vào file Export đa dữ liệu trở lại cơ sở dữ liệu Ngòi ta thờng sử dụng công cụ này trong một số trờng hợp sau: Dùng để lu trữ dữ liệu Nâng cấp vào phiên bản mới của Oracle( chuyển dữ liệu từ version cũ sang version mới) Xóa tất cả các tablespace Nâng cao hiệu suất của cơ sở dữ liệu nhờ việc giảm khả năng phân mảnh dữ liệu lu trữ 15. 3.1 Export: Export có 3 chế độ... file (.ctl) LOG: Tên log file (.log) BAD: Tên bad file (.bad) DATA: l file dữ liệu đầu vo DISCARD: l file chứa các bản ghi không đợc đa vo CSDL DISCARDMAX: Số lớn nhất các bản ghi DISCARD SKIP: Số bản ghi bị bỏ qua khi nạp số liệu LOAD: Số bản ghi đợc nạp sau khi bỏ qua ERRORS: Số tối đa các bản ghi bị lỗi cho phép ROWS: Số row đa vo vùng đệm trớc khi nạp số liệu DIRECT: Xác định phơng pháp trực tiếp (TRUE)... nạp dữ liệu và khuôn dạng dữ liệu cho các cột table Cú pháp của việc tạo file điều khiển điển hình nh sau: LOAD DATA INFILE filename INTO TABLE table_name ( field_name1 POSITION(start:end) CHAR field_name2 POSITION(start:end) CHAR) Ví dụ: /*tên file l CASE1.CTL*/ LOAD DATA INFILE 'EMP_DEFT.DAT' INSERT INTO TABLE EMP ( EMP_ID SEQUENCE(MAX,1), F_NAME POSITION (01: 35) CHAR, L_NAME POSITION (36, 75) CHAR,... lại hay không Owner Tên của đối tợng sẽ đợc export Ví dụ: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR) 15. 3.2 Import: Chỉ có thể đọc các file đợc tạo bởi export Để thực hiện đợc lệnh này đòi hỏi bạn phải có một số quyền tơng ứng Bạn có thể Import table, Grants, Object, Procedures, Functions và packages Cú pháp lệnh Import: Imp [KEYWORD=] {value|(value1,value2, ,valueN) } [ [ [ ] KEYWORD=] {value|(value1,value2, . Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 51 13 Quản lý Indexes 13.1 Phân. integer ] Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 54 [ storage-clause ] [ LOGGING| NOLOGGING. giá trị khác biệt. Giá trị null là cho phép nêu UNIQUE dựa trên một cột. Vd: Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i

Ngày đăng: 06/08/2014, 01:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan