1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo nhóm tìm hiểu hệ quản trị cơ sở dữ liệu oracle

74 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 12,21 MB

Nội dung

Cơ sở đữ liệu Database là hệ thống các đữ liệu có cầu trúc được lưu trữ trên các thiết bị lưu trữ thứ cấp đề thỏa mãn nhu cầu khai thác thông tin của nhiều người sử dụng hoặc nhiều chươn

Trang 1

NGAN HÀNG NHÀ NƯỚC VIỆT NAM BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGÂN HÀNG THÀNH PHÓ HÒ CHÍ MINH

KHOA: HE THONG THONG TIN QUAN LY

Trang 2

DANH MUC TU VIET TAT

DBMS Database Management System Hệ quản trị cơ sở dữ liệu

RDBMS Relational Database Management Hệ quản trị cơ sở dữ liệu quan hệ

System

SQL Structured Query Language Ngôn ngữ truy vấn có câu trúc

CHUONG 1: TONG QUAN VE HE QUAN TRI CO SO DU LIEU ORACLE

1.1 Một số khái niệm cơ bản

Trang 3

Dữ liệu (Data) là những sự kiện có thê ghi lại được, và thường không có ý nghĩa Trong khi

do, théng tin (information) la y nghia cua dir ligu sau khi đã được người sử dụng xử lý trong

một ngữ cảnh cụ thể nào đó

Cơ sở đữ liệu (Database) là hệ thống các đữ liệu có cầu trúc được lưu trữ trên các thiết bị lưu trữ thứ cấp đề thỏa mãn nhu cầu khai thác thông tin của nhiều người sử dụng hoặc nhiều chương trình ứng dụng với nhiều mục đích khác nhau Trong khái niệm này, chúng ta cần nhân mạnh cơ sở đữ liệu phải là một tập hợp các đữ liệu có liên quan vẻ mặt luận lý, chứ không phải là những đữ liệu rời rạc, không có mối quan hệ với nhau Các dữ liệu này phải có cầu trúc, và chúng phải có khả năng đáp ứng các nhu cầu khai thác thông tin của nhiều người

sử dụng

Hệ quản trị cơ sở dữ liệu (DBMS) nhìn chung là một hệ thống phần mềm hướng đến việc

thực hiện các nhiệm vụ sau đây:

- _ Định nghĩa cơ sở dữ liệu bao gồm việc đặc tả các kiểu dữ liệu, các cấu trúc, và các ràng buộc cho đữ liệu sẽ được lưu trữ trong cơ sở đữ liệu

- _ Xây dựng cơ sở đữ liệu bao gồm việc lưu trữ các đữ liệu trên các phương tiện lưu trữ

được hệ quản trị cơ sở đữ liệu kiểm soát

- _ Thao tác cơ sở đữ liệu bao gồm việc thực hiện các chức năng truy vấn cơ sở đữ liệu

dé lay ra những thông tin cần thiết, cập nhật cơ sở đữ liệu đề phản ánh sự các thay đổi

trong thế giới thực và tạo ra các báo cáo từ đữ liệu trong cơ sở đữ liệu

Nói cách khác, hệ quản trị cơ sở đữ liệu là công cụ giúp người sử dụng hay các chương trình ứng dụng tương tác với cơ sở đữ liệu

SQL la viét tắt của Structured Query Language, là ngôn ngữ truy vấn có cầu trúc Nó là một ngôn ngữ, là tập hợp các lệnh đề tương tác với cơ sở đữ liệu Dùng đề lưu trữ, thao tác và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ Trong thực tê, SQL là ngôn

ngữ chuẩn được sử dụng hầu hết cho hệ cơ sở dữ liệu quan hệ Tất cá các hệ thông quản lý

cơ sở dữ liệu quan hệ (RDMS) như MySQL, MS Access, Oracle, Postgres va SQL Server đều sử dụng SQL làm ngôn ngữ cơ sở dữ liệu chuẩn

1.2 Giới thiệu

Oracle là một trong những nhà cung cấp lớn nhất trên thị trường công nghệ hiện nay Cái tên Oracle chính là tên viết tắt từ sản phẩm chủ lực của hãng, hệ thống quản lý cơ sở đữ liệu

Trang 4

quan hệ (RDBMS) có tên chính thức là Oracle Database Phần mềm cơ sở đữ liệu thường giữ vị trí trung tâm trong mảng IT của công ty, hỗ trợ nhiều nhiệm vụ khác nhau gồm xử lý giao địch, business intelligence (BI), và các ứng dụng phân tích Người dùng có thê sử dụng Oracle dé quan ly img dung va database Day là giải pháp hàng đầu được rất nhiều đơn vị lựa chọn đề tiết kiệm chỉ phí, nâng cao hiệu quả quản lý Oracle cho phép bạn tương tác với Database thông qua một ngôn ngữ SQL

Loại phần mềm này được sử dụng tập trung phần lớn tại các doanh nghiệp thuộc các khối

như viễn thông, ngân hàng, chính phủ Tại Việt Nam, được ước tính tỷ lệ đối với các doanh

nghiệp lớn đang sử dụng Oracle thậm chí còn nhiều hơn ở ngưỡng cửa mức trung bình các doanh nghiệp trên thế giới

+

Một số phiên bản của Oracle:

Phién ban Standard One: phù hợp với các đơn vi/ứng dụng sử dụng một server Đây

là phiên bản có các tính năng còn bị hạn chế

Phiên bản Standard: Đây là bản nâng cấp hơn so với phiên bản Standard one, phù hợp

với các đơn vị có hệ thống máy chủ lớn hơn

Phiên bản Enterprise: có một số tính năng hiện đại như tính năng bảo mật, tính toán

hiệu suất, mở rộng phiên bản Phù hợp với các ứng dụng liên quan tới vẫn đề giao dịch online, yêu cầu tính bảo mật cao

