Tải bản đầy đủ (.doc) (69 trang)

Tìm hiểu về hệ quản trị CSDL ORACLE SERVER và xây dựng phần mềm quản lý thi của sinh viên trên mạng

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 (516.19 KB, 69 trang )

Lời cảm ơn
Trớc tiên em xin chân thành cảm ơn thầy Hoàng Hữu Việt đÃ
tận tình hớng dẫn và giúp đỡ về tài liệu, thiết bị để em hoàn thành
khoá luận. Xin cảm ơn các thầy cô trong khoa Công nghệ thông tin
cùng các thầy cô giáo Trờng Đại Học Vinh đà truyền thụ cho em
những tri thức quý báu trong suốt 4 năm học qua. Công ơn dạy dỗ của
thầy cô chỉ có thể đền đáp bằng thái độ học tập nghiêm túc và hăng
say, em sẽ cố gắng làm đợc điều đó không chỉ trong quá trình làm
khóa luận mà trong cả quá trình công tác sau này.
Sự quan tâm giúp đỡ của bố mẹ, gia đình và bạn bè cũng là một
nguồn động viên lớn, con mong rằng những gì làm đợc trong quá trình
học tập này sẽ là một phần nhỏ bé đền đáp công ơn của bố mẹ và lòng
tin tởng của mọi ngời.

Chơng I
Đặt vấn đề
I. Giới thiệu đề tài quản lý thi của sinh viên
Quản lý hành chính là một phần công việc quan träng kh«ng thĨ thiÕu
trong bÊt kú mét tỉ chøc hay cộng đồng nào, trớc kia việc quản lý chỉ thùc
hiƯn b»ng sỉ s¸ch giÊy tê, nh vËy rÊt tèn công sức và thời gian, hơn nữa hiệu
quả công việc lại không cao, vì vậy việc đa tin học vào quản lý là rất cần
thiết và đáng quan tâm. Ngày nay các bài toán quản lý nh quản lý nhân sự,
quản lý hàng hoá, quản lý sinh viên đà là một mảng đề tài quen thuộc, các


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

công cụ trợ giúp quản lý gồm ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu
từ cổ điển nh Foxpro đến các công cụ phổ biến hiện nay nh Acess, Visual


Basic hay thậm chí là Excell đều đà đợc xem xét sử dụng tuỳ theo phạm vi
bài toán và điều kiện cho phép. Công tác quản lý thi của sinh viên trong trờng đại học với số lợng sinh viên đông, xuất phát từ nhiều thành phần và có
nhiều thông tin cần quản lý thực sự là một khối công việc lớn cần trợ giúp
của máy tính. Vì vậy trong khoá luận tốt nghiệp này, em muốn đa ra một
cách tiếp cận và giải quyết vấn đề này với mục tiêu tự động hoá các công
việc tính toán, xử lý dữ liệu, giảm thiểu nhiệm vụ của con ngời trong hệ
thống và thống nhất các chức năng thành một hệ thống thống nhất có tổ chức
chặt chẽ. Nếu đợc xây dựng tốt, hệ thống mới với sự hỗ trợ của mạng máy
tính sẽ giảm gánh nặng cho ngời quản lý, tăng tính thuận tiện cho ngời sử
dụng, các luồng thông tin chuyển giao trong hệ thống chủ yếu là dới dạng tín
hiệu truyền trên mạng máy tính, th«ng tin giao tiÕp víi ngêi sư dơng cã thĨ ở
2 dạng là hiển thị trên màn hình và trên giÊy tê.
Song song víi tÝnh thn tiƯn sư dơng, th× vấn đề an toàn thông tin
càng cần phải đặc biệt chú trọng. Mục tiêu xây dựng hệ thống này là triển
khai một hệ thống quản lý toàn diện trên mạng máy tính, các hoạt động giao
tiếp hệ thống nh truyền thông tin, xem thông tin hay chuyển giao thông tin
giữa các chức năng xử lý đều thực hiện thông qua mạng, vì thế mạng phải
đảm bảo tính an toàn cao, yêu cầu này chỉ đợc thực hiện tốt khi có đủ điều
kiện kỹ thuật và chuyên môn: một mạng máy tính với máy chủ mạnh, đờng
truyền tốt và trình độ quản trị cao, bản thân những ngời làm công tác quản lý
cũng cần có kiến thức nhất định về tin học. Tuy nhiên với một nớc mà điều
kiện vật chất còn nghèo nàn, trình độ khoa học kỹ thuật cha cao nh Việt
Nam, những yêu cầu trên cha thể cùng lúc đáp ứng. Chơng trình cần phù hợp
với điều kiện hiƯn thêi, ®ång thêi cho phÐp nhiỊu ngêi dïng ë những trình độ
khác nhau có thể sử dụng nó. Mặt khác, hệ thống với tính công khai càng
lớn, tức là càng cho phép nhiều ngời sử dụng thì khả năng thâm nhập của
những cracker kẻ phá hoại thông tin càng cao lúc này nhiệm vụ của bảo
mật thông tin không chỉ đơn giản nh trong các hệ tập trung trớc đây là ngăn
chặn những truy cập bất hợp pháp vào một máy trung tâm tính toán và lu trữ
dữ liệu mà nó phải ngăn không cho thông tin bị sửa đổi trái phép trong khi

vẫn đảm bảo cho những ngời sử dụng khác truy cập một cách thuận tiện
nhất.
Trong đề tài này, dựa trên mô hình hệ thống đang hoạt động khảo sát
tại trờng Đại học Vinh và các nguyên tắc quản lý chung cũng nh các nguyên
tắc đặc thù của Bộ giáo dục, em tiến hành phân tích những đặc trng của các
chức năng, có sắp xếp lại cho hợp lý và thuận tiện hơn nhằm mô hình hoá hệ
thống thực tế bằng các chức năng máy tính, sau đó xây dựng chơng trình
thực hiện. Chơng trình sẽ từng bớc đợc hoàn thiện để hớng tới một hệ thống
quản lý thống nhất hiệu quả và có giá trị sử dơng trong thùc tÕ.
II. Lùa chän c«ng cơ thùc hiƯn
ViƯc lựa chọn công cụ thực hiện là vô cùng quan trọng. Trớc hết nó
phản ánh mức độ hiểu biết vấn đề của ngời giải quyết bài toán sâu sắc đến
đâu, anh ta cần phải nắm rõ những đặc trng của bài toán, cân nhắc những
điểm mạnh yếu của môi trờng xung quanh bài toán để chọn đợc công cụ phù
hợp. Hơn nữa, công cụ thực hiện sẽ quyết định điểm mạnh yếu của chơng
trình xây dựng trên đó.

2


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

Bài toán quản lý cần hai loại công cụ chính là hệ quản trị cơ sở dữ liệu
để xây dựng và quản lý dữ liệu cho hệ thống và ngôn ngữ lập trình để xây
dựng chơng trình. Trớc đây, các ứng dụng về cơ sở dữ liệu hầu hết đợc xây
dựng trên hệ quản trị truyền thống là Foxpro (bao gồm những phiên bản nh
Foxpro for Dos, Foxpro for Windows và mới đây là Visual Foxpro) hoặc
Acess, các hệ này rất mạnh trong phạm vi những ứng dụng nhỏ. Hiện nay

