Tải bản đầy đủ (.pdf) (14 trang)

Đào tạo cơ bản về Oracle8i (A76965-01) - Phần 1 docx

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 (187.97 KB, 14 trang )

C«ng ty FPT C27
Trung t©m gi¶i ph¸p phÇn mÒm Phßng 4








§μo t¹o c¬ b¶n vÒ Oracle8i
(A76965-01)























Hµ néi - 09/2001
Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
2
Nội dung tài liệu
Giới thiệu về CSDL và hệ quản lý thông tin
Cấu trúc CSDL và quản lý không gian
Cấu trúc bộ nhớ và tiến trình
Mô hình quan hệ hớng đối tợng cho hệ quản trị CSDL
Truy cập dữ liệu đồng thời và tính nhất quán
Distributed Processing and Distributed Databases
Startup and Shutdown Operations
Bảo mật CSDL
Database Backup and Recovery
Truy nhập dữ liệu
Chi tiết về lệnh SQL


Chú ý:
Các thông tin trong tài liệu này liên quan đến cả Oracle8i và Oracle8i Enterprise
Edition. Một vài đặc tính và tuỳ chọn đợc mô tả ở đây chỉ có trong Oracle8i
Enterprise Edition. Xem tài liệu 'Getting to Know Oracle8i' để biết thêm về sự khác
biệt giữa Oracle8i và Oracle8i Enterprise Edition.







Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
3
Mục lục
Giới thiệu về CSDL và hệ quản lý thông tin 5
Oracle Server 6
Oracle Instance 6
Oracle Parallel Server, Hệ Thống Nhiều Instance (Multiple Instance System) 7
Cấu trúc CSDL và quản lý không gian 7
Cấu trúc Logic của CSDL 7
Tablespace 7
Lợc đồ (Schema) và đối tợng lợc đồ (Schema Object) 8
Khối dữ liệu, Extent, and Segment 8
Cấu trúc vật lý của CSDL 9
File dữ liệu (Datafile) 9
Các file Redo Log 10
Các file điều khiển (Control File) 10
Cấu trúc của ngôn ngữ truy vấn (SQL) 11
Các tiện ích dữ liệu (Data Utilitie) 11
Cấu trúc bộ nhớ và tiến trình 12
Cấu trúc bộ nhớ 12
Vùng dữ liệu dùng chung của hệ thống (System Global Area) 13
Vùng dùng chung cho chơng trình (PGA) 14
Cấu trúc tiến trình (Process Architecture) 14
Tiến trình User (Client) 15
Cấu trúc tiến trình Oracle (Oracle Process Architecture) 15
Các tiến trình ở Server (Server Processes) 15
Các tiến trình nền (Background Process) 15
Phần mềm giao tiếp và Net8 17
Giao diện chơng trình (The Program Interface) 18

Ví dụ hoạt động của Oracle 18
Mô hình quan hệ hớng đối tợng cho hệ quản trị CSDL 19
Mô hình quan hệ 19
Mô hình quan hệ hớng đối tợng 19
Lợc đồ (Schemas) & các đối tợng lợc đồ 20
Bảng 20
Views 20
View thực 21
Sequences 21
Đơn vị chơng trình 21
Synonyms 21
Indexes 22
Clusters and Hash Clusters 22
Dimensions 23
Database Links 24
Từ điển dữ liệu 24
Truy cập dữ liệu đồng thời và tính nhất quán 24
Truy cập đồng thời 25
Tính nhất quán 25
Read Consistency, Rollback Segments, and Transactions 25
Giao dịch chỉ đọc 26
Cơ chế khoá 26
Khoá tự động 26
Khoá do ngời sử dụng 27
Distributed Processing and Distributed Databases 27
Startup and Shutdown Operations 27
Bảo mật CSDL 27
Cơ chế bảo mật 28
Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
4

