You are on page 1of 41

12c

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ỹ

Người sáng lập Mã chứng khoán: ORCL


• Ed Oates, Larry Ellison, Bob Miner

Trụ sở chính Website: http://www.oracle.com/


• Thành phố Redwood, California, Mỹ
Lịch sử hình thành và phát triển
• 1993: v7.0
• 1997: đổi tên
thành Oracle8 (hỗ
 Nhân viên IBM trợ 64bit)
E.F. Codd công bố • 1999: v8i
Lý thuyết về CSDL Đổi tên công ty • 2000: #1 về • 2004: Oracle 10g
quan hệ Đổi tên công ty thành Oracle CSDL quan hệ • 2007: Oracle 11g
Oracle 18c++
thành RSI

1982 1993 2001 2004 2013


1970 1977 1978 1979 1980 - - - - - 2018++
1989 2000 2002 2010 2017

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

• Dùng để chứa tất cả thông


tin về cấu trúc vật lý như:
Đặc điểm của Data File: • Mỗi Oracle Database có 2
tên CSDL, nơi lưu trữ Data
• Một Data File dùng để lưu hay nhiều Redo Log File.
File, Redo Log File,
trữ dữ liệu duy nhất một • Một Redo Log tạo thành
Timestamp tạo CSDL.
Database. những Redo Entry, còn gọi là
• Khi một Instance của Oracle
• Kích thước các Data File có Redo Record.
Database khởi động, Control
thể tự động tăng theo kích • Dùng để ghi lại những thông
File của nó được sử dụng để
thước của Database. tin trong CSDL bị thay đổi.
xác định vị trí của các Data
• Một hay nhiều Data File tạo • Trong trường hợp CSDL gặp
File, Redo Log File. Các File
thành một đơn vị Logic của sự cố trước khi ghi xuống
này phải được mở trong quá
vùng nhớ trong CSDL gọi là Data File, thông tin Redo Log
trình làm việc với CSDL.
Tablespace, một Data File được sử dụng trong việc
• Nội dung Control File được
chỉ quan hệ với duy nhất phục hồi dữ liệu về trạng
Oracle cập nhật tự động liên
một Tablespace. thái trước thay đổi.
tục khi cấu trúc vậy lý thay
đổi.
Thành phần logic
Tablespace

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

* Quản lý được CSDL, hệ * Bản quyền rất đắt, không


thống rất lớn. phù hợp cho công ty vừa
* Phần mềm Oracle được và nhỏ hoặc các nước
tích hợp tất cả các công cụ đang phát triển.
để quản trị cũng như nhập * Không tương thích với
xuất dữ liệu nên rất tiện lợi các công nghệ của
cho người quản tị. Microsoft.
* Có thể cài đặt trên nhiều * Công cụ thiết kế và lập
HĐH khác nhau. trình không phổ biến (Sử
dụng Java).
Oracle 12c
So sánh Oracle và MS SQL Server
So sánh Oracle và MS SQL Server
Lựa chọn giữa Oracle và MS SQL Server ?

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

1 Có thể nằm trong mệnh đề WHERE của truy vấn SQL

2 Có thể nằm trong mệnh đề FROM của truy vấn SQL

3 Có thể nằm trong mệnh đề SELECT của truy vấn SQL


Indexes
Indexes là oracle schema objects được tạo ra để cải thiện hiệu suất của dữ liệu truy cập dùng các câu truy vấn SQL.
B-Tree Indexes
B-Tree Indexes
B-Tree Indexes
Oracle Data Dictionary
1. “Metadata directory” lưu trữ dưới dạng bảng và view in Oracle database

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.

• Indexes nào đã được tạo trên một bảng cụ thể.


TRANSACTION
TRANSACTION: Isolation
TRANSACTION LOCK

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

You might also like