xuất hiện thêm nhiều hệ quản trị mới phát huy khả năng trong các ứng dụng
lớn: DB2, Oracle Server. Bài toán quản lý sinh viên là kết hợp của nhiều bài
toán nhỏ nh quản lý nhân sự, quản lý điểm, quản lý học bổng, quản lý học
phí nên phạm vi của nó tơng đối lớn, nếu dùng Acess hay FoxPro thì không
thích hợp. Với nhu cầu và khả năng cung cấp máy tính hiện nay thì
ORACLE Server là hệ quản trị cơ sở dữ liệu đợc phát triển trong môi trờng
tính toán phía máy chủ trong thập kỷ 90, bắt đầu với mô hình truyền thống
client/Server và hiện nay đang phát triển với các xu hớng công nghiệp. Gần
đây, ORACLE Server đợc điều chỉnh để thích nghi với các vai trò khác của
Server, bao gồm Internet, các ứng dụng phân tán. ORACLE Server có khả
năng thực hiện các câu hỏi với các nguồn dữ liệu phân tán. Vì những lý do
trên mà tôi quyết định lựa chọn hệ quản trị CSDL ORACLE Server làm hệ
quản trị cơ sở dữ liệu cho bài toán.
ORACLE Server cho phép ADO (ActiveX Data Object) - tập đối tợng
mẫu với những đặc tính tiên tiến truy cập dữ liệu của nó một cách dễ dàng và
tiện lợi cho hầu hết các ứng dụng. ADO có thể viết bằng nhiều ngôn ngữ
khác nhau nh C++, J++ hay FoxPro; tuy nhiên Visual Basic là cách đơn giản
và thuận tiện nhất để phát triển các ứng dụng ADO truy cập cơ sở dữ liệu
oracle Server. Trong phần sau sẽ trình bày cụ thể về các cơ sở lý thuyết để
xây dựng hệ thống cũng nh các đặc tính u việt của các công cụ kể trên.

3


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

Chơng II
Tìm hiểu về oracle

II.1 Hệ quản trị ORACLE Server
II.1.1 Tổng quan về ORACLE Server
Phần này đa ra những giới thiệu về ORACLE Server để đa ra những
khái niệm chung nhất về hệ quản trị ORACLE Server.
Trớc hết, cần đặt ORACLE Server ở vai trò của một hệ quản trị cơ sở
dữ liệu (DBMS). Hệ quản trị cơ sở dữ liệu là một lớp các sản phẩm phần
mềm dùng làm công cụ quản lý và điều khiển cơ sở dữ liệu.
Thứ hai, ORACLE Server là một hệ quản trị cơ sở dữ liệu quan hệ.
Nói theo một cách khác, nó là một DBMS dựa trên mô hình quan hệ và chịu
ảnh hởng của ngôn ngữ chuẩn SQL .
Thứ ba, ORACLE Server đợc phát triển trong môi trờng tính toán phía
máy chủ trong thập kỷ 90, bắt đầu với mô hình truyền thống client/Server và
hiện nay đang phát triển theo các xu hớng công nghiệp. Gần đây, ORACLE
Server đợc điều chỉnh để thích nghi với các vai trò khác của Server nh
Internet, đa quan hệ và các ứng dụng phân tán. ViƯc sư dơng OLE DB trong
ORACLE Server ®· më ra một lĩnh vực mới với câu hỏi phân tán, khả năng
thực hiện câu hỏi từ nhiều nguồn dữ liệu dữ liệu khác nhau, không chỉ giới
hạn trong ORACLE Server, nó có thể kết nối với các nguồn dữ liệu của
Informix, Sybase...
Ngày nay, thông tin trong cơ sở dữ liệu nói chung gồm hai loại: OLTP
và DSS.
OLTP (Online Transaction Processing): dùng để xử lý các giao dịch
trực tuyến, lu trữ các dữ liệu động dựa trên các giao dịch xảy ra trong khoảng
thời gian cho phép. Nó thờng đợc gọi là dữ liệu có tính thao tác.
DSS: dùng cho các hệ trợ giúp quyết định, gồm các dữ liệu tơng đối
tĩnh và các dữ liệu mang tính lịch sử, thờng đợc gọi là dữ liệu có tính phân
tích.
ORACLE Server luôn là một hệ quản trị OLTP tốt, điểm mới trong
ORACLE Server là nó đợc tăng cờng thêm một số các đặc trng mới và hỗ
trợ cho các câu hỏi cần truy nhập đến cơ sở dữ liệu lớn.


1. Hệ quản trị cơ sở dữ liệu
Trớc hết ta làm quen với khái niệm Hệ quản trị cơ sở dữ liệu (DBMS
Database Management System): Hệ quản trị cơ sở dữ liệu là một sản phẩm
phần mềm đặc biệt để quản lý các cơ sở dữ liệu.
Sự ra đời và phát triển của DBMS:
Các ứng dụng hớng dữ liệu nói chung gồm 3 dịch vụ đối với ngời dùng:
Dịch vụ biểu diễn (Presentation): nhận dữ liệu và biểu diễn dữ liệu cho
ngời sử dụng.
Các luật (Business rule): xác định tính hợp lệ của dữ liệu theo các luật
Truy nhập dữ liệu (Data access): lu trữ và lấy dữ liệu từ đĩa.
Biểu diễn dữ liệu
Các luật

4
Truy nhập dữ liệu

dữ liệu


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

Hình 1: Ba dịch vụ của một ứng dụng dữ liệu đối với ngời dùng
Ban đầu, các ứng dụng thờng không phân biệt các vai trò trên, ngời lập
trình cho ứng dụng thờng phải đảm nhiệm cả việc biểu diễn d÷ liƯu, nhËn d÷
liƯu tõ ngêi dïng, kiĨm tra tÝnh hợp lệ và lu trữ dữ liệu, đó là các ứng dụng
đơn khối.
Sau đó, các vai trò đợc phân tách dần, từ mức logic đến mức vật lý.

Việc phân tách các dịch vụ truy nhập cơ sở dữ liệu khỏi ứng dụng cho phép
phát triển hệ quản trị cơ sở dữ liệu thành một sản phẩm phần mềm chung cho
nhiều mục đích sử dụng. Các hệ này đà phát triển từ mức chỉ có khả năng lu
trữ và lấy dữ liệu tới khả năng kiểm tra tính hợp lệ bằng các luật.
Bớc đột phá này đà tạo ra một lớp sản phẩm phần mềm mới mà ngày
nay ngời ta gọi là hệ quản trị cơ sở dữ liệu. Bằng cách tách riêng phần xử lý
dữ liệu, ta đà giảm đợc chi phí phải viết lại hay tạo lại các chơng trình lu trữ
dữ liệu cho từng ứng dụng, thay vào đó, các ứng dụng chỉ cần giao tiếp với
DBMS và nó sẽ xử lý dữ liệu giúp bạn.
Sự khác nhau cơ bản giữa cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu là:
cơ sở dữ liệu là một tập hợp dữ liệu, trái lại hệ quản trị cơ sở dữ liệu lại lu trữ
và duy trì cơ sở dữ liệu đó. Một cơ sở dữ liệu gồm các bảng dữ liệu, chỉ số,
các luật ràng buộc, phụ thuộc, trigger, và các thủ tục lu trữ; điều này tạo nên
sự khác biệt giữa các cơ sở dữ liệu, nhng nó vẫn luôn đợc chứa trong một
DBMS. DBMS sẽ cung cấp các công cụ lu trữ, truy nhập dữ liệu, công cụ
truy vấn, quản trị và các tiện ích khác để quản lý cơ sở dữ liệu đó.

ứng dụng

ứng dụng

Biểu diễn dữ liệu
Các luật

Biểu diện dữ liệu
DBMS