User và lợc đồ 28
Quyền 29
Roles 29
Hạn mức và tham số lu trữ 30
Profiles và giới hạn tài nguyên 31
Lu vết 31
Database Backup and Recovery 32
Truy nhập dữ liệu 32
Cấu trúc nhôn ngữ truy vấn SQL 32
Các câu lệnh SQL 32
Các giao dịch (Transaction) 33
Commit & Roll Back các giao dịch 34
Savepoints - Các điểm đánh dấu giao dịch 34
Sử dụng giao dịch để đảm bảo tính nhất quán của dữ liệu 34
PL/SQL 35
Các thủ tục và các hàm 35
Các gói (Package) 36
Những Trigger CSDL 36
Các phơng thức (Method) 36
Toàn vẹn dữ liệu (Data Integrity ) 36
Những ràng buộc toàn vẹn dữ liệu (Integrity Constraint) 37
Khoá (Key) 37
Trigger của CSDL 37
Chi tiết về lệnh SQL 38
Ngôn ngữ định nghĩa dữ liệu (Data Definition Language (DDL)) 38
Lệnh tạo CSDL 38
Lệnh tạo bảng 38
Lệnh tạo VIEW 38
Lệnh tạo User 39
Lệnh xóa CSDL 39

Lệnh xóa một bảng 39
Lệnh xóa User của một CSDL 40
Các lệnh cấp và xóa quyền 40
Sửa đổi cấu trúc 41
Ngôn ngữ thao tác với dữ liệu (DML) 41
Các lệnh truy vấn 41
Các lệnh truy vấn lồng nhau 41
Các lệnh quản trị dữ liệu 42

Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
5
Giới thiệu về CSDL v hệ quản lý thông tin
Máy chủ CSDL giữ vị trí then chốt trong việc giải quyết các vấn đề của hệ quản lý
thông tin. Sever phải quản lý một cách tin cậy khối lợng lớn dữ liệu trong môi trờng
nhiều ngời dùng giúp User có thể truy nhập đồng thời cùng một dữ liệu. Các thao tác
phải hoàn thành với hiệu năng cao nhất. CSDL Server cũng phải ngăn chặn đợc các
truy nhập bất hợp pháp và cung cấp giải pháp phục hồi dữ liệu hiệu quả khi có lỗi.

Những đặc trng của Oracle Server

Môi trờng
client/Server
(xử lý phân tán)
Để tận dụng đợc tối đa lợi ích của hệ thống máy tính hay hệ
thống mạng, Oracle cho phép phân chia việc xử lý giữa máy chủ
và chơng trình ứng dụng ở máy trạm. Máy tính chạy
HQTCSDL chịu trách nhiệm xử lý các yêu cầu nhiệm vụ của
máy chủ trong khi các máy trạm chạy ứng dụng tập trung vào
việc hiển thị dữ liệu
Cơ sở dữ liệu lớn

quản lý không gian
trống
Oracle hỗ trợ lớn nhất về CSDL bao gồm nhiều terabyte dữ liệu.
Sử dụng hiệu quả các thiết bị phần cứng đắt tiền, Oracle cho
phép tận dụng tốt các không gian trống.
Nhiều User kết nối
đồng thời vào
CSDL
Oracle hỗ trợ số lợng lớn ngời sử dụng đồng thời kết nối và
thao tác trên cùng một dữ liệu, giảm tối đa sự tranh chấp dữ liệu.
Khả năng kết nối Phần mềm của Oracle hỗ trợ nhiều kiểu máy tính và hệ điều
hành khác nhau, chúng cùng chia sẻ thông tin trên mạng.
Thực hiện và xử lý
các giao dịch
nhanh
Oracle đảm bảo hỗ trợ đầy đủ các tính năng của phiên bản trớc
với hiệu năng tổng thể cao. Ngời sử dụng CSDL không phải
chịu đựng tốc độ xử lý chậm chạp.
Tính sẵn sàng cao Tại một số nơi, Oracle phải làm việc liên tục 24 giờ/ngày. Các
thao tác thông thờng của Hệ điều hành nh sao lu dữ liệu và
khi một vài thành phần của hệ thống bị lỗi không làm gián đoạn
CSDL đang sử dụng
Khả năng điều
khiển đợc tính
sẵn sàng của hệ
thống
ở mức cơ sở dữ liệu và mức CSDL con, Oracle có thể điều khiển
tính sẵn sàng của dữ liệu. Ví dụ nh ngời quản trị không cho
phép sử dụng một phần của ứng dụng CSDL để nạp lại dữ liệu
mà không ảnh hởng đến các phần ứng dụng khác

Chuẩn mở