Phiên bản Express: Đây là phiên bản miễn phí, cho phép người dùng có thể tải về, sử dụng, triển khai và quán lý hệ thống

Phiên bản Personal: đây là phiên bản có các tính năng giỗng phiên bản Enterprise nhưng được bỏ đi tính năng Oracle Real Application Cluster

Trang 5

Native Binary JSON—, 4

Hình 1-1 Một số phiên bản của Oracle

- Cac tinh nang cia Oracle Database

Tinh nang mở rộng và hiệu suất

Oracle bao gồm một số cơ chế phần mềm đề đáp ứng các yêu cầu quan trọng sau đây của

hệ thống quản lý thông tin:

+ Dữ liệu đồng thời của một hệ thống nhiều người dùng phải được tối đa hóa + Dữ liệu phải được đọc và sửa đổi một cách nhất quán Dữ liệu người ding dang xem

hoặc thay đổi sẽ không bị thay đổi (bởi người dùng khác) cho đến khi họ kết thúc với

cung cấp, Oracle cũng cung cấp các tính năng sau:

+ Cơ sở đữ liệu tự quan ly

Công cụ quản lý Oracle

Trang 6

+ Quan lý tài nguyên cơ sở đữ liệu

Tỉnh năng sao lưu và phục hôi cơ sở dữ liệu (Backup và Recovery)

Trong mọi hệ thông cơ sở dữ liệu, khả năng xảy ra lỗi hệ thông hoặc phần cứng luôn tồn

tại Nếu xảy ra lỗi và ảnh hưởng đến cơ sở dữ liệu, thì cơ sở dữ liệu phải được phục hồi Các mục tiêu sau khi thất bại là để đảm bảo rằng tác động của tất cả các giao dịch đã cam

kết được phản ánh trong cơ sở dữ liệu đã phục hồi và việc trở lại hoạt động bình thường nhanh nhất có thê xảy ra trong khi bảo vệ người dùng khỏi các sự cô do lỗi

Oracle cung cấp các cơ chế khác nhau cho các mục sau:

+ Phục hồi cơ sở đữ liệu theo yêu cầu của các loại lỗi khác nhau

+ Các hoạt động khôi phục linh hoạt để phù hợp với mọi tình huồng

+ C6 san dữ liệu trong các hoạt động sao lưu và phục hồi đề người dùng hệ thông có thê

tiếp tục làm việc

Oracle cung cấp cho phục hồi phương tiện hoàn chỉnh từ tất cả các loại lỗi phần cứng có

thể có, bao gồm cả lỗi đĩa Các tùy chọn được cung cấp đề cơ sở đữ liệu có thể được phục hồi hoàn toàn hoặc được phục hồi một phan đến một thời điểm cụ thê

Nếu một số tệp đữ liệu bị hỏng trong lỗi đĩa nhưng hầu hết cơ sở dữ liệu vẫn còn nguyên vẹn và hoạt động, cơ sở đữ liệu có thê vẫn mở trong khi các không gian bảng yêu cầu

được phục hồi riêng lẻ Do đó, các phan không bị hư hại của cơ sở dữ liệu sẽ có san dé str

dụng bình thường trong khi các phần bị hỏng đang được phục hồi

Tỉnh năng sẵn có cao

Các môi trường điện toán được cấu hình để cung cấp tính khả dụng gần như toàn thời gian được gọi là các hệ thông có tính sẵn sàng cao Các hệ thông như vậy thường có phần cứng và phần mềm dự phòng giúp hệ thống khả dụng mặc dù có lỗi Các hệ thông sẵn

sảng cao được thiết kế tốt tránh có các điểm lỗi đơn

Khi xảy ra lỗi, lỗi quá trình chuyển quá trình xử lý được thực hiện bởi thành phần bị lỗi sang thành phần dự phòng Quá trình này tái tạo lại tài nguyên trên toàn hệ thông, phục

hồi các giao dịch một phân hoặc thất bại và khôi phục hệ thông về trạng thái bình thường

trong vòng vài giây Càng minh bạch sự thất bại xảy ra đối với người dùng, tính khả dụng của hệ thông càng cao

Trang 7

Oracle có một số sản phẩm và tính năng cung cấp tính sẵn sàng cao trong các trường hợp ngừng hoạt động ngoài dự kiến hoặc thời gian ngừng hoạt động theo kế hoạch Chúng bao gồm Fast-Start Fault Recovery, Real Application Clusters, Recovery Manager (RMAN), giải pháp sao lưu và khôi phục, Oracle Flashback, phân vùng, Oracle Data Guard, LogMiner, tép nhật ký làm lại đa kênh, sắp xếp lại trực tuyên Chúng có thê được

sử dụng trong các kết hợp khác nhau đề đáp ứng nhu cầu sẵn sảng cao cụ thẻ

Tĩnh năng kinh doanh thông mình

Phân này mô tả một số tính năng kinh doanh thông minh:

Kho đỡ liệu

Khai thác, chuyển đổi và tải (ETL)

Quan điểm cụ thê hóa

Chỉ mục Bitmap trong kho di liệu

Tĩnh năng quản lý nội dụng

Oracle bao gồm các kiêu dữ liệu để xử lý tất cả các loại nội dung Internet phong phú như

dữ liệu quan hệ, dữ liệu quan hệ đối tượng, XML, văn bản, âm thanh, video, hình ảnh và không gian Các kiểu đữ liệu này xuất hiện đưới dạng các kiêu nguyên gốc trong cơ sở

dữ liệu Tất cả đều có thê được truy van bang SQL M6t cau lénh SQL co thé bao gom dir liệu thuộc về bất kỳ hoặc tat cả các kiêu dữ liệu này: XML trong Oracle, LOBs, Oracle

Text, Oracle Ultra Search, Oracle interMedia, Oracle Spatial