DBMS

Các luật

Truy nhập dữ liệu

Truy nhập dữ liệu

Dữ liệu

Dữ liệu

Hình 2: Sự phát triĨn cđa DBMS

5


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

2. Hệ cơ sở dữ liệu quan hệ
Những năm cuối 1960, đầu 1970, các nhà nghiên cứu của IBM và nhà
toán học E.F.Codd đà đa ra mô hình quan hệ cho hệ quản trị cơ sở dữ liệu.
Theo lý thuyết về tập chuẩn cho lu trữ và thao tác dữ liệu, Codd đề xuất ý tởng biểu diễn dữ liệu dới dạng bảng, nhờ đó việc quan sát dữ liệu ®éc lËp víi
biĨu diƠn vËt lý cđa DBMS. Liªn kÕt (quan hệ) giữa các bảng không thể hiện
bằng con trỏ vật lý mà bằng các giá trị dữ liệu thực sự.
Các hệ quản trị cơ sở dữ liệu tuân theo mô hình quan hệ đợc gọi là hệ
quản trị cơ së d÷ liƯu quan hƯ (DBMS). Song song víi sù ra đời của hệ quản
trị cơ sở dữ liệu quan hệ, nhu cầu về một ngôn ngữ truy vấn để giao tiếp với
dữ liệu cũng phát sinh, và SQL (Structured Query Language - ngôn ngữ hỏi
có cấu trúc) đợc coi là ngôn ngữ chuẩn. Chuẩn hiện nay cho SQL là ANSI
SQL-92.
Các đặc trng của một hệ cơ sở dữ liệu quan hệ:

a. Các khoá Candidate, Primary, Alternate: khi một bảng
không có các hàng lặp lại thì bạn có thể dùng các giá trị dữ liệu để định danh
chính các hàng đó. Khoá Candidate là một cột hoặc một nhóm cột ®¶m b¶o
tÝnh duy nhÊt trong b¶ng. Trong mét b¶ng cã thể có nhiều khoá Candidate
bởi vì có nhiều cột hoặc nhóm cột khác nhau nhng vẫn đảm bảo tính duy
nhất của hàng trong bảng. Khoá Primary là khoá Candidate duy nhÊt do ngêi
thiÕt kÕ d÷ liƯu chØ ra, nã dïng để liên kết với các bảng khác. Các khoá
Candidate khác không là khoá Primary thì gọi là khoá phụ hoặc khoá thay
thế (alternate).
b. Data manipulation (thao tác dữ liệu): một hệ quản trị cơ sở
dữ liệu quan hệ phải cung cấp khả năng lấy, chèn, cập nhật, xoá các hàng
trong bảng. Ngôn ngữ truy vấn phục vụ tốt nhất cho các khả năng này là
SQL, nó bao gồm các câu lệnh SELECT, INSERT, COMMAND, DELETE
để thao tác với dữ liệu.
c. Transaction (giao dịch): là khả năng thực hiện một số các câu
lệnh nh là một khối công việc thống nhất. ORACLE Server coi một hoặc một
tập thao tác lên dữ liệu nh một giao dịch, giao dịch hoặc đợc thực hiện toàn
bộ hoặc bị phá vỡ toàn bộ. Nếu giao dịch không thành công thì cơ sở dữ liệu
sẽ đợc phục hồi về trạng thái ổn định trớc đó.
d. Concurrent access (truy nhập đồng thời): hệ quản trị cơ sở
dữ liệu phải hỗ trợ khả năng truy cập đồng thời, tøc lµ cho phÐp nhiỊu ngêi
sư dơng cïng truy nhËp vào cơ sở dữ liệu. ORACLE Server dùng phơng pháp
khóa: khóa các hàng, các trang hoặc các bảng để thao tác dữ liệu của ngời sử
dụng này không ảnh hởng đến thao tác của ngời khác, nhờ đó đảm bảo cho
mỗi ngời sử dụng có thể quan sát dữ liệu một cách nhất quán.
e. Catalog: hệ quản trị cơ sở dữ liệu phải hỗ trợ tập các bảng quan hệ
dữ liệu, gọi là Catalog, nó lu trữ dữ liệu về cơ sở dữ liệu. ORACLE Server lu
trữ catalog và những bảng hệ thống của mọi cơ sở dữ liệu trong các bảng của
cơ sở dữ liệu master.
f. Views (khung nhìn): cơ sở dữ liệu quan hệ cung cấp các khung

nhìn cho phép xem dữ liệu trong các bảng.

3. Giao dịch - SQL
Việc định nghĩa các bảng cơ sở dữ liệu và nạp dữ liệu vào đó đợc thực
hiện qua ngôn ngữ giao diện hỏi của ORACLE Server là SQL*PLUS.
Transact - SQL (T- SQL) là một kiểu "tiếng địa phơng" của ngôn ngữ chuẩn
6


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

SQL cho phép định nghĩa các bảng, nạp dữ liệu vào và lấy dữ liệu ra khỏi
bảng dữ liệu của ORACLE Server.
II.1.2 CÊu tróc vËt lý vµ logic cđa oracle Server
CSDL oracle cã mét líp vËt lý vµ mét líp logic. Lớp vật lý bao gồm
tất cả các tập tin nằm trên đĩa, các thành phần của lớp logic ánh xạ dữ liệu
đến những thành phần của lớp logic. Vị trí các loại tập tin này không ảnh hởng đến chức năng của CSDL.

1. Lớp vật lý
Lớp vật lý bao gồm 3 loại tập tin nhĩ phân đó là: các tập tin dữ
liệu(data file), các tập tin điều khiển (control file), và các tập tin phục hồi
(redo log file).
Tập tin dữ liệu: lu trữ thông tin có trong CSDL, phụ thuộc vào kích thớc, các bảng và các đối tợng khác mà có thể có một hay nhiều tập tin trong
mét CSDL. TËp tin d÷ liƯu cã kÝch thíc cè định và không bao giờ tự phát
triển lớn hơn kích thớc ban đầu tạo ra.
Tập tin điều khiển: Mỗi CSDL có ít nhất một tập tin điều khiển các
tập tin này ghi tên của CSDL, vị trí các tập tin dữ liệu và tập tin redo log
cùng với các thông tin đồng bộ để đảm bảo rằng chúng luôn hoạt động ăn

khớp với nhau.
Các tập tin phục hồi (Redo log): lu giữ các thông tin để phục hồi trong
trờng hợp một hệ thống bị sự cố. Các tập tin này ghi lại toàn bộ quá trình
thay đổi của CSDL. Trong trờng hợp h hỏng nhng không mất dữ liệu Oracle
có thể sử dụng những thông tin trong tập tin redo log một cách tự động mà
không cần đến sự can thiệp của ngời quản trị CSDL.

2. Lớp logic
Lớp logic bao gồm các yếu tố sau:
Một hay nhiều không gian bảng (tablespace)
Các lợc đồ CSDL (database schema) bao gồm nhiều đối tợng nh bảng
(table), chỉ mục (idex)...
Mỗi lợc đồ thuộc về một tài khoản ngời sử dụng đợc xác định bởi tên
ngời sử dụng (username) và mật khẩu của ngời sử dụng (password) duy nhất
đối với CSDL.