Oracle áp dụng các chuẩn công nghiệp cho ngôn ngữ truy nhập
dữ liệu, hệ điều hành, giao diện ngời sử dụng và nghi thức giao
tiếp mạng. Điều đó bảo vệ đợc đầu t ban đầu của khách hàng.
Oracle cũng hỗ trợ chuẩn SNMP trong quản trị hệ thống. Giao
thức này cho phép ngời quản trị hệ thống quản lý một hệ thống
phức hợp bằng một giao diện chung đơn giản
Bảo mật có điều
khiển
Nhằm tránh những truy nhập và sử dụng trái phép đối với CSDL,
Oracle cung cấp các tính năng an toàn bảo mật để giới hạn và
theo dõi truy nhập dữ liệu. Các tính năng này làm cho việc quản
lý trở nên dễ dàng ngay cả trong hầu hết các trờng hợp thiết kế
truy cập dữ liệu phức tạp.
Toàn vẹn CSDL

Oracle buộc dữ liệu phải toàn vẹn, kiểm tra chuẩn cho dữ liệu.
Điều này giảm chi phí cho việc lập trình trong nhiều ứng dụng.
Tính khả chuyển Phần mềm Oracle làm việc với nhiều hệ điều hành khác nhau.
Những ứng dụng phát triển với Oracle có thể chuyển sang bất cứ
Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
6
hệ điều hành nào mà không cần sửa hoặc chỉ sửa chút ít.
Tính tơng thích Phần mềm Oracle tơng thích với nhiều chuẩn công nghiệp, bao
gồm cả các chuẩn công nghiệp của các hệ điều hành. Những ứng
dụng phát triển với Oracle có thể sử dụng trên bất kì hệ thống
nào mà không cần sửa hoặc chỉ sửa chút ít.
Hệ thống phân tán Với mạng máy tính, môi trờng phân tán, Oracle kết hợp dữ liệu
vật lý trên các máy khác nhau vào một CSDL logic để có thể

truy nhập đợc từ tất cả những ngời dùng trong mạng. Hệ
thống phân tán cũng đợc sử dụng một cách trong suốt với đầy
đủ các u thế tơng tự nh hệ thống đơn lẻ.
Oracle cũng cho phép lựa chọn giúp những User có thể truy
nhập vào dữ liệu của những CSDL ngoài Oracle
Nhân bản dữ liệu Phần mềm Oracle giúp nhân bản nhóm các bảng và những đối
tợng hỗ trợ của nó đến nhiều nơi. Oracle hỗ trợ nhân bản cả
những thay đổi ở mức dữ liệu cũng nh mức schema. Công nghệ
nhân bản mềm dẻo của Oracle hỗ trợ cả phơng thức nhân bản
cơ bản với một CSDL chủ cũng nh phơng thức nhân bản với
mô hình động và dùng chung.


Phần sau đây giới thiệu tổng quan các kiến trúc của Oracle.

Oracle Server

Oracle server là hệ quản trị CSDL quan hệ hớng đối tợng cung cấp môi trờng mở,
toàn diện và tích hợp tiếp cận tới hệ thông tin quản lý. Oracle server bao gồm CSDL
Oracle và Oracle server instance.

Oracle Instance
Mỗi khi CSDL khởi động, hệ thống sẽ cấp không gian cho SGA, tiến trình nền của
Oracle đợc khởi động. SGA là vùng bộ nhớ sử dụng cho những thông tin dùng chung
giữa các phiên làm việc của ngời sử dụng. Tổ hợp giữa các tiến trình này với vùng
nhớ đệm đợc gọi là Oracle instance.

Có hai kiểu tiến trình của Oracle instance: Tiến trình của ngời sử dụng và tiến trình
của Oracle.


Tiến trình của ngời sử dụng: Thực hiện các lệnh của chơng trình ứng dụng (ví dụ:
ứng dụng Oracle Forms) hay của các công cụ Oracle (ví dụ: Oracle Enterprise
Manager).

Tiến trình của Oracle là tiến trình của Server thực hiện các công việc phục vụ cho tiến
trình của ngời sử dụng và các tiến trình nền của Oracle nhằm duy trì hoạt động cho
Server.

Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
7
Oracle Parallel Server, Hệ Thống Nhiều Instance (Multiple Instance
System)


Chú ý:
Oracle Parallel Server chỉ có trong Oracle8i Enterprise Edition


