Professional Documents
Culture Documents
Tổng quan
Giới thiệu
Kiến trúc cơ bản của Oracle
Ưu, nhược điểm của Oracle
So sánh Oracle và MS SQL Server
Oracle 12c
Giới thiệu
Về tập đoàn Oracle
Ngày thành lập CEO: Larry Ellison
• 16/06/1977 tại California, Mỹ
Larry Ellison thành Thương mại hóa phiên • 1981: v3.0 • 2001: Oracle 9i release 1
lập công ty ban
đầu tên SDL
bản đầu tiên về CSDL •
•
1984: v4.0
1986: v5.0
(IAS)
• 2002: Oracle 9i release 2
Oracle 12c
quan hệ
• 1988: v6.0
• 1989: v6.2
Oracle 12c
Kiến trúc cơ bản của Oracle
Kiến trúc cơ bản của Oracle • Lớp dữ liệu (File systems)
• Bao gồm các tập tin dữ liệu được tổ chức lưu trữ
Dữ liệu tại các đĩa cứng của một hoặc nhiều máy chủ
khác nhau.
• Các tập tin tiêu biểu: init file, control file,
database file, redo log file,…
• Lớp xử lý bên dưới (Background
processes)
Máy chủ
• Đảm bảo cho mối quan hệ giữa phần CSDL vật lý
và phần hiển thị trong bộ nhớ được khớp nhau.
Các xử lý • Các xử lý tiêu biểu: database writer, log writer.
Các máy trạm
• Lớp bộ nhớ (Memory)
• Bao gồm nhiều thành phần khác nhau được tổ
chức lưu trữ trên vùng đệm bộ nhớ của máy tính
nhằm tăng tốc độ xử lý trong Oracle.
Bộ nhớ máy tính • Một số vùng đệm tiêu biểu: database buffer
cache, dictionary cache, SQL area,…
Giới thiệu Oracle Server
MEMORY • Oracle Instance
• Là thành phần liên kết giữa người dùng và thông
tin trong Oracle Database
• Một Oracle Instance chỉ được mở cho duy nhất
PROCESSES một Oracle Database cần truy xuất.
• Được tạo nên bởi sự kết hợp của 2 thành phần:
cấu trúc bộ nhớ và các tiến trình nền.
• Oracle Database
FILES • Dùng để lưu trữ và cung cấp thông tin cho người
dung.
FILES FILES • Việc quản lý dữ liệu trong Oracle Database thông
FILES qua cấu trúc lưu trữ logic và vật lý.
Tổ chức dữ liệu trên Oracle Database
• Vai trò quan trọng nhất của
CƠ SỞ DỮ LIỆU Oracle Server là lưu trữ và
cung cấp thông tin cho người
dùng thông qua Oracle
Không gian Không gian Không gian Database.
bảng System bảng Index bảng User
• Quản lý thông tin lưu trữ
thông qua hai thành phần lữu
Tập tin dữ liệu Tập tin dữ liệu Tập tin dữ liệu
trữ vật lý và logic.
SYSTEM01.DBF INDEX01.DBF USER01.DBF • Thành phần lưu trữ vật lý là
các tập tin.
Tập tin dữ liệu Tập tin dữ liệu
SYSTEM02.DBF USER02.DBF • Thành phần lưu trữ logic là các
không gian bảng (Tablespace).
Thành phần vật lý
DATA FILE REDO LOG FILE CONTROL FILE
Data Block
Extent
Segment
Oracle 12c
Ưu, nhược điểm của Oracle
Ưu điểm và Nhược điểm của Oracle
Cả Oracle và MS SQL Server đều là các tùy chọn RDBMS mạnh mẽ.
Mặc dù có một số khác biệt trong cách hoạt động nhưng cả hai có
thể được sử dụng theo một cách gần tương tự nhau. Không có
đánh giá cái nào tốt hơn, nhưng trong những trường hợp khác
nhau ta có thể đưa ra lựa chọn dựa trên ưu nhược điểm của từng
loại để có thể tối ưu hóa công việc.
Oracle 12c
Demo
Cảm ơn thầy và các anh chị đã
chú ý theo dõi !
12c
Tablespace
• Một CSDL được chia thành nhiều đơn vị lưu trữ ở mức Logic, những đơn vị lưu trữ
đó gọi là Tablespace.
• Tablespace được tạo nên bởi sự kết hợp của một hay nhiều đơn vị lưu trữ Logic gọi
là Segment, một Segment được chia thành nhiều Extent và trong Extent có nhiều
Data Blocks liên tục nhau.
• Các đặc điểm của Tablespace:
• Tablespace chỉ thuộc về một CSDL duy nhất.
• Một Tablespace bao gồm một hay nhiều tập tin vật lý dùng để lưu trữ dữ liệu,
đó là Data File.
• Trong Oracle Database luôn có một Tablespace do Oracle tạo ra trong quá trình tạo
CSDL tên SYSTEM. Đây là vùng nhớ qua trọng của CSDL, dùng để lưu trữ tất cả
thông tin về CSDL như định nghĩa cấu trúc của các đối tượng, thông tin cấp phát, …
Data Block
• Là đơn vị lưu trữ Logic nhỏ nhất được Oracle sử dụng trong việc đọc và ghi dữ liệu
trong Oracle Database.
• Kích thước của Data Block được xác định thông qua tham số DB_BLOCK_SIZE.
• Data Block trong Oracle Database gồm 3 vùng chính: Header, Data và Free Space.
• Header là vùng chứa thông tin chung của Block như địa chỉ của Block và loại
Segment chứa Block là Data, Index, Rollback hay Temporary.
• Data dùng lưu trữ dữ liệu các dòng của bảng, các dòng của một bảng dữ liệu có
thể nằm trên nhiều Block khác nhau.
• Free Space là vùng nhớ nằm giữa Header và Data, giúp kích thước của Header
và Data có thể tăng lên khi cần trong trường hợp thêm hay sửa dữ liệu của
bảng.
Extent
• Tập hợp nhiều Data Block liên tiếp nhau tạo thành một đơn vị lưu trữ Logic lớn hơn
gọi là Extent. Số lượng Data Block của một Extent tùy thuộc vào kích thước được
chỉ định cho Extent khi tạo đối tượng Table.
• Khi tạo một Table, Oracle tự động cấp phát cho Table một Data Segment, trong Data
Segment sẽ có một Extent với số lượng Data Block tùy thuộc kích thước của Extent.
• Nếu không gian lưu trữ trong các Data Block của một Extent trong Segment bị đầy
thì Oracle tự động cấp phát them một Extent cho Segement. Kích thước của Extent
mới cấp phát có thể lớn hơn hay bằng kích thuớc của Extent ban đầu.
• Số Extent được cấp phát cho một Segment có thể xác định thông qua các tham số
khi tạo Table như MINEEXTENT, MAXEXTENT.
Segment
• Segment là tập hợp một số Extent dùng để chứa toàn bộ thông tin cấu trúc lưu trữ
Logic bên trong Tablespace như Table.
• Oracle Database sử dụng 4 loại Segment khác nhau để lưu trữ thông tin:
• Data Segment
• Index Segment
• Temporary Segment
• Rollback Segment
• Những Segment này sẽ được cấp phát cho những đối tượng ở những thời điểm
khác nhau. Ví dụ Segment sẽ được cấp phát cho Table khi thực hiện câu lệnh tạo
Table, còn Temporary Segment được cấp phát khi thực hiện các câu lệnh SQL hay
câu lệnh tạo bảng tạm.
Subqueries
Truy vấn con là một truy vấn SQL được lồng bên trong một truy vấn SQL khác
Subqueries
2. Chứa những thông tin hữu ích với định dạng khác nhau về trạng thái hiện tại của cơ sở dữ liệu
• Trường hợp nào dụng: Tôi muốn thấy tất cả các bảng in CSDL hoặc một lược đồ cụ thể
• Phiên đặng nhập hoặc user hiện tại nào đang kết nối tới database.
33
Sequences
34
Synonym
35
Triggers
36
PL/SQL procedures
37
PL/SQL functions
38
PL/SQL
39
Table Partitions
40
Table Partitions Method
41