2.1 Không gian bảng và các tập tin dữ liệu
CSDL đợc chia thành một hay nhiều mẫu logic gọi là không gian
bảng. Một không gian bảng bao gồm một hay nhiều tập tin dữ liệu vật lý, ngợc lại một tập tin dữ liệu vật lý chỉ thuộc vào một không gian bảng. Trong
quá trình tạo CSDL Oracle tự động tạo không gian bảng hệ thống (tablespace
system) đó là nơi chứa từ điển dữ liệu của toàn bộ CSDL. Trong quá trình tạo
tập tin dữ liệu ta có thể để nó ở không gian bảng hệ thống hoặc không gian
bảng của riêng mình tạo ra.

2.2 Lợc đồ CSDL (Schema CSDL)
Một lợc đồ kết hợp với một ngời sử dụng CSDL, một lợc đồ là một tập
hợp các lợc đồ sau: bảng, chỉ mục, nhóm, bí danh... Các đối tợng lợc đồ là
các cấu trúc lu trữ dữ liệu logic. Ta sẽ xét một số đối tợng của lợc đồ:
Bảng (table): là đơn vị cơ bản lu trữ dữ liệu trong oracle, dữ liệu đợc
lu trữ thành các hàng và các cột, mọi thao tác đối với bảng đều đợc thực hiện

giống nh những CSDL quen thuéc ®· häc.

7


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

Tổng quan (View): một view là sự hiện thị dữ liệu chứa trong một hay
nhiều bảng, một view là một b¶ng ¶o nã lÊy kÕt xuÊt tõ mét truy vÊn và nó đợc thao tác giống nh một bảng.
Bí danh (Synonym): Nã lµ mét bÝ danh cđa bÊt kú mét bảng hay
view... Nó chỉ là một định danh trong từ điển dữ liệu, chúng thờng đợc sử
dụng để che tên và chủ của đối tợng, đơn giản hoá câu lệnh SQL cho ngêi
dïng.
ChØ mơc (Index): lµ cÊu tróc t chän kết hợp với bảng hoặc là tập
hợp các bảng. Một Index đơn thuần chỉ là một đờng truy xuất nhanh đến dữ
liệu, nó chỉ ảnh hởng đến tốc độ thực hiện. Khi cho một giá trị dữ liệu đợc
index thì index trỏ trực tiếp vào vị trí của hàng chứa giá trị đó. Oracle tự
động duy trì index khi nó đợc tạo, chỉ mục hoàn toàn độc lập về mặt logic và
vật lý với dữ liệu trong bảng kết hợp. Ta có thể tạo ra và xoá chỉ mục bất cứ
lúc nào mà không ảnh hởng đến bảng gốc và các chỉ mục khác.
Nhóm (Cluster): Là một phơng pháp tuỳ chọn để lu trữ dữ liệu bảng.
Một cluster là một nhóm các bảng có cùng các khối dữ liệu do chúng có
chung các cột và thờng sử dụng chung với nhau.
Thủ tục lu trữ và hàm (Store procedre và function): nó là một tập hợp
các câu lệnh SQL đợc nhóm víi nhau nh mét tËp tin thùc thi ®Ĩ thùc hiện
một tác vụ nào đó.
Các trigger CSDL (database): Một database trigger là một thủ tục
chạy tự động khi một sự kiện xảy ra nh chèn, xoá, chọn dữ liêu từ bảng...


3. Các khối, vùng và đoạn dữ liệu (Data Block, Extent và Segment)
Oracle định vị không gian CSDL logic cho tất cả dữ liệu trong một
CSDL. Các đơn vị của không gian CSDL là các khối, vùng và đoạn dữ liệu.
Đơn vị không gian logic nhỏ nhất là data block, mỗi data block tơng
ứng với một số byte không gian CSDL.
Mức kế tiếp của không gian CSDL logic là vùng (extent). Một vùng là
một số xác định các khối dữ liệu liên tục đợc định vị để chứa một loại thông
tin xác định.
Mức lu trữ dữ liệu cao hơn vùng là đoạn (segment), một đoạn là một
tập hợp các vùng đợc định vị cho một loại cấu trúc CSDL đặc biệt.
Oracle định vị các segment theo đơn vị một segment, khi các extent
đang có của một segment đầy, Oracle định vị một extent khác cho segment
đó do đó các extent không hẳn nằm liên tục trên đĩa.

4. Cấu trúc bộ nhớ và các tiến trình
4.1 Cấu trúc bộ nhớ
Oracle tạo ra và sử dụng các cấu trúc bộ nhớ để hoàn thành một số công
việc, các cấu trúc bộ nhớ cơ bản kết hợp với oracle là: vùng toàn cục hệ
thống (system globol area) và vùng toàn cục chơng trình (program globol
area).
Oracle instance lµ mét thĨ hiƯn cđa Oracle nã là sự kết hợp các tiến
trình và cấu trúc bộ nhí cđa oracle Server. Mét thĨ hiƯn cđa Oracle gåm hai
loại tiến trình: các tiến trình ngời dùng và các quá trình Oracle. Một tiến
trình ngời dùng thực hiện mà của một chơng trình ứng dụng hay một công cụ

8


Khoá luận tốt nghiệp


Nguyễn Công Nhật - Lớp 40A - CNTT

Oracle, Còn các tiến trình Oracle gồm các tiến trình Server thực hiện các tiến
trình ngời dùng và các tiến trình chạy ngầm để duy trì công việc của Oracle.
a. System globol area: Là vùng nhớ dùng chung chứa dữ liệu và các
thông tin điều khiển của một thể hiện Oracle. Nó bao gồm vài cấu trúc bộ
nhớ chính:
Bộ đệm CSDL (data buffer): nó dùng để lu trữ những khối dữ liệu thờng đợc sử dụng nhất, tập hợp các bộ đệm trong một thể hiện gọi là data
buffer cache, buffer cache chứa các khối dữ liệu đà biến đổi cịng nh cha
biÕn ®ỉi.
Bé ®Ưm redo log (redo log buffer): nó lu trữ các mục redo các quá
trình thay đổi của CSDL, các mục redo này đợc lu trong tập tin redo log
online có kích thớc không đổi và nó đợc sử dụng khi CSDL có sự cố.
Các vùng chia sẻ (shared pool): nó chứa các cấu trúc bộ nhớ dïng
chung nh c¸c vïng SQL dïng chung. Mét vïng SQL dùng chung đợc dùng
để xử lý mọi lệnh SQL xác định đa tới CSDL.
Các cursor: chỉ ra trạng thái hiện tại của câu lệnh SQl.
b. Program globol area: Là bộ nhớ đệm kiểm soát thông tin của một quá
trình Server và chứa dữ liệu. Nó đợc tạo ra khi một tiến trình Server đợc khởi
tạo.

4.2 Cấu trúc các tiến trình
Một tiến trình là cơ chế trong hệ điều hành mà có thể thực hiện một
chuỗi các bớc. Một tiến trình (process) thờng có vùng nhớ riêng để chạy.
Oracle Server có hai tiến trình chính: tiến trình ngời dùng và tiến tr×nh
Oracle.
a. TiÕn tr×nh ngêi dïng (client): Mét tiÕn tr×nh ngêi dùng đợc tạo ra và
duy trì để thực hiện mà phần mền cua một chơng trình ứng dụng hay công cụ
của oracle.