Một số những kiến trúc phần cứng (ví dụ nh: Hệ thống đĩa dùng chung) cho phép
nhiều máy tính cùng chia sẻ dữ liệu, phần mềm hay các thiết bị ngoại vi. Oracle với
lựa chọn Parallel Server tận dụng đợc lợi thế của kiến trúc bằng cách chạy nhiều
instance và cùng chia sẻ một CSDL vật lý. Trong một số ứng dụng thích hợp, Oracle
Parallel Server cho phép nhiều ngời dùng truy nhập vào một CSDL đơn từ nhiều máy
trạm với hiệu suất cao.

Cấu trúc CSDL v quản lý không gian
CSDL Oracle là tập hợp các đơn vị dữ liệu. Mục đích của CSDL là lu trữ và truy vấn
các thông tin liên quan với nhau. CSDL có cấu trúc vật lý và cấu trúc logic riêng biệt
do vậy lu trữ vật lý của dữ liệu có thể đợc quản lý mà không cần truy nhập vào cấu
trúc logic


Cấu trúc Logic của CSDL
Cấu trúc logic của CSDL Oracle bao gồm: Các bảng Tablespace, các đối tợng
schema, các khối dữ liệu, các extent và các segment.
Tablespace
CSDL đợc chia thành những đơn vị lu trữ logic đợc gọi là các tablespace, nó nhóm
các cấu trúc logic có liên quan vào với nhau. Ví dụ: những Tablespace thông thờng
nhóm các đối tợng ứng dụng với nhau nhằm đơn giản hoá cho việc quản trị.
CSDL, Tablespaces, v các file dữ liệu (Datafiles)
Quan hệ giữa databases, tablespaces, và datafiles đợc minh hoạ ở hình 1.1.
Hình 1-1 CSDL, Tablespaces và file dữ liệu


Hình này minh hoạ những điều sau:
Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
8
Mỗi CSDL là đợc phân chia một cách logic thành một hay nhiều Tablespace.
Một hay nhiều datafile đợc tạo cho mỗi tablespace nhằm lu trữ vật lý dữ liệu của
tất cả các cấu trúc logic trong tablespace.
Tổ hợp kích thớc của các datafile trong tablespace là toàn bộ dung lợng của
tablespace (tablespace SYSTEM có dung lợng 2 MB trong khi tablespace của
USERS có 4 MB).
Tổ hợp dung lợng của các tablespaces trong CSDL là toàn bộ dung lợng lu trữ
của CSDL (6 MB).

Tablespace trực tuyến (online) v không trực tuyến (offline)
Tablespace có thể trực tuyến (truy nhập đợc) hay không trực tuyến (không truy nhập
đợc). Thông thờng thì Tablespace là trực tuyến cho phép User truy cập thông tin
trong Tablespace. Tuy nhiên, đôi khi Tablespace không trực tuyến nhằm làm cho một
phần CSDL không hoạt động để bảo trì sửa chữa trong khi các phần khác vần tiếp tục

làm việc. Điều đó làm cho công việc quản trị đợc dễ dàng.

Lợc đồ (Schema) v đối tợng lợc đồ (Schema Object)
Schema là tập các đối tợng cơ sở dữ liệu. Các đối tợng Schema là những cấu trúc
logic tham chiếu trực tiếp tới dữ liệu trong CSDL. Các đối tợng schema bao gồm các
bảng, các view, các sequence, các stored procedure, các synonym, các index, các
cluster và các database link.



Chú ý:
Không có liên quan gì giữa tablespace và lợc đồ (schema), các đối tợng trong cùng
một schema có thể ở trong những tablespace khác nhau, và tablespace có thể chứa các
đối tợng từ những schema khác

Khối dữ liệu, Extent, and Segment
Oracle cho phép điều khiển tối u không gian đĩa cứng thông qua cấu trúc logic bao
gồm: các khối dữ liệu (Data block), các extent và các segment.

Các khối dữ liệu trong Oracle (Oracle Data Block)
Là mức nhỏ nhất của không gian CSDL logic, dữ liệu trong CSDL Oracle đợc lu trữ
trong các khối dữ liệu. Mỗi khối đợc ấn định một kích thớc cụ thể theo byte của
không gian CSDL vật lý trên đĩa. Kích thớc mỗi khối đợc chỉ ra cho mỗi CSDL
Oracle ngay từ khi khi khởi tạo CSDL. CSDL sử dụng và cấp phát các khoảng trống
theo đơn vị là Data Block.
Extent
Mức tiếp theo của không gian CSDL logic đợc gọi là extent. Extent chứa một số cố
định của các khối dữ liệu liên tiếp, đợc sử dụng toàn bộ trong một lần cấp phát, sử
dụng để lu trữ những kiểu thông tin xác định trớc.
Segments