Tĩnh năng bảo mật

Oracle bao gồm các tính năng bảo mật kiêm soát cách truy cập và sử dụng cơ sở đữ liệu

Ví dụ: Cơ chế bảo mật:

+ Ngăn chặn truy cập cơ sở đữ liệu trái phép

+ Ngăn chặn truy cập trái phép vào các lược đồ

Trang 8

+ Kiểm tra hành động của người dùng

Liên kết với mỗi người dùng cơ sở đữ liệu là một lược đồ có cùng tên Theo mặc định,

mỗi người ding cơ sở dữ liệu tạo và có quyền truy cập vào tất cả các đối tượng trong lược đồ tương ứng

Bao mật cơ sở dữ liệu có thể được phân thành hai loại: bảo mật hệ thông và bảo mật dữ liệu

Tinh toan vẹn và kích hoạt

Dữ liệu phải tuân thủ các quy tắc kinh doanh nhất định, như được xác định bởi quản trị

viên cơ sở dữ liệu hoặc nhà phát triển ứng dụng Ví dụ: giả sử rằng một quy tắc kinh doanh nói rằng không có hàng nào trong bảng kiêm kê có thê chứa giá trị số lớn hơn 9 trong cột sale_ điscount Nếu một câu lệnh INSERT hoặc UPDATE có vi phạm quy tắc toàn vẹn này, thì Oracle phải hoàn tác câu lệnh không hợp lệ và tra lại lỗi cho ứng dụng Oracle cung cấp các ràng buộc toàn vẹn và kích hoạt cơ sở dữ liệu đề quản lý các quy tắc

toàn vẹn đữ liệu

Tĩnh năng tích hợp thông tin

Một môi trường phân tán là một mạng lưới các hệ thông khác nhau, giao tiếp liền mạch với nhau Mỗi hệ thông trong môi trường phân tán được gọi là một nút Hệ thống mà người dùng được kết nối trực tiếp được gọi là hệ thống cục bộ Bát kỳ hệ thống bồ sung nào được người dùng này truy cập đều được gọi là hệ thông từ xa Một môi trường phân tán cho phép các ứng dụng truy cập và trao đổi đữ liệu từ các hệ thống cục bộ và từ xa

Tắt cả các dữ liệu có thể được truy cập và sửa đổi đồng thời

1.3 Lựa chọn phiên cài đặt

Phién ban: Oracle Database 19c (19.3) (64bit)

Trang 9

View This PC » Local Disk (0:

Trang 10

select any of the folowing install optons

©) Create sng configure a single insiance databsse

cates 0 storter database Ths opton © Set Up Software Only

Note 1: For RAC natal, co “Sat Up Sofware Only end ten execute DECA (Dstabase Confgurstion Assiatant) from tha orscis hom

Note 2: To upgrade an Oracke Databaee, do "Sat Up Sonwara Only end tnen execute DBUA (Databace Upgrade Asalstant) trom the orscis home,

Trang 11