b. Cấu trúc tiến trình của Oracle: các tiến trình của Oracle đợc gọi bởi
các tiến trình khác để thực hiện các chức năng của tiến trình gọi, các loại tiến
trình Oracle bao gồm các tiến trình Server và các tiến trình chạy ngầm.
Các tiến trình Server: Oracle tạo ra các tiến trình Server để quản lý
các yêu cầu từ các quá trình kết nối của ngời dùng. Một tiến trình Server có
nhiệm vụ tơng tác với Oracle để thực hiện các yêu cầu của tiến trình ngời
dùng kết hợp.
Các tiến trình background: Oracle tạo ra một tập các tiến trình
background cho mỗi thể hiện, chúng hợp nhất các chức năng mà lẽ ra sẽ đợc
quản lý bởi nhiều chơng trình Oracle chạy cho mỗi tiến trình ngời dùng. Mỗi
thể hiện của Oracle có thể sử dụng một vài tiến trình background sau:
Database writer: Ghi các khối đà biến đổi từ bộ đệm dự liệu đến các tập
tin dữ liệu chỉ cần một database writer là đủ cho hầu hết các hệ thống.
Log writer (LGWR): Log writer ghi các mục redo log vào tệp dữ liệu
redo log, khi một chuyển tác đợc xác lập và bộ đệm redo log đầy log
writer ghi các mục redo log vào c¸c tËp tin redo log online.
 Checkpoint (CKPT): ë mét thời điểm xác định tất cả các bộ đệm dữ liệu
đà đợc biến đổi trong SGA sẽ đợc ghi vào tập tin dữ liệu bởi database
writer, sự kiện này gọi lµ mét checkpoint

9


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

 System monitor (SMON): thùc hiƯn phơc håi thĨ hiƯn lóc khëi t¹o thĨ
hiƯn, trong mét hƯ thèng nhiỊu thĨ hiƯn SMON cđa mét thĨ hiƯn cịng cã
thĨ thùc hiƯn việc phục hồi thể hiện bị hỏng đồng thời xoá các segment

tạm không dùng nữa và nối lại các extern trống trên đĩa để tạo không gian
liên tục giễ định vị.
Process monitor (PMON): thực hiện việc phục hồi quá trình khi một quá
trình ngời dùng bị hỏng, nó có trách nhiệm xoá bộ nhớ và giải phóng các
tài nguyên quá trình đang sử dụng.
Archiver (ARCH): chép các tập tin redo log online vào bộ nhớ lu trữ khi
chúng bị đầy.
Recoverer (RECO): đợc sử dụng để phân giải các chuyển tác phân tán
đang bị treo do sự h hỏng mạng hay hệ thống CSDL phân tán. Vào các
khoảng đà định nó cố gắng kết nối CSDL từ xa và thực hiện commit hay
rollback của bất kỳ chuyển tác nào đang bị treo.
Giao diện chơng trình: là cơ chế giao tiếp của một tiến trình ngời dùng và
một quá trình Server nó cung cấp phơng tiện giao tiếp chuẩn giữa một
công cụ hay một ứng dụng client bất kỳ.

5. Giao dịch (transaction), commit và rollback
Sự thay đổi dữ liệu sẽ không đợc ghi lại cho đến khi ngời dùng quyết
định tờng minh bằng các lệnh chèn, xoá, sửa đổi có hiệu lực. Một giao dịch
là một đơn vị lµm viƯc bao gåm mét hay nhiỊu lƯnh SQL, nã bắt đầu khi ngời dùng kết nối vào CSDL và kết thúc khi một commit hay một rollback đợc
phát ra. Việc commit một chuyển tác tạo sự thay đổi thờng trực toàn bộ
chuyển tác vào CSDL, và một khi đà commit sự thay đổi không thể đảo ngợc. Trái lại rollback đảo lại toàn bộ sự thêm, sửa đổi, xoá trong chuyên tác,
những thay đổi này không thể commit.

6. Các tác vụ khởi tạo (startup) và chấm dứt (shutdown)
Một CSDL Oracle chỉ có sẵn cho ngời dùng khi Server đợc startup và
CSDL đợc mở nó đợc thực hiện bởi ngời quản trị mạng, quá trình đó thực
hiện nh sau:
Khởi động mét thĨ hiƯn cđa Oracle
KÕt nèi (mount) CSDL
Më CSDL

ViƯc shutdown một thể hiện và CSDL gồm các bớc:
Đóng CSDL
Thu hồi kÕt nèi (dismount) CSDL
Shutdown thĨ hiƯn cđa Oracle

7. B¶o mËt CSDL
C¸c hƯ thèng CSDL nhiỊu ngêi sư dơng nh Oracle thì việc bảo mật là
hết sức quan trọng, các cơ chế bảo mật bao gồm:
Ngăn cản sự truy xuất dữ liệu trái phép
Ngăn cản sự truy xuất trái phép các lợc đồ
Điều khiển việc sử dụng đĩa
Điều khiển việc sử dụng không gian hệ thống
Giám sát các hành động của ngời dùng.
Tính bảo mật của CSDL có thể phân ra làm hai loại riêng biệt:
10


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

Bảo mật hệ thống bao gồm đều khiển việc truy xuất và sử dụng
CSDL:
Sự đăng nhập hợp lệ của username và password
Lợng không gian đĩa sẵn có cho mỗi schema của ngời sử dụng
Giới hạn về tài nguyên cấp cho mỗi user
Bảo mật hệ thống kiểm tra:
user có quyền truy cập vào CSDL hay không?
Sự giám sát dữ liệu có hoạt động hay không?
Các tác vụ hệ thống nào user có thể thực hiện?

Bảo mật dữ liệu bao gồm:
Xác định quyền user với một đối tợng schema và những tác vụ nhất định
mà user có thể thực hiện trên đối tợng schema
Các tác vụ nếu có đợc giám sát đối với mỗi đối tợng hệ thống

7.1 Các cơ chế bảo mật
Oracle quản lý sự bảo mật CSDL bằng cách sử dụng các phơng tiện
sau:
a. User CSDL và schema
Mỗi CSDL oracle có một danh sách các username, để truy xuất đến
CSDL user cần đăng nhập username và password hợp lệ.
b. Bảo mật vùng (Domain Security)
Mỗi user có một domain security nó bao gồm:
Các hoạt động có sẵn nh role của user
Các không gian đĩa (quota tablespace) có sẵn cho user
Giới hạn tài nguyên hệ thống

7.2 Đặc quyền (Privilege)
Một đặc quyền thực hiện một loạt các câu lệnh SQL đặc biệt, đặc
quyền bao gồm:
a. Đặc quyền hệ thống (privilege): cho phép đối tợng thực hiện một
hành động mức hệ thống, đặc quyền này rất mạnh nên hầu hết chỉ dành cho
các nhà quản trị hệ thống và các nhà phát triển ứng dụng.
b. đặc quyền trên đối tợng (schema): Nó thờng đợc gán cho ngời
dùng cuối để thực hiện một số hành động trên các đối tợng schema nh chèn,
xoá , sửa các hàng của bảng...
c. Cấp đặc quyền: đặc quyền đợc cấp cho các user để họ thực hiện biến
đổi dữ liêu trong một CSDL, privilege đợc cấp theo hai c¸ch:
 C¸c privilige cÊp cho c¸c user mét c¸ch têng minh
Các privilige đợc gán cho các role, đó là nhóm các quyền đợc đặt tên và

sau đó role có thể đợc gán cho một user
d. Role: Là một nhóm các privilige có liên quan đợc đặt tên để cấp cho c¸c
user hay c¸c role kh¸c
e. C¸c x¸c lËp lu trữ và quota: Oracle cung cấp các biện pháp để định
hớng và giới hạn việc sử dụng không gian CSDL của từng user, bao gồm
không gian (tablespace) mặc định, không gian tạm thời, không gian quota:

11


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