Mức tiếp theo của extent đợc gọi là segment. Segment là tập các extent đợc cấp phát
Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
9
cho một cấu trúc logic nào đó. Ví dụ có 4 kiểu segment khác nhau gồm:
segment dữ
liệu
Mỗi bảng không phân nhóm có một data segment. Tất cả các dữ liệu
trong bảng đó đợc lu trữ trong các extent của chính segment dữ
liệu đó. Đối với các bảng đợc phân vùng thì mỗi phân vùng có một
segment dữ liệu riêng.
Mỗi cluster có một segment dữ liệu. Dữ liệu của tất cả các bảng
trong Cluster đợc lu trữ trong segment dữ liệu của cluster đó.
segment chỉ số Mỗi index có một segment chỉ số lu trữ mọi dữ liệu của nó. Đối với
các chỉ số đợc phân vùng, mỗi phân vùng có một segment cho nó.
rollback
segment
Ngời quản trị CSDL tạo một hoặc vài rollback segments để lu trữ
các thông tin tạm thời
Thông tin trong rollback segment đợc sử dụng:
Tạo dựng thông tin nhằm đảm bảo tính nhất quán cho CSDL
Phục hồi CSDL
Khôi phục lại trạng thái ban đầu của những giao dich cha hoàn
thành
Segment tạm
thời
Segment tạm thời đợc tạo bởi Oracle khi câu lệnh SQL cần vùng
làm việc tạm thời để hoàn thành công việc. Khi hoàn thành câu lệnh
thì hệ thống lại giải phóng các không gian này.

Oracle cấp phát thêm không gian khi extent hiện thời của segment bị đầy. Khi đó

Oracle cấp phát thêm extent khác cho segment đó theo yêu cầu, những extent này có
thể nằm kề nhau trên đĩa hoặc không.

Cấu trúc vật lý của CSDL
Phần sau đây sẽ giải thích cấu trúc vật lý của CSDL Oracle, bao gồm những file dữ
liệu, các file redo log, và những file điều khiển
File dữ liệu (Datafile)
Mỗi CSDL Oracle có một hay nhiều file dữ liệu (vật lý). Các file dữ liệu bao gồm mọi
dữ liệu trong CSDL, dữ liệu của cấu trúc logíc: Các bảng (table), các chỉ mục (index)
đợc lu trữ vật lý trong các file dữ liệu của CSDL

Đặc tính của các file dữ liệu là:
File dữ liệu chỉ có thể thuộc một CSDL
File dữ liệu có tập các thuộc tính cho phép chúng tự động mở rộng ra khi CSDL
hết không gian lu trữ
Một hay nhiều file dữ liệu hình thành một đơn vị lu trữ logic đợc gọi là
tablespace nh đã thảo luận ở chơng trớc

Sử dụng file dữ liệu
Dữ liệu trong file dữ liệu đợc đọc khi cần thiết trong quá trình thao tác với CSDL và
lu trữ trong vùng nhớ đệm của Oracle. Ví dụ: Giả sử rằng User muốn truy nhập vào
một số dữ liệu trong bảng của CSDL. Nếu thông tin cần thiết không có sẵn trong vùng
nhớ đệm của CSDL thì nó sẽ đợc đọc từ file dữ liệu thích hợp và lu trữ trong đó.

Sửa đổi hay tạo mới dữ liệu cha cần thiết phải ghi ngay vào file dữ liệu. Để giảm khối
Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
10
lợng truy nhập đĩa và tăng hiệu năng, dữ liệu đợc lu tạm vào trong một vùng nhớ
và ghi vào file dữ liệu thích hợp cùng một lần thông qua tiến trình DBWn của Oracle.
Các file Redo Log


Mọi CSDL Oracle có tập hợp gồm hai hay nhiều file redo log. Mỗi redo log đợc cấu
thành từ nhiều bản ghi redo, mỗi bản ghi này là một nhóm vector các thay đổi miêu tả
mỗi một thay đổi của CSDL.

Chức năng chính của redo log là ghi nhận mọi sự thay đổi của dữ liệu. Trong trờng
hợp xảy ra lỗi nó sẽ tránh không cho ghi trực tiếp dữ liệu này vào các file CSDL,
chúng sẽ đợc phục hồi bằng cách đọc lại thông tin ban đầu từ redo log file và sẽ
không bị mất thông tin.