(By Oracle Database 19¢ Installer - Step 2 of 15 o x

Trang 12

(B) Oracle Database 19¢ Installer - Step 5 of 17

Trang 13

Specify Database Identifiers 19° ne

Provide the if 'ely is uniquely

‘Gentifed by a Global database name, typicalty of the form “name domain” A datobose is referenced by at east

ona Oracle netance which & uniquely identmMed trom any other natance on the computer by an Oracke syetem

Puggable database name ® [papgoi 9c

= Back | Next> Cance!

1.5 Kién tric Oracle Database Server

Oracle Database Server: Overview

- 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 một Oracle Database cần truy xuất

Oracle Database dùng đề lưu trữ và cung cấp thông tin cho người dùng Việc quản lý

dữ liệu trong Oracle Database thông qua cấu trúc lưu trữ logic và vật lý

1.5.1 Oracle Instance Architecture

Oracle Database Memory Structure - Cau trac ving nhé

Trang 14

bộ nhớ đề lưu trữ đoạn code chương trình đang chạy, dữ liệu được share giữa các User hoặc các dữ liệu riêng tư cho mỗi kết nối của User đến Server

Có hai cầu trúc bộ nhớ cơ bản trong một Instance

- _ System Global Area (SGA): Là vùng bộ nhớ chia sẻ được sử dụng đề lưu trữ đữ liệu

và các thông tin điều khiển của Oracle server Được chỉ định khi một Instance được khởi động, và là thành phân cơ bản của một Oralce Instance

- Program Global Area (PGA): La mét phan câu trúc bộ nhớ lưu trữ dành cho 1 User

process kết nối tới 1 Instance bao gém dit liéu va thong tin điều khiển cho một Server

hoặc một Background process Được chỉ định khi một Server Process được khởi động

Cac thanh phan trong System Global Area (SGA)

- _ Shared pool: Được dùng để lưu trữ những đoạn SQL vừa được thực thi gần đây nhất

và những định nghĩa dữ liệu được dùng gần đây nhất Ở Shared Pool bao gồm

® Library cache: Luu tri những định nghĩa về những đoạn lệnh SQL và PL/SQL,

vừa được thực thi gần đây nhất theo thuật giải Least Recently Used (LRU) Library cache bao gồm 2 cấu trúc là Shared SQL area và Shared PL/SQL area Kích thước của vùng này được xác định bởi Shared pool sizing

¢ Data dictionary cache: Thu thập những định nghĩa được dùng gần đây nhất trên cơ

sỡ dữ liệu bao gồm các thông tin về Database file, tables, indexes, columns, user, privileges Trong qua trinh phan tích cú pháp đoạn lệnh, Server Process sẽ đọc các thông tin dinh nghia 6 Data dictionary cache dé lay tên các đối tượng, xác nhận truy cập Kích thước của vùng này được xác định bởi Shared pool sizing

¢ Control structures

® Database Buffer Cache: Luu trir những bản copy của Block dữ liệu đã được đọc từ

Data File Khi một đoạn SQL được thực thi, thi Server Process sẽ đọc các thông

tin từ Database buffer cache dé lay cac block đữ liệu cần thiết, điều này giúp cho

tốc độ hoạt động của hệ thống sé cao hon vi doc trén cache sẽ nhanh hơn là đọc

trên đĩa cứng Smile Nếu các block dữ liệu không có trong Database buffer cache

Trang 15

dụng thuật giải LRU như ở Shared Pool

chưa Nếu có r6i (cache hit), thi đọc luôn trong buffer cache Nếu chưa có (cache

miss), Oracle sẽ phải đọc từ thiết bị lưu trữ lên

Streams

System Global Area (SGA) Hinh 1-4 Cac thanh phan trong Database buffer cache ctia System Global Area (SGA)

- Redo Log Buffer: là phần bộ nhớ chứa những thay đôi trên database, do các câu lệnh

DML, DDL hay do các hoạt động nội bộ trong database Khi Redo log buffer đầy 1/3

hoặc cử sau mỗi 3 gidy, Log writer process sẽ ghi vao Redo log files, dé lay ch6 cho những nội dung thay đôi mới

Trang 16

hftp://khanh.com.vn

Redo log buffer

Streams pool poal

System Global Area (SGA)

Hình 1-6 Các thanh phan trong Large Pool cua System Global Area (SGA)

- Java Pool va Streams Pool: Java Pool la ving ding cho cac Procedure viét bang Java Stream Pool ding cho Oracle Stream

Javapool = System Global Area (SGA)

Hinh 1-7 Java Pool va Streams Pool

Trang 17

Cac thanh phan trong Program Global Area (PGA)

Hinh 1-8 Cac thanh phan trong Program Global Area (PGA)

Có 1 phần bộ nhớ trong hệ thống chứa thông tin vé session, goi la User Global Area (UGA) Trong trường hợp instance ding cau hình shared server, UGA sẽ nằm trong SGA luôn Còn trường hợp instance cầu hình dedicated server, UGA sẽ nằm trong PGA

PGA là phần bộ nhớ riêng cho mỗi server process Ngoài UGA, PGA còn chứa Private SQL Area và SQL Work Areas

- Private SQL Area: chita cac bind variables, thong tin vé câu query (ví dụ như số dòng khi thực hiện full table scan)

- - SQL Work Areas: vùng bộ nhớ này dùng cho các hoạt động khác liên quan đến câu query như:

+ Sort area dùng cho việc sắp xếp

+ Hash area dung cho thao tac hash join

+ Bitmap merge area cho thao tac merge bitmap ttr bitmap index scan

Process Architecture

Trong hé théng Oracle Database thì Process có thê được chia làm ba nhóm là

- User Process: Bao gom ứng dụng hay công cụ kết nối tới Oracle Database

- Database Process: Bao gém Server Process va Background Process Trong đó Server

Process duoc tao ra khi mét Session duoc thiét lap Con Background Process duoc khởi động mỗi khi Instance được khởi động

Trang 18

Daemon/Application Process: Bao g6m Networking listeners va Grid infrastructure daemons

qua va do tin cay

Co cac Background Process

Database writer process (DB Wn)

Log Writer process (LGWR)

Checkpoint process (CKPT)

System monitor process (SMON)

Recoverer process (RECO)

Job queue coordinator (CJQ0)

Job slave processes (Jnnn)

Archiver processes (ARCn)

Queue monitor processes (QMNn)

Trang 19

Trong cac Background Process trén thi DBWn, PMON, CKPT, LGWR, SMON va RECO la cac Background Process bat buộc phải có

Log Writer Process (LGWR):

Hinh 1-10 Log Writer Process (LGWR)

Có nhiệm vụ ghi các Redo log bufer xuống một Redo log file Các trường hợp LGWR thực

hiện công việc ghi trên:

e Khi User Process thuc hién commit m6t transaction

¢ Khi Redo log buffer đã day

¢ Trước khi DBWr ghi dữ liệu xuống đĩa

Hinh 1-11 Cau tric Checkpoint (CKPT)

System Monitor Process (SMON)

Trang 20

System Monitor

process

Temporary segment

Hình 1-13 Cấu trúc System Monitor Process (SMON)

System monitor process (SMON) co cac nhiém vu

- _ Phục hôi lại những thay đôi trong redo logs

- _ Mở đatabase cho User truy xuất

- Phuc héi cac transactions chua duoc commit

Process Monitor Process (PMON)

Hinh 1-14 Cau tric Process Monitor Process (PMON)

Process Monitor Process (PMON) có nhiệm vụ "thu don" sau khi m6t Process that bai:

- Quay tré lai transaction

- _ Giải phóng blocks

- _ Giải phóng những tài nguyên khác

- _ Khởi động lại các dispathcers

- Tu d6ng dang ky Database services voi Listeners

Trang 21

- Oracle database la tap hợp các đữ liệu được xem như một đơn vị thành phân (Unit)

- Database co nhiém vụ lưu trữ và trả về các thông tin liên quan

- _ Database được xem xét đưới hai góc độ cầu trúc logic và cau trúc vật lý Tuy vậy, hai

cầu trúc đữ liệu này vẫn tôn tại tách biệt nhau, việc quản lý đữ liệu theo câu trúc lưu

trữ vật lý không gây ảnh hưởng tới cau trúc logic

- Oracle database được xác định bởi tên một tên duy nhất và được quy định trong tham

số DB_NAME của paramcter file

Cấu trúc vật lý và logic của Database

+ Cấu trúc vật lý của Database

Cấu trúc vật lý bao gồm tập hợp các control file, online redo log file va cac datafile: Datafiles:

Mỗi một Oracle database đều có thê có một hay nhiéu datafiles Cac database datafiles chứa toàn bộ đữ liệu trong database Các dữ liệu thuộc câu trúc logic của database nhuw

tables hay indexes đều được lưu trữ dưới dang vat ly trong các datañles cua database Một số tính chất của datafiles

- - Mỗi datafile chỉ có thể được sử dụng trong một database

Trang 22

- _ Bên cạnh đó, datañles cũng còn có một số tính chất cho phép tự động mở rộng kích

thước mỗi khi database hết chỗ lưu trữ dữ liệu

- Một hay nhiều datafiles tạo nên một đơn vị lưu trữ logic của database gọi là

tablespace

- Mét datafile chi thuộc về một tablespace

Dữ liệu trong một datafile co thể đọc ra và lưu vào vùng nhớ bộ đệm của Oracle Ví

dụ: khi một user muốn truy cập dữ liệu trong một table thuộc database Trong trường hợp thông tin yêu cầu không có trong cache memory hiện thời, nó sẽ được đọc trực tiếp từ các đatafiles ra và lưu trữ vào trong bộ nhớ

Tuy nhiên, việc bô sung hay thêm mới dữ liệu vào database không nhất thiết phải ghi ngay vào các đatafile Các dữ liệu có thê tạm thời ghi vào bộ nhớ đề giảm thiều việc truy xuất tới bộ nhớ ngoài (ố đĩa) làm tăng hiệu năng sử dụng hệ thống Công việc ghi đữ liệu này được thực hiện bởi DBWn background process

Redo Log Files:

M6i Oracle database déu co mét tap hop tir 02 redo log files tré 1én Cac redo log files

trong database thường được gọi là database's redo log M6t redo log dugc tao thanh ttr

nhiéu redo entries (goi la cac redo records)

Chức năng chính của redo log là ghi lại tat ca các thay đổi đối với đữ liệu trong database Redo log ñles được sử dụng đề bảo vệ database khỏi những hỏng hóc do sự cố Oracle cho phép sử dụng cùng một lúc nhiều redo log gọi là multiplexed redo log đề cùng lưu trữ các bản sao của redo log trên các ô đĩa khác nhau

Các thông tin trong redo log ñle chỉ được sử dụng đề khôi phục lại database trong trường hợp hệ thống gặp sự có và không cho phép viết trực tiếp dữ liệu trong đatabase lên các datafiles trong database Vi du: khi có sự cô xảy ra như mắt điện bat chợt chăng hạn, các

dữ liệu trong bộ nhớ không thê ghi trực tiếp lên các datafiles và gây ra hiện tượng mất đữ liệu Tuy nhiên, tất cả các đữ liệu bị mất này đều có thê khôi phục lại ngay khi database được mở trở lại Việc này có thê thực hiện được thông qua việc sử đụng ngay chính các thông tin mới nhất có trong các redo log ñles thuộc đatañles Oracle sẽ khôi phục lại các database cho đến thời điểm trước khi xảy ra sự cô

Công việc khôi phục dữ liệu từ các redo log được gọi là rolling forward

Trang 23

Control Files:

Mỗi Oracle database đều có ít nhất một control ñle Control ñle chứa các mục thông tin

quy định cấu trúc vật lý của database nhu:

- Tên của database

- _ Tên và nơi lưu trữ cac datafiles hay redo log files

- _ Time stamp (mốc thời gian) tạo lap database

Mỗi khi nào một instance của Oracle database được mở, control ñle của nó sẽ được sử

dung dé xac dinh data files và các redo log files đi kèm Khi các thành phân vật lý cả

database bi thay déi (ví dụ như, tạo moi datafile hay redo log file), Control file sé duoc tự

động thay đôi tương ứng bởi Oracle

Control file cũng được sử dụng đến khi thực hiện khôi phục lại dữ liệu

¢ Cau tric Logic ctia Database

Cau tric logic cua Oracle database bao gém cac déi tuong tablespaces, schema objects, data blocks, extents, va segments

Tablespaces:

Một database có thể được phân chia về mặt logic thành cac don vi goi la cac tablespaces, Tablespaces thường bao gồm một nhóm các thành phần có quan hệ logic với nhau Mỗi quan hệ giữa Databases, Tablespaces, và Datafiles

- M6i database co thé phan chia vé mat logic thanh m6t hay nhiéu tablespace

- Méi tablespace co thể được tạo nên, về mặt vật lý, bởi một hoặc nhiều datafiles

- _ Kích thước của một tablespace bằng tổng kích thước của các đatafiles của nó

- _ Kích thước của đatabase cũng có thể xác định được bằng tông kích thước của các tablespaces của nó

Schema va Schema Objects:

Schema la tap hop cac d6i tuong (objects) cd trong database Schema objects la các cầu trúc logic cho phép tham chiếu trực tiếp tới đữ liệu trong database Schema objects bao gồm các cầu trúc như tables, views, sequences, stored procedures, synonyms, indexes, clusters, va database links

Data Blocks, Extents, and Segments:

Trang 24

Oracle điêu khiên không gian lưu trữ trên đĩa cứng theo các cầu trúc logic bao gồm các data blocks, extents, va segments

- Oracle Data Blocks: La mitc phan cap logic thap nhất, các dữ liệu của Oracle

database được lưu trữ trong các data blocks M6t data block tương ứng với một số

lượng nhất định các bytes vật lý của database trong không gian đĩa cứng Kích thước

của một data block được chỉ ra cho mỗi Oracle database ngay khi database được tạo

lập Database sử dụng, cấp phát và giải phóng vùng không gian lưu trữ thông qua các Oracle data blocks

- _ Extents: Là mức phân chia cao hơn về mặt logic các vùng không gian trong database Một extent bao gồm một số data blocks liên tiếp nhau, cùng được lưu trữ tại một thiết

bị lưu giữ Extent được sử dụng đề lưu trữ các thông tin có cùng kiểu

- _ Segments: Là mức phân chia cao hơn nữa về mặt logic các vùng không gian trong database Một segment là một tập hợp các extents được cấp phát cho một cầu trúc logic

CHUONG 2: QUAN TRI VAN HANH VOI HE QUAN TRI CO SO DU LIEU

ORACLE

2.1 Tạo và cấu hình cơ sở dữ liệu

2.1.1 Tạo và cấu hình cơ sở dữ liệu

Việc tạo database được tiến hành theo các bước:

- Quyết dinh chon lia tén instance va tên database duy nhat Chon character set — tap

ky tu str dung trong database

- Thiét lap cac bién hé thong

- Chuan bi file tham số, tạo ñle mật khẩu (nên có thao tác này)

- Chuan bi instance phuc vu quan tri

- Tao database

- Chay scripts dé tạo cac dictionary cho database

Chuan bi hé diéu hanh:

Dé tao database, quan trị viên trước tiên phải có thé truy nhập vào hệ điều hành với đầy đủ quyền

Trang 25

của Server và đảm bảo có đủ bộ nhớ đề thực hiện các tiến trình của Oracle một cách hiệu

quả

Tính toán lượng đĩa trong cần thiết cho viéc luu trit cac data files, cac control files, cac redo log file va cac files khac

Biến môi trường:

Trên hệ điều hành Windows, ta thiết lập các biến môi trường Các biến này tương ứng với các tham số trong registry như: ORACLE_ HOME, ORACLE _SID,NLS_LANG

Dé tao moi database, can tao mdi biến môi trường ORACLE,_ SID:

C:\set ORACLE SID =U16

Chuan bi cac tham s6 trong Parameter file:

Khi tạo mới mét database, ta can quan tâm tới việc tạo parameter file Parameter file chứa

các thông tin can thiét trong database, trong đó quan tâm nhất là các tham số sau:

DB NAME: Tén dinh danh cua database, toi da 8 ký tự Tên database phải trùng với giá trị của biến môi trường ORACLE_SID

CONTROL FILES: Liét kê danh sách các control ñle sử dụng trong database Tối thiểu có

01 control file trong database Tuy nhién, ta nén tao 02 control files trở lên để đề phòng hỏng

file Cac control files khong can thiét phải ton tai Khi tao database, Oracle sé tạo các control

files nay

DB_ BLOCK SIZE: Xac định kích thước của một block sử dụng trong database Kích thước

này sẽ không thay đôi được sau khi database đã được tạo lập Kích thước của các block được tinh theo don vi K (Kilobytes)

Thông thường, khi chuẩn bị parameter ñle của một database sắp được tạo, ta có thê sao chép

lại nội dung của parameter file mẫu rồi chinh sửa lại một vài thông số trong đó như

đdb name, control_ files,

Parameter file mẫu của oracle thường được đặt ở thư mục:

<%ORACLE HOME%>\ADMIN\SAMPLES\PFILE

Ví dụ về nội dung của file tham 36: file InitU16.ora

db_name = U16

db_files = 1020

Trang 26

control files = ("C:\ORANT\database\ctl1U16.ora",

sequence cache entries = 30

sequence cache hash buckets = 23

#audit_ trail = true

#timed_ statistics = true

background dump_dest = C:\ORANT\rdbms80\trace

user dump dest = C:\ORANT\rdbms80\trace

db_block size =8192

compatible = 8.0.4.0.0

sort_area_size = 65536

log _checkpoint_timeout = 0

remote login _passwordfile = shared

max dump file size = 10240

Chuan bi Instance phuc vu quan tri:

a Tao mot instance

Cu phap:

C:\>ORADIM -NEW -SID SID | -SRVC SERVICE NAME [-INTPWD

INTERNAL PWD] -SHUTTYPE SRVC | INST | SRVC, INST [-MAXUSERS NUMBER][-STARTMODE AUTO | MANUAL][-PFILE FILENAME]

Với:

- NEW: Tạo mới Instance phục vụ cho database

- SID SID: Tên của instance được tạo (tên này thường được lấy chính là tên của đatabase)

Trang 27

- INTPWD INTERNAL PWD: Mat khau cua Internal account str dung dé quan tri database

- MAXUSERS NUMBER: Sé6 luong user t6i da định nghĩa trong password file

- STARTMODE AUTO, MANUAL: Dat ché d6 khoi dong instance phục vụ (khởi động

service trén may chu server)

- PFILE FILENAME: Chi r6 parameter file INIT<Database_name>.ORA

- SHUTTYPE SRVC, INST: Dimg instance phục vu (stop service)

- STARTUP: Khởi động instance phuc vu sẵn sang cho viéc tao database

- SID SID: Tên của instance được tạo (tên này thường được lấy chính là tên của database)

- USERPWD USER PWD: Mat khau

- STARTTYPE SRVC, INST: Ché độ khởi dong la service hay instance

Vi du: C:\> ORADIM -SHUTDOWN -SID PUMA -SHUTTYPE SRVC INST

Tao Database:

a Khoi Dong Instance

Sử dụng user với mức quyén DBA Dung céng cu ORADIM dé tao Instance

Khởi động Instance ở chế độ NOMOUNT và chỉ rõ ñle tham số sử dụng trong chương trình:

Trang 28

CREATE DATABASE [database]

[CONTROLFILE REUSE]

[LOGFILE [GROUP integer] filespec

[, [GROUP integer] filespec] ]

[CHARACTER SET charset]

[NATIONAL CHARACTER SET charset]

[DATAFILE filespec [autoextend_clause]

[, filespec [autoextend clause] ]]

filespec :== 'filename' [SIZE integer][K|M] [REUSE]

CONTROLFILE REUSE: Tén file tham số da ton tại được tải sử dụng

LOGFILE GROUP: Tên của log file được sử dụng

MAXLOGFILES: Số lượng tôi đa cac log file group cho CSDL

MAXLOGMEMBERS: Số lượng tối đa các log ñle member đối với một log file group MAXLOGHISTORY: Số lượng tôi đa cac redo log trong một group

DATAFILE filespec: Tên file dữ liệu được sử dụng

Trang 29

AUTOEXTEND: Cho phép hoặc không cho phép mở rộng tự động các file dữ liệu MAXDATAFILES: Số lượng tối đa các datañles trong database

MAXINSTANCES: Số lượng lớn nhất các instance có thê đồng thời mount và open database

ARCHIVELOG: Xác định ràng redo log cần đề ở chế độ archive trước khi được dùng lại NOARCHIVELOG: Xác định ràng redo log cần được dùng lại mà không cần đặt chế độ archive

CHARACTER SET, NATIONAL CHARACTER SET: Chuan ky ty ma CSDL str dung dé

lưu trữ các đữ liệu

Ví dụ: tạo database

SPOOL creU16.log

STARTUP NOMOUNT PFILE=initU16.ora

CREATE DATABASE U16

GROUP | (/DISK3/logla.rdo',/DISK4/log|b.rdo’) SIZE 1 M,

GROUP 2 (/DISK3/log2a.rdo',/DISK4/log2b.rdo’) SIZE 1 M

DATAFILE

DISK 1/system01.dbf' size 50M autoextend on

CHARACTER SET WES8ISO8859P1;

c Lỗi xảy ra khi tạo database

Lỗi xảy ra khi tạo database phân lớn do các nguyên nhân sau:

- Lỗi cú pháp lệnh tạo database

- Cac file dit liéu cần tạo lap da ton tai

- _ Lỗi do hệ điều hành, không có đủ quyền, không đủ chỗ trồng

d Kết qua sau khi tao database

Kết thúc các bước trên ta thu được một database với:

Trang 30

- Cac control files va cac redo log files phuc vu cho database

- Hai user quan tri database và mật khẩu tương ứng la: SYS/change on install va SYSTEM/manager

- 01 Rollback segment SYSTEM

- _ Các bảng dữ liệu mternal với đữ liệu trong

Tao Data dictionary cho database:

Data dictionary hay còn gọi là từ điển đữ liệu của đatabase là tập hợp các views được thiết lập trong database cung cấp các thông tin về database

Cac file tao data dictionary cho đatabase được Oracle cung cấp sẵn và thường được đặt trong thu muc <%ORACLE HOME%>\RDBMS\ADMIN

Cac dictionary views được phân loai va dat trong cac file SQL khac nhau

Mét 86 file SQL hay dung:

CATALOG.SQL: Tao cac dictionary views co ban, trigger va store procedure co so CATPROC.SQL: Tao cac package cơ sở

CATREP.SQL: Tao cac chite nang Replication cho database

2.1.2 Tao va cau hinh Database bang giao dién:

Tién hanh tai SQL developer

> Sau khi đã tải xong, tiến hành bắm dấu mũi tên ở góc trái -> chọn New Database

Connection dé thuc hién két néi dữ liệu

Trang 31

$F test - ata madeling anc datatase design

The 505 - The power of SAL Develops in acs

" gg se meesueneetf vhore SC tor tree

(6) ons: nest trie he ne Date

(oe oy oe vượt SỐ 4787

> Sau dé chon Test va Connect dé két néi dữ liệu

Dữ liệu đã được kết nối thành công

> Tai giao diện màn hình nhập lệnh select*from đba_ users; đề mở cơ sở đữ liệu đã kết

Trang 32

2.2 Sao lưu dữ liệu - Backup

Cơ sở đữ liệu là một trong những tư liệu, tài sản quý giá của doanh nghiệp Đảm bảo an toàn

cho cơ sở đữ liệu là nhiệm vụ quan trọng Khi có sự cô về cơ sở đữ liệu xảy ra, yêu cầu đặt

lên hàng đầu là phải nhanh chóng sao lưu và khôi phục cơ sở đữ liệu, giảm tối đa thời gian

hệ thông bị đình trệ cũng như các vấn đề mất mát dữ liệu

Mục tiêu:

- _ Dự phòng các biến cô có thê xảy ra

- _ Phục hồi đữ liệu nhanh và chính xác

Các biến cố nên thực hiện sao lưu dữ liệu:

- _ Chủ quan và khách quan: Gặp sự cô và đánh mắt tất cả dữ liệu (trường hợp khách quan và chủ quan);

- _ Hệ thống và hành vi:

+ Lỗi đĩa cứng

+ Xóa nhằm đữ liệu

+ Sử dụng các câu lệnh thực hiện thao tác thay đổi như Insert, Update, Delete

đối với dữ liệu

- _ Bên trong và bên ngoài

2.2.1 Hiểu thuật ngữ backup

Các mục tiêu dữ liệu cần backup

- Cac data file

- Archived redo log (Redo log file)

- Control file

Chién lược backup bao gồm

- Backup toan bộ database (Full backup)

- Backup mét phan database (Partial backup)

- Backup tang tién (Incremental backup)

- Backup nhat quan dir liéu (Consistent backup)

- Backup không nhat quan dit liéu (Inconsistent backup)

Các dạng lưu dữ liệu backup

- _ Image coples: là một bản copy chính xác bit-for-bit của database

Trang 33

- _ Backup pieces: là một định dạng độc quyền chứa một hay nhiều ñle Physical gọi là Backup piece Nó có thê chứa nhiều hơn | file Database

-_ Cold backup: một bản sao lưu được thực hiện trong khi một cơ sở đữ liệu hoặc hệ

thống đang ân hoặc trong chế độ tắt máy

- Hot backup: một bản sao lưu được thực hiện khi cơ sở đữ liệu vẫn đang chạy và

người dùng có thê truy cập được vào cơ sở đữ liệu đó Do đó sẽ có các thay đôi có thé

được thực hiện đối với đữ liệu trong khi nó đang được sao lưu

2.2.2 Phương pháp được sử dụng để backup trong Oracle

Phương pháp được sử dụng phố biến:

- _ Kịch ban backup do DBA ty dinh nghĩa

- Recovery Manager (RMAN)

Kich ban backup do DBA (Database Administrator) tw dinh nghia

Dac diém:

- _ Một quy trình thủ công theo đối các nhu cầu và trang thai cua backup

- _ Thường sử dụng các câu lệnh (script) viết của riêng quản trị

- Yéu cau cac file cua CSDL duoc dat 6 ché d6 backup (backup mode)

- _ Dựa vào các lệnh của hệ điều hành đề tao cac ban file backup (cp, zip, tar, )

Nguoi quan tri tự viết lệnh đề thực hiện backup:

- _ Tìm những tên và trạng thái của data file can backup;

- _ Kiểm tra trạng thái của redo log file;

Trang 34

- Chuyén trang thai cia control file vé ché d6 backup;

- _ Chuyến trạng thái của tablespace (đơn vị lưu trữ) về ché d6 online backup;

- _ Kiểm tra trạng thái của đata ñle đã ở chế độ online backup hay chưa;

- Dung lénh cua hé diéu hanh dé copy file sang 6 backup;

- _ Chuyến tablespace và các đối tượng khác vẻ chế độ hoạt động bình thường: Recovery Manager (RMAN)

RMAN là một công cụ mạnh mẽ, tĩnh vĩ được cung cấp bởi Oracle để thực hiện sao lưu và

phục hồi RMAN được tự động cài đặt khi cài đặt cơ sở dữ liệu Oracle vì vậy không có yêu cầu cài đặt thêm nào đề sử dụng RMAN

Đặc điểm:

- - Có các hàm để chạy lệnh backup và hỗ trợ cả script;

- (C6 API duoc xuat bản cho phép giao điện tương thích với hầu hết các phần mềm backup phô biến hiện nay:

- Có thể backup được: data file, control file, archivelog, spfile;

- Có thê backup đữ liệu ra đĩa hoặc băng từ:

- Co thé str dung RMAN thông qua EM;

Cac kiéu RMAN backup thuong thay

Full backup chứa những những block (khối) đã sử dụng trong các data ñle (block trồng không backup)

Incremental backup (Ban sao lưu gia tăng) là một bản sao trong đó các bản sao liên tiếp của

dữ liệu chỉ chứa phần đã thay đôi kê từ khi bản sao lưu dự phòng trước đó được tạo Bao gồm 2 kiểu:

+ Cumulative (cac loai dit ligu backup ti lan level 0 gần nhất)

+ Differential (cac loai dir ligu backup tir lan backup Incremental gan nhat) Vidu:

Level 0 incremental backup (Tuong duong v6i Full backup, duoc danh dau nhu level 0) backup RMAN > INCREMENTAL LEVEL 0 DATABASE;

Trang 35

Full, hoặc “level 0

Trang 36

Parallelism [ a

Concurrent streams to disk drives

Disk Backup Location |

“The fast recovery area ts the current disk backup location If you would like to override the disk backup location, specify an

existing directory or diskgroup

Disk Backup Type @ Backup Set

An Oracle backup file format that allows for more efficient backups by interleaving multiple backup files into one output file

“Device | Backup Set | Policy

Maximum Backup Piece (File) Size MB +

Specify the compression algorithm that will be used for both disk and tape compressed backup sets

Backup Policy

EElAwematically backup the control file end server parameter file (SPFLE) with every backup and database structural change

(Wil be backed up to the fash recovery ares location Cogn Lup by skipping

ÍC]Enable tlock change tracking for faster incremental

Block Change Tracking Fle _

the thes

9 such as readonly and offin that hi backups

Tablespaces Excluded From Whole Database Backup

Populate thic table wth the tablespaces you want to exclude from

OUP These tablespaces can be backed up separately using tablespace backup

Retention Policy

‘Retain backups that are necessary for a recovery to any time within the specified number of days (pointin-time Days 31

Quan ly backup

Manage Current Back P

This backup data was retrieved from the database control file

Backup Sets | ‘mage Cones”

Search

‘Status

Contents [7)Datatle M Archived Redo Log [V]SPFILE [#]Control File

Completion Time [Within a month

Trang 37

Type One Time (Immediately) One Time (Later) @ Repeating

Frequency Type | By Minutes ¥

Repeat Every Minutes

2.3 Phục hồi dữ liệu

Là quá trình khôi phục lại cơ sở đữ liệu ban đầu từ cơ sở dữ liệu được backup

Login vào máy chủ đatabase với user “oracle”, chạy các lệnh sau:

- Restore Spfile va Controlfile

Chạy lệnh theo cú pháp sau, và thay các tham số tương ứng, kết quả câu lệnh trả về thành công là thành công:

$ rman target /

RMAN>Startup nomount

RMAN>rman catalog start with ‘/<BackupLoc>’

RMAN+> restore spfile to’<Spfile Loc>/spfile.ora’ from ‘/<BackupLoc>/<SpfileBackup>; RMAN> shutdown immediate

RMAN>startup nomount

RMAN?>restore controlfile from ‘/<BackupLoc>/<ControlBackup>’;

RMAN>-alter database mount;

- Tao script Restore Database

$ vi/<BackupLoc>/restore_database.cmd

Đưa vào các nội dung như bên dưới và chỉnh các tham số phù hợp:

connect target sys/<pass>@<Database Backup> run {allocate channel chl device type disk; restore database; recover database; release channel chl;

}

sql ‘alter database open resetlogs’

- Tao script Restore Pluggable Database

$ vi/<BackupLoc>/restore_plug.cmd

Ngày đăng: 26/12/2024, 17:09

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w