Tablespace mặc định: Mỗi user kết hợp với một tablespace mặc định,
khi tạo một bảng mà không chỉ định cụ thể tablespace thì tablespace mặc
định sẽ đợc sử dụng nếu user có quyền tạo các đối tợng schema và đợc cấp
quota trong tablespace.
Tablespace tạm thời: Mỗi user có một table space tạm thời, khi user
thực hiện một câu lệnh SQL mà yêu cầu tạo ra một segment tạm thời thì
tablespace tam thời sẽ đợc sử dụng, nó định vị tất cả các segment tạm thời
vào một tablespace riêng.
Các giới hạn lu trữ (quota) tablespace: Oracle có thể giới hạn một
không gian đĩa định sẵn để cung cấp cho các đối tợng trong một schema. Các
quota có thể xác lập cho từng tablespace có sẵn của user

II.1.3 Mô hình kết nối trong Oracle Server
Trong phần này ta xây dựng một mô hình khái niệm để hiểu cách
client và Server trong Oracle Server giao tiếp với nhau.
Phần mềm client gửi yêu cầu cho Oracle Server và nhận dữ liệu từ

Server, giao tiếp này phải đi qua nhiều tầng liên kết trên client, từ tầng ứng
dụng xuống tầng mạng, và ở phía Server thì nó đi theo chiều ngợc lại. Ta coi
các tầng này nh là các giải pháp cho 2 vấn đề sau:
Vấn đề thứ nhất là truyền thông cơ sở dữ liệu: Các hệ quản trị cơ sở dữ
liệu, trong đó có Oracle Server phải phục vụ các mục đích chung, trong khi
đó các chơng trình client lại phục vụ cho một mục đích đặc biệt nào đó. Làm
thế nào mà các client rất khác nhau này có thể giao tiếp đợc với Server? Câu
trả lời sẽ là tầng truyền thông cơ sở dữ liệu.
Vấn đề thứ hai là truyền thông mạng: Khi bạn đà có một ngôn ngữ
hay giao thức chung giữa client và Server, giao tiếp qua mạng giữa chúng sẽ
nh thế nào? Nếu chỉ có client phát ra yêu cầu hay Server sinh ra kết quả thì
không đủ để coi là một giao tiếp mạng. Giải pháp cho vấn đề này là th viện
mạng.

1. Truyền thông giữa tiến trình client và tiến trình Server
Mục đích của kiến trúc client/Server là phân tán các xử lý ứng dụng
giữa client và máy chủ cơ sở dữ liệu. Nhiệm vụ của Server: truy nhập và
quản lý dữ liệu, cung cấp dịch vụ thực hiện các yêu cầu từ client. Nhiệm vụ
của client: nhận dữ liệu đầu vào từ ngời sử dụng, biểu diễn dữ liệu trả về từ
Server. Do cả client và Server thực thi tơng tác đồng thời nên cần có phơng
pháp truyền thông giữa các tiến trình client và tiến trình Server, đó là cơ chế
truyền thông liên tiến trình (IPC-interprocess communication).

Client
Application

Interprocess

oracle
Server


Communicati
on
Netword
Componens

Netword
Componens

Physical
Hình 3 :Mô hình giao
tiếp giữa client và Server
Netword

12

Data


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

Có hai loại IPC qua mạng: loại theo liên kết và loại quảng bá. Truyền
thông liên tiến trình theo liên kết là giao tiếp hai chiều giữa client và Server,
liên kết này chỉ tồn tại trong một khoảng thời gian nhất định. Truyền thông
client - Server trong Oracle Server là loại theo liên kết.
Phần mềm CSDL client cung cấp giao diƯn víi ngêi sư dơng. Nã ph¶i
thùc hiƯn më mét kết nối và một đờng truyền tới cơ sở dữ liệu trên máy chủ.
Chỉ khi mở đợc kết nối, client và Server mới giao tiếp đợc với nhau. Client

có thể tạo kết nối tới một hoặc nhiều Server tuỳ theo yêu cầu của từng ứng
dụng. Server phải điều khiển cùng mét lóc nhiỊu kÕt nèi cđa c¸c client kh¸c
nhau, mèi kết nối là một tiến trình riêng biệt.

2. Tabular Data Stream TDS
Phần mềm client không thể giao tiếp trực tiếp với hệ quản trị cơ sở dữ
liệu trên máy chđ. NÕu DBMS giao tiÕp trùc tiÕp víi c¸c øng dụng client thì
với mỗi ứng dụng client mới lại phải viết lại DBMS . Do vậy, mỗi DBMS có
quy tắc riêng cho các client muốn thiết lập giao tiếp với nó, đợc gọi là giao
thức dòng dữ liệu mức logic - logical data stream protocol (còn gọi là giao
thức truyền th«ng møc thÊp - low level communications protocol).
Trun th«ng tõ client tới Server: giao thức TDS thực hiện nhúng các
thẻ giới hạn dòng dữ liệu vào trong các câu lệnh client gưi tíi Server.
Trun th«ng tõ Server tíi client: Server gửi kết quả tới client, các thẻ
TDS mô tả cấu trúc của tập dữ liệu trả về, thông báo lỗi, trạng thái của yêu
cầu
Trong trờng hợp cả yêu cầu của client và kết quả trả về của Server đều
ở dạng văn bản thì TDS trộn lẫn văn bản và thẻ TDS miêu tả văn bản.
Bạn có thể dùng dich vụ giám sát mạng (Network Monitor) của Windows
2000 Server để xem dữ liệu truyền giữa SQL và client thông qua TDS.

Client
Application

Database API
Components

oracle
Server


Tabular Data

Data

Open Data
Services

Stream (TDS)
Netword
Componens

Netword
Componens

Hình 4 : Client và Server giao tiếp với nhau thông qua TDS
Physical
3. Database API Components

Netword
Tuy đà cã giao thøc TDS nhng
c¸c øng dơng client vÉn cha thể giao tiếp
đợc với DBMS. Vì nếu ứng dụng client giao tiếp với DBMS thông qua giao
thức TDS thì nó cần đảm nhiệm chức năng dịch các yêu cầu của nó thành
dòng dữ liệu TDS, giải mà dòng dữ liệu TDS để nhận kết quả trả về. Phía
Server cần có chức năng dịch ngợc trở lại, từ dòng dữ liệu TDS thành các yêu
cầu của client, từ kết quả trả về cho client thành dòng dữ liệu TDS. Đáp ứng

13



Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

yêu cầu đó, các thành phần cơ sở dữ liệu API đa thêm một tầng trừu tợng
làm nhiệm vụ dịch dữ liệu cho giao thức bậc thấp TDS và thể hiƯn giao diƯn
chn cho client. Oracle Server cã 3 lo¹i giao diƯn kh¸c nhau: ODBC (Open
Database Connectivity - kÕt nèi cơ sở dữ liệu mở), OLE DB, DB Library
(th viện cơ sở dữ liệu) trong đó ODBC là loại phổ biến với các ứng dụng hiện
nay, DB Library là loại đầu tiên còn OLE DB là loại mới xuất hiện cïng
Oracle Server 8.0.

Client Aplication

oracle Server
Open Data Services

ADO

RDO

VBSQL

OLE DB
Provider

ODBC
Driver

DB

Library

TDS

TDS
Server netword library

Client Netword library
Protocol Stack

Protocol stack

Hình 5 : Các thành phần giao tiếp với TDS