Các file Redo log rất quan trọng trong việc bảo vệ CSDL khỏi lỗi. Để ngăn ngừa
những lỗi với chính redo log, Oracle cho phép sử dụng nhiều redo log, do vậy hai hay
nhiều bản sao của redo log có thể đợc duy trì ở trên những đĩa cứng khác nhau.

Sử dụng các file Redo Log
Các thông tin trong file redo log chỉ đợc sử dụng để phục hồi CSDL từ một hệ thống
hoặc thiết bị bị lỗi tránh ghi những dữ liệu lỗi vào file dữ liệu trong CSDL.

Ví dụ: Nếu nh điện bị mất trong khi ta thao tác trong CSDL, dữ liệu cha kịp ghi từ
bộ nhớ vào các file dữ liệu và dữ liệu bị mất. Tuy nhiên dữ liệu mất có thể đợc phục
hồi khi có điện. Bằng cách cập nhật các thông tin trong các file redo log vào file dữ
liệu trong CSDL, Oracle khôi phục lại trạng thái CSDL tại thời điểm bị mất điện.

Quá trình cập nhật nh trên đợc gọi là phục hồi.

Các file điều khiển (Control File)
Mọi CSDL Oracle đều có một file điều khiển, file điều khiển chứa các điểm vào, nó
chỉ ra cấu trúc vật lý của CSDL. Ví dụ: nó chứa các kiểu thông tin sau:
Tên CSDL
Tên và vị trí của các file dữ liệu và các file redo log

Dấu thời gian của CSDL khi đợc tạo
Giống nh redo log, Oracle cho phép sử dụng nhiều file điều khiển để bảo vệ chúng.

Sử dụng các file điều khiển
Mỗi khi khởi động một instance của CSDL, các file điều khiển của nó đợc sử dụng
để xác định CSDL và các file redo log cần phải mở để làm việc. Nếu nh cấu trúc vật
lý của CSDL bị thay đổi (ví dụ nh: File dữ liệu mới hay các file redo log đợc tạo) thì
các file điều khiển tự động thay đổi tơng xứng với những sự thay đổi đó.

File điều khiển cũng đợc sử dụng, nếu nh việc hồi phục CSDL là cần thiết

Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
11
Cấu trúc của ngôn ngữ truy vấn (SQL)
SQL là ngôn ngữ lập trình dùng để định nghĩa và thao tác với CSDL. CSDL SQL là
CSDL quan hệ, có nghĩa là dữ liệu đợc lu trữ trong tập các quan hệ. CSDL có thể có
một hay nhiều bảng, mỗi bảng bao gồm các cột với các hàng.

Ta có thể định nghĩa và thao tác với dữ liệu trong bảng bằng các câu lệnh SQL, sử
dụng các câu lệnh DDL để định nghĩa dữ liệu. Các câu lệnh DDL bao gồm những câu
lệnh tạo, thay thế CSDL và các bảng

Có thể cập nhật, xoá hay lấy dữ liệu trong bảng bằng các câu lệnh DML. Các câu lệnh
DML bao gồm câu lệnh: cập nhật và lấy dữ liệu. Câu lệnh SQL hay đợc sử dụng
nhất là câu lệnh SELECT cho phép ta lấy dữ liệu từ bảng.

Cùng với các câu lệnh SQL, Oracle Server có ngôn ngữ hớng thủ tục đợc gọi là
PL/SQL cho phép lập trình viên có thể lập trình với những câu lệnh SQL, điều khiển
các luồng chơng trình SQL, sử dụng các biến nhớ hay xây dựng các thủ tục xử lý lỗi.


Các tiện ích dữ liệu (Data Utilitie)
Có ba tiện ích di chuyển tập con của CSDL Oracle từ CSDL này sang CSDL khác đó
là: Export, Import, and SQL*Loader.

Export
Tiện ích Export cung cấp cách đơn giản giúp bạn chuyển dữ liệu giữa các CSDL
Oracle ngay cả với những nền tảng hệ thống khác nhau. Export đa ra những định
nghĩa đối tợng và dữ liệu bảng từ CSDL Oracle và lu chúng đa vào dạng file nhị
phân đặt trên đĩa hay trên băng từ.