4. Các thành phần của IPC
Nh phần trên ®· giíi thiƯu, TDS chØ lµ mét giao thøc mang tính logic
về mặt định dạng dữ liệu, nó không có cơ chế duy trì kết nối giữa client và
Server cũng nh giao diện giao tiếp với tầng mạng ở cả client vµ Server. Ngay
trong Database API Components vµ Open Data Services cũng không bao
gồm các chức năng tơng tác với tầng mạng. Bởi vậy, cần có một thành phần
đảm nhận chức năng giao tiếp mạng mới có thể thực hiện truyền thông giữa
các tiến trình client và Server, đó chính là IPC Components.
Tầng IPC Components của client giao tiếp với tầng IPC Components
của Server để khởi tạo, duy trì, giải phóng kết nối cũng nh thực hiện gửi và
nhận các yêu cầu, kết quả. Tầng IPC Components nhận dữ liệu dạng TDS từ
tầng Database API Components và Open Data Services gói thành các gói tin
truyền qua tầng mạng vật lý kết nối giữa client và Server. Khi nhận các gói
tin từ tầng mạng vật lý, IPC Components thực hiện cắt bỏ các thông tin
mạng, trả lại dữ liệu ở dạng TDS cho tầng Database API Components và
Client

oracle
Open Data application
Services.
data
Server
Database API
Components

Client IPC
Components

Open Data
Services

Interprocess

Server IPC
Components

Communtcation
Netword
Components

14

Netword
Components


Khoá luận tốt nghiệp


Nguyễn Công Nhật - Lớp 40A - CNTT

Hình 6: Vai trò của tầng IPC

5. Mô hình kết nối của ORACLE Server
Bây giờ ta đà có một mô hình chi tiết về quá trình truyền thông client Server trong ORACLE Server: Bắt đầu ứng dụng, client đa ra các yêu cầu
liên kết, các lệnh cơ sở dữ liệu tới trình điều khiển cơ sở dữ liệu (ODBC,
OLE DB, DB - Library). Các trình điều khiển dịch các yêu cầu của client
thành dữ liệu dạng TDS để gửi cho Server. Khi trình điều khiển cơ sở dữ liệu
yêu cầu kết nối, tầng th viện mạng sẽ chọn cơ chế IPC để thiết lập cách thức
giao tiếp với Server. Ví dụ: Khi phần mềm client chạy trên máy chủ (tức là
hệ thống hoạt động trên một máy), kết nối giữa client và Oracle Server đợc
thiết lập thông qua cơ chế named pipes. Sau khi kết nối đợc thiết lập, trình
điều khiển cơ sở dữ liệu gọi đến các hàm trong th viện mạng để chuyển dữ
liệu dạng TDS thành các gói tin mạng, đẩy chúng vào ngăn xếp (stack) trong
mạng, truyền qua đờng truyền vật lý.
Vì tất cả các th viện mạng đều có chung một giao diện với trình điều
khiển cơ sở dữ liệu nó có thể sử dụng bất kỳ một th viện nào để kết nối với
ORACLE Server.

Client Application

oracle Server

Database API Library
OLE DB ODBC DB-Libraray

ODS(Open Data Services)


Client-stite netword library
Named Multi- TCP/IP
Pipes
Protocal Sockets

Client-stite netword library
Named Multi- TCP/IP
Pipes Protocal Sockets

IPC Mechanism
(name pipes,RPC,Sockets)

IPC Mechanism
(name pipes,RPC,Sockets)

Protocal Stack
(NetBeui,TCP/IP,NWLink,etc)

Protocal Stack
(NetBeui,TCP/IP,NWLink,etc)

15
Physical Network

Datta


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT


Hình 7: Mô hình kết nối của Oracle Server 8.0
Với mô hình kết nối nh trên, các ứng dụng theo mô hình client/Server
có thể chạy trên nhiều mô hình mạng kh¸c nhau.

6. KÕt nèi Server - to – Server
CÊu tróc đóng gói của các tầng truyền thông nh trên tạo điều kiện
thuận lợi cho việc kết nối giữa các Server. Mô hình kết nối dựa trên nguyên
tắc: bộ xử lý câu hỏi của Server này đợc thực hiện nh một client đối với một
Server khác.

Query Engine

storage
Engine

Data

Query Engine

OLE DB
Driver

Storage
Engine

Netword
Libraries
Netword
Components


Netword
Libraries
Netword
Components

Data

Hình 8: Mô h×nh kÕt nèi Server – to - Server
Trong Oracle Server , công cụ hỏi và công cụ lu trữ giao tiếp với nhau
thông qua giao diện OLE DB, nhờ đó nó có thể kết nối tới nhiều nguồn cơ sở
dữ liƯu kh¸c nhau nh Jet, Site Server, Index Server.

Rilational Engine
OLE DB

SQL Server
OLE DB
Provider

oracle
OLE DB
Provider

ODBC
OLE DB
Provider

Other
OLE DB

Provider

Other SQL
Sources
SQL - NET
TDS

Local
Data

Other SQL
Sources

Other16SQL
Sources

ODBC
Driver

Other SQL
Sources

Other SQL
Sources


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT


Hình 9: Giao diện kết nối OLE DB tới các nguồn cơ sở dữ liệu khác nhau

II.1.4 Quản trị Oracle Server
1. Cài đặt Oracle
Có rất nhiều phiên bản của Oracle có thể thích hợp với nhiều loại cấu
hình máy khác nhau, tuỳ theo cấu hình máy của bạn và khả năng khai thác
ứng dụng mà bạn lựa chọn phiên bản thích hợp. Trong phạm vi đề tài này tôi
lựa chọn phiên bản Enterprise của Oracle cài đặt trên Windown 2000 Server.
Các yêu cầu về hệ thống:
Bộ nhớ : tối thiểu 96 MB, nên có bộ nhớ 128 MB
Dung lợng ổ đĩa 600 MB
Card mạng.
Tiến trình cài đặt:
Chèn đĩa CD vào ổ CD Rom
Chọn Install/Deinstall Products
Quá trình cài đặt bạn làm theo chỉ dẫn

2. Quản trị Oracle
2.1 Các môi trờng làm việc của Oracle
Oracle có hai môi trờng làm việc đó là SQL*PLUS và Eterprise
Manager. Trong đó SQL*PLUS là môi trờng chn nã cung cÊp giao diƯn
dßng lƯnh rÊt thn tiƯn cho ngời dùng. Trái lại môi trờng Enterprise
Manager cung cấp giao diện đồ họa, nó cung cấp một cách nhìn tổng thể về
hệ thống trong đó cây phân cấp và các hình ảnh đồ họa cùng với các quan hệ
giữa chúng đợc thể hiện.
Khi khởi động SQL*PLUS hay Enterprise Manager đòi hỏi bạn phải
đăng nhập Tên ngời sử dụng/mật khẩu do DBA cung cấp. Với giao diện màn
hình đăng nhập nh sau:

Sau khi đăng nhập đối với môi trờng SQL*PLUS ta có thể gõ lệnh tại

dấu nhắc SQL>. Còn đối với môi trờng Enterprise Manager ta chỉ việc click
chuột vào các chức năng tuỳ thuộc vào công việc mà bạn mn thùc hiƯn.

2.2 Qu¶n lý mét Oracle Instance
a.TËp tin tham sè Init.ora
17


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

Mỗi thể hiện của CSDL là một tập hợp gồm các tiến trình nền và cấu
trúc bộ nhớ mà Oracle sử dụng, mỗi thể hiện đó phải có một tập tin tham sè
Init.ora. Tõ tËp tin nµy thĨ hiƯn cã thể nhận lại các tham số để chạy, nó đợc
Oracle sử dụng trong lần khởi động đầu tiên của một thể hiện.
Tập tin Init.ora đợc dùng để chỉ định:
Tổng số không gian lu trữ đợc cấp phát cho vùng nhớ Oracle
Segment Rollback nào đợc dùng
Các cài đặt về ngôn ngữ sử dụng
Các cài đặt để Oracle chạy trong chế độ máy chủ song hành.
CSDL và tập tin controll đợc dùng
Khi nào sẽ tạo điểm kiểm tra
Giới hạn về cơ cấu kiểm tra CSDL
Sẽ khởi tạo tiến trình nền không uỷ nhiêm nào
Các tham số:
Tập tin tham số của oracle có dạng INIT xxxx.ORA, trong đó xxxx là
tên CSDL mà tập tin tham số này liên hệ, thứ tự các tham số trong tập tin là
không quan trọng và các tham số là tuỳ chọn. Một số tham số cơ bản
Tham số

Diễn giải
Background_dump_dest Xác định nơi tiến trình nền đặt các file để ghi
vào (LGWR,DBW)
Compatibke
Phiên bản Server tơng thích với instance
Control_file
Tên của các control_file
Db_block_Buffers
Số lợng blocks cached trong SGA
Db_Name
Định danh CSDL tõ 8 ký tù trë xng
Shared_pool_Size
KÝch thíc cđa Shared_pool
User_Dump_Dest
C¸c file user debug đợc tạo thay cho tiến trình
ngời dùng.
IFILE
Tên của tham số đợc include vào file tham số
hiện thời
Log_Buffer
Số Byte cấp cho vùng đệm redo log
Processes
Kiểm tra số tiến trình lớn nhất của hệ điều
hành có thể nối với CSDL
SQL_Trace
Chỉ định tập tin SQL sẽ thực hiện khi tạo
CSDL
Tạo và lu các File tham số:
Kích hoạt Oracle Enterprise Manager Console/Truy nhập vào với mật
khẩu hệ thống/Kích hoạt oracle instance manager, File tham số đợc lu giữ

trong th mực %Oracle_home%\admin\sid\pfile. Cho phép chúng ta xem xét
và sửa các tham số.
b. Khởi ®éng vµ ®ãng CSDL (Startup vµ Shutdown)
Mét CSDL Oracle sÏ sẵn sàng khi khởi động Oracle instance và mở
một database. Các bớc khởi động:

18


Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

-

Khëi ®éng
KÕt nèi víi CSDL (Mount the database)
Më CSDL (Open the datatbase)
Trong môi trờng SQL*PLUS có thể khởi động CSDL theo tham biÕn
cđa lƯnh Startup, bao gåm:
Startup nomount: Khëi ®éng instance không kết nối CSDL
Startup mount: Khởi động instance mount database nhng vẫn đóng
nó.
Startup open: Khởi động instance và mở CSDL
Quá trình khởi động Oracle lấy các tham số mặc định trong file tham
số phục vụ cho việc khởi tạo. Cấp phát vùng nhớ SGA và khởi động các tiến
trình nền.
Shutdown CSDL gồm 3 giai đoạn:
Đóng CSDL
Thu hồi kết nối

Dừng
Để tắt CSDL ta dùng lệnh Shutdown với các tham số
Normal:Trong quá trình thực hiện lệnh không có một kết nối mới nào
cho phép, database sẽ đợi cho đến khi kết nèi kÕt thóc.
Immediate: KÕt nèi chÊm døt ngay lËp tøc, các thao tác xử lý cha
commit đều bị rollback.
Abort: Kết nối chấm dứt và các thao tác cha commit thì không bị
rollback.
c.Tạo CSDL
Trớc khi tạo CSDL ta phải Connect bằng mật khẩu của DBA, có thể
tạo CSDL bằng công cụ Database Configution Assistant hc Create
database:
Sư dơng Database cofigution Assistant: Cho phép tạo CSDL ở hai chế
độ:
Typical: Tự động cài đặt CSDL chuẩn cùng với các file tham số khởi
tạo mặc định.
Customer: Cho phép tạo CSDL tuỳ theo ý muốn.
Sử dụng cú pháp câu lệnh CREATE trong môi trờng SQL*PLUS:
CREATE DATABASE [database]
[CONTROLFILE REUSE]
[LOGFILE [ GROUP integer ] filespecl
[, [ GROUP integer ] filespecl ].....
[MAXLOGFILES integer]
[MAXLOGMEMBERS integer ]
[MAXLOGHISTORY integer ]
[MAXDATAFILES integer ]
[MAXINSTANCES integer ]
[ARCHIVELOG/NOARCHIVELOG]

19



Khoá luận tốt nghiệp

Nguyễn Công Nhật - Lớp 40A - CNTT

[CHARACTER SET charset ]
[NATIONAL SET charset ]
[NATIONAL CHARACTER SET charset]
[DATAFILE filespec [autoextend_clause]
[, filespec [autoextend_clause]....]]
filespec :== 'filename' [SIZE integer][K/M] [REUSE]
autoextend_clause:==[ AUTOEXTEND {OFF
/ON [NEXT integer [K/M]]
[MAXSIZE {UNLIMITED/ integer[K/M]}}}]
Trong đó:
Database: tên CSDL đợc tạo
CONTROLFILE REUSE: tên file tham số đà tồn tại đợc sử dụng
LOGFILE GROUP : tên log file đợc sử dụng
MAXLOGFILES: số lợng tối đa log file group cho CSDL
MAXLOGMEMBERS: số lợng tối đa log file member cho một log
file group
MAXLOGHISTORY: số lợng tối đa các redo log trong một group
DATAFILE filespec: tên file dữ liệu đợc sử dụng
MAXSIZE
MAXDATAFILES: kích thớc khởi tạo của một database
MAXINSTANCES: số lợng lớn nhất các instance có thể đồng thời
mount và open CSDL
AUTOEXTEND: cho phép hoặc không mở tự động các file dữ liệu


2.3 Quản lý các Server
Công cụ quản lý chính cho Oracle Server là Enterprise Manager, đó là
một tiện ích giàu tính đồ họa có khả năng quản lý nhiều máy ORACLE
Server. Có thể dùng Enterprise Manager để đặt cấu hình cho một Oracle
Server cụ thể và quản lý các cơ sở dữ liệu của nó.

2.4 Quản lý nhiều cơ sở dữ liệu
Tất cả dữ liệu của Oracle Server đợc lu trong các cơ sở dữ liệu. Một
cơ sở dữ liệu là một tập các bảng và những đối tợng khác dựa trên các bảng
đó. Bảng chứa dữ liệu đợc tổ chức theo hàng và cột, các đối tợng ràng buộc
hoặc thao tác trên dữ liệu.

2.5 Các đối tợng của cơ sở dữ liệu
Bảng là thành phần cơ sở của cơ sở dữ liệu vì tất cả dữ liệu của nó đều
đợc lu trong các bảng. Mỗi bảng chỉ thuộc về một cơ sở dữ liệu và mỗi cơ sở
dữ liệu cũng chỉ thuộc một Oracle Server. Một cơ sở dữ liệu gồm các đối tợng sau:
Sechema (Biểu đồ cơ sở dữ liệu): các biểu đồ về cơ sở dữ liệu mà bạn
tạo ra.
Tables (Các bảng): các bảng hệ thống và bảng dữ liệu của cơ sở dữ
liệu đó.
Views (khung nhìn): những phần trích ra từ cơ sở dữ liệu đợc lu lại và
có thể truy nhập nh đối với các bảng.

20



×