Các file có thể đợc sao lại qua FTP hay truyền thông vật lý (ví dụ đĩa từ) tới một số vị
trí khác, sau đó sử dụng tiện ích import cập nhật các file đó vào CSDL mới. Dùng
phơng thức này để truyền dữ liệu giữa các CSDL không đợc nối mạng cũng nh
backup

Khi bạn chạy Export với CSDL Oracle, nó đa ra các đối tợng nh là các bảng và các
đối tợng liên quan sau đó ghi vào các file dump.

Import
Tiện ích Import chèn các đối tợng dữ liệu lấy từ một CSDL Oracle khác bởi tiện ích
Export vào CSDL Oracle. Các file dump chỉ đợc sử dụng bởi tiện ích Import.

Import đọc các định nghĩa đối tợng và dữ liệu bảng mà tiện ích Export ghi vào từ
CSDL Oracle và lu dới dạng các file nhị phân đặt trên đĩa hay đĩa từ

Tiện ích Export và Import cũng có thể sử dụng nh một chức năng nhân bản dữ liệu
của Oracle trong trờng hợp offline.

SQL*Loader
Các file dump chỉ có thể đợc đọc với tiện ích Import. Nếu cần phải đọc dữ liệu từ các

tệp dạng text với các cột đã đợc định dạng, bạn có thể sử dụng tiện ích SQL*Loader.
Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
12
SQL*Loader tải dữ liệu từ các tệp bên ngoài vào các bảng trong CSDL Oracle,
SQL*Loader chấp nhận dữ liệu vào với nhiều định dạng khác nhau, có thể lọc dữ liệu
dựa vào giá trị dữ liệu, và có thể tải dữ liệu vào nhiều bảng khác nhau trong CSDL
Oracle cùng một phiên làm việc.

Cấu trúc bộ nhớ v tiến trình
Phần này ta tập trung vào thảo luận cấu trúc bộ nhớ và tiến trình của Oracle Server để
quản lý CSDL. Cùng với nhiều thứ khác, các đặc trng kiến trúc đợc thảo luận trong
phần này cung cấp những hiểu biết cơ bản về khả năng của Oracle để hỗ trợ:
Nhiều ngời sử dụng đồng thời truy nhập vào một CSDL
Nhiều ngời sử dụng cùng một lúc, nhiều ứng dụng hoạt động đồng thời đòi hỏi hệ
thống phải có hiệu năng cao

Oracle server sử dụng các cấu trúc bộ nhớ và tiến trình nhằm quản lý và truy nhập
CSDL. Mọi cấu trúc bộ nhớ hiện hữu trong bộ nhớ chính của máy tính tạo thành hệ
thống CSDL

Tiến trình là các công việc hay nhiệm vụ đang đợc thực hiện trong bộ nhớ của máy
tính

Hình 1-2 đa ra một hô hình thờng gặp của các cấu trúc bộ nhớ và những tiến trình
của Oracle Server

Cấu trúc bộ nhớ
Oracle tạo và sử dụng các cấu trúc bộ nhớ để hoàn thành một số công việc. Ví dụ nh:
Phần bộ nhớ lu mã chơng trình đang đợc thực hiện và dữ liệu đợc chia sẻ giữa các
user. Hai cấu trúc cơ bản của Oracle là: vùng dữ liệu dùng chung của hệ thống (bao

gồm các vùng nhớ đệm của CSDL, các vùng nhớ đệm của redo log, và vùng chia sẻ
thông tin) và vùng dùng chung của chơng trình. Sau đây là các mô tả chi tiết:
Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
13
Figure 1-2 Memory Structures and Processes of Oracle


Vùng dữ liệu dùng chung của hệ thống (System Global Area)
System Global Area (SGA) đợc chia sẻ vùng nhớ bao gồm dữ liệu và các thông tin
điều khiển cho một instance của Oracle, SGA và các tiến trình nền của Oracle cấu
thành nên instance của Oracle

Oracle cấp phát SGA khi instance bắt đầu và giải phóng nó khi kết thúc instance. Mỗi
instance đều có SGA riêng của nó.

User hiện thời kết nối vào Oracle server chia sẻ dữ liệu trong SGA. Để có đợc hiệu
năng tốt nhất, SGA đợc cấp phát với kích thớc lớn nhất có thể đợc để lu đợc
nhiều nhất dữ liệu trong bộ nhớ và giảm tối thiểu truy nhập đĩa cứng.

Thông tin lu trữ trong SGA đợc phận loại thành vài kiểu cấu trúc bộ nhớ bao gồm
bộ nhớ đệm CSDL, bộ nhớ đệm redo log và vùng chia sẻ. Những vùng này có kích
thớc cố định và đợc tạo ngay khi instance bắt đầu.

Ti liệu đo tạo Hệ thông tin đối tợng Cơ bản về Oracle 8i
14
Bộ nhớ đệm Cache của CSDL
Các vùng nhớ đệm CSDL của SGA lu trữ các khối dữ liệu đợc sử dụng gần nhất của
dữ liệu, tập hợp các vùng nhớ đệm của CSDL trong một instance là vùng nhớ đệm truy
cập nhanh của CSDL. Vùng nhớ đệm truy cập nhanh lu giữ các khối dữ liệu bị thay
đổi cũng nh cha đợc thay đổi. Vì các khối dữ liệu mới nhất cũng nh hay đợc

dùng nhất đợc lu giữ trong bộ nhớ nên giảm đợc thao tác truy cập đĩa cứng và nhờ
đó cải thiện đợc hiệu năng của hệ thống.
Bộ nhớ đệm Redo Log
Bộ nhớ đệm của redo log đợc lu trữ khi có sự thay đổi CSDL. Các bản ghi trong
redo log lu trữ trên bộ nhớ đệm và đợc ghi trực tiếp vào file redo log, nó đợc sử
dụng khi cần phục hồi dữ liệu ban đầu. Kích thớc của nó là cố định.

Vùng dùng chung (Shared Pool )
Vùng dùng chung là một phần của SGA bao gồm những cấu trúc bộ nhớ dùng chung
kiểu nh là vùng dùng chung cho lệnh SQL. Vùng dùng chung cho lệnh SQL cần thiết
khi xử lý mọi câu lệnh SQL riêng rẽ gửi tới CSDL. Nó còn bao gồm những thông tin
nh là phân tích cây, kế hoạch thực hiện các câu lệnh tơng ứng. Một vùng dùng
chung cho lệnh SQL đợc sử dụng bởi nhiều chơng trình ứng dụng đang yêu cầu xử
lý cùng một câu lệnh, để dành lại nhiều bộ nhớ hơn cho mục đích khác.

Vùng đệm lớn (Large Pool)
Vùng đệm lớn là một vùng tuỳ chọn trong SGA cung cấp vùng nhớ lớn cho việc thực
hiện công việc backup và khôi phục, các tiến trình vào/ra của máy chủ và vùng bộ nhớ
cho các phiên của máy chủ đa luồng

Các thẻ điều khiển lệnh (Statement Handle) hay con trỏ (Cursor)
Con trỏ là một thẻ điều khiển cho vùng nhớ liên quan tới câu lệnh cụ thể (Oracle Call
Interface - OCI tham chiếu tới nh một thẻ điều khiển câu lệnh). Mặc dù hầu hết
ngời dùng đều tin vào khả năng điều khiển con trỏ một cách tự động của Oracle, giao
diện lập trình vẫn hỗ trợ ngời thiết kế chơng trình tự điều khiển các con trỏ.

Ví dụ: Trong bộ tiền biên dịch phát triển ứng dụng, con trỏ là một tài nguyên có tên
gọi sẵn sàng để sử dụng trong chơng trình và có thể đợc sử dụng riêng cho việc
phân tích câu lệnh SQL nhúng trong ứng dụng. Ngời lập trình có thể viết mã lệnh cho
ứng dụng điều khiển từng bớc thực hiện câu lệnh SQL và nhờ đó cải thiện đợc hiệu

năng chơng trình.

Vùng dùng chung cho chơng trình (PGA)
PGA là vùng nhớ đệm bao gồm dữ liệu và các thông tin điều khiển cho những tiến
trình trên server. PGA đợc tạo bởi Oracle khi tiến trình server đợc bắt đầu. Thông
tin trong PGA phụ thuộc vào cấu hình của Oracle

Cấu trúc tiến trình (Process Architecture)
Tiến trình là một "luồng điều khiển", nó là một cơ chế trong hệ điều hành cho phép
thực hiện đợc hàng loạt các bớc. Một số HĐH sử dụng các thuật ngữ công việc (job)

×