Thành phần vật lý dùng để lưu trữ dữ liệu trong Oracle Database là tập hợp một số tập tin tồn tại trên máy tính cài đặt Oracle Server, các tập tin này sẽ được sử dụng khi Oracle Database đang được mở.
Dữ liệu trong Oracle Database sẽ được tổ chức lưu trữ và quản lý bởi ba loại tập tin sau:
2.4.1.1.Data File
Mỗi một Oracle Database có 1 hay nhiều Data File, Data File dùng để chứa tất cả dữ liệu của một Database. Những thành phần Logic của Database như Table, Index được lưu trữ vật lý trong các Data File của Database.
Các đặc điểm của Data File:
• Kích thước của các Data File có thể tự động tăng để theo kích thước của Database.
• Một hay nhiều Data File tạo thành một đơn vị Logic của vùng nhỏ trong cơ sở trữ dữ liệu gọi là Tablespace, và một Data File chỉ quan hệ với duy nhất một Tablespace mà thôi.
Data File có thể chứa dữ liệu của nhiều Schema Object bên trong Tablespace, lưu trữ vật lý, và những Shema Object có thể được lưu trữ trên nhiều Data File khác nhau. Khi dữ liệu được lưu trữ trên nhiều đĩa thì ta không thể biết được Shema Object được lưu trữ trên Data File nào.
Data File cũng có trạng thái Online và Offline như Tablespace. Trạng thái của Data File thường thay đổi theo Tablespace mà nó liên kết.
Khi Database quản lý vùnng nhớ của Tablespace theo cách Locally Managed thì các Temporary Tablespace sẽ có những Temporary Data Files tương ứng, gọi tắt là Tempfile. Những TempFile này không thể chuyển sang trạng thái chỉ đọc và không thể đổi tên của chúng.
Thông tin của TempFile được lưu trữ trong các View của Dictionary là DBA_TEMP_FILES và V$TEMPFILE, không có trong DBA_DATA_FILES hay trong view V$DATAFILE.
2.4.1.2.Redo Log File
Mỗi một Oracle Database có 2 hay nhiều Redo Log File, tập hợp những file này trong một CSDL được gọi là Redo Log của CSDL đó. Một Redo Log tạo thành những Redo Entry, còn gọi là Redo Record.
Chức năng chính của Redo Log là dùng để ghi lại những thông tin trong CSDL bị thay đổi.
Trong trường hợp Database gặp sự cố trước khi dữ liệu thay đổi được ghi nhận chắc chắn xuống các Data File thì những thông tin trong Redo Log sẽ được sử dụng trong việc phục hồi dữ liệu về trạng thái trước khi dữ liệu thay đổi.
2.4.1.3.Control File
Mỗi một Oracle Database có 1 Control File, dùng để chứa tất cả các thông tin về cấu trúc vật lý của một Database như là tên Database, nơi lưu trữ của Data File và Redo Log File, Time stamp tạo Database. Mỗi Control File chỉ dùng cho một Database duy nhất.
Khi một Instance của Oracale Database được khởi động, Control File của nó được sử dụng để xác định vị trí của các Data File và Redo Log File, các File này phải được mở trong quá trình làm việc với Database.
Nội dung của Control File sẽ được Oracle cập nhật tự động và liên tục khi cấu trúc lưu trữ vật lý của Database có thay đổi.
Nội dung của Control File chỉ có thể bị thay đổi bởi Oracle, bất kỳ DBA hay người dùng nào cũng không thể sửa nội dung Control File của Database.
Khi những thành phần vật lý của Database như Data File, Redo Log File có sự thay đổi như thêm mới File, sửa tên của File hay Xóa File ra khỏi Database thì Control File sẽ ghi nhận lại những thông tin đó. Những thông tin này được sử dụng:
• Trong quá trình mở một Database Oracle, tìm được những Data File và Redo Log File của Database.
• Trong trường hợp phục hồi dữ liệu, Oracle Có thể tìm được những tập tin được yêu cầu.
Bên cạnh đó, Control File còn lưu thông tin về Checkpoint. Cứ mỗi 3 giây, Checkpoint Process (CKPT) sẽ ghi vào Control File vị trí Checkpoint trong Online Redo Log File. Thông tin này dùng trong quá trình phục hồi dữ liệu của Database, báo cho Database biết là không cần thực hiện việc phục hồi dữ liệu trong trường hợp dữ liệu được ghi chắc chắn vào các Data File.
Control File là một tập tin quan trọng để Oracle có thể mở một Database, do đó người quản trị cần thực hiện việc sao chép và lưu trữ các Control File trên nhiều ổ đĩa vật lý khác nhau để sử dụng trong các trường hợp bị hư hỏng.
2.4.2. Thành phần logic
Dữ liệu trong Oracle Database được tổ chức và quản lý dựa vào những thành phần Logic, là những thành phần hỗ trợ DBA và người dùng trong việc lưu trữ và sử dụng thông tin trên Oracle Server.
Thành phần Logic trong Oracle Database bao gồm 2 đơn vị lưu trữ là Tablespace và các Schema Objects.
2.4.2.1.Tablespace
Một Database đượ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. Các đặc điểm của Tablespace:
• 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 Database có tên là SYSTEM. Đây là vùng nhớ quan trọng của Database, dùng để lưu trữ tất cả những thông tin về Database như định nghĩa cấu trúc của các đối tượng, thông tin cấp phát và sử dụng vùng nhớ của các đối tượng,...
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 thì có nhiều Data Block liên tục nhau.
Hình 2.10: Tổ chức của Tablespace
Segment
Segment là tập hợp một số Extent dùng để chứa toàn bộ thông tin của cấu trúc lưu trữ Logic bên trong Tablespace, như là 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ụ Data 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.
Tập hợp nhiều Data Block liên tiếp nhau sẽ 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 người dùng tạo một Table thì Oracle sẽ 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 vào 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 sẽ tự động cấp phát thêm một Extent cho Segment. Kích thước của Extent mới cấp phát có thể lớn hơn hay bằng kích thước của Extent ban đầu.
Số Extent được cấp phát cho một Segment có thể được xác định thông qua các tham số khi tạo Table, như là MINEXTENT, MAXEXTENT.
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 sẽ được xác định thông qua tham số DB_BLOCK_SIZE.
Data Block trong Oracle Database gồm có 3 vùng chính là: Header, Data và Free Space.
Header là vùng chứa thông tin chung của Block, như là địa chỉ của Block và loại Segment chứa Block là Data, Index, Rollback hay Temporary.
Vùng Data dùng lưu trữ dữ liệu của các dòng trong 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, vùng nhớ này 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.
2.4.2.2.Schema Objects
Schema Objects tập hợp các đối tượng (objects) có trong database. Schema objects là các cấu trúc logic cho phép tham chiếu trực tiếp tới dữ liệu trong database. Schema objects bao gồm các cấu trúc như tables, views, sequences, triggers, stored procedures, synonyms, indexes, user-defined data types, clusters, và database links.
2.5. Tính năng của Oracle
2.5.1. Tính năng 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 dùng đang 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 dữ liệu.
□ Hiệu suất cao là cần thiết cho năng suất tối đa từ nhiều người dùng của hệ thống cơ sở dữ liệu.
2.5.2. Tính năng quản lý
Những người quản trị hoạt động của hệ thống cơ sở dữ liệu Oracle, được gọi là quản trị viên cơ sở dữ liệu (DBA), chịu trách nhiệm tạo cơ sở dữ liệu Oracle, đảm bảo hoạt động trơn tru và giám sát việc sử dụng của nó. Ngoài nhiều cảnh báo và cố vấn mà Oracle cung cấp, Oracle cũng cung cấp các tính năng sau:
□ Cơ sở dữ liệu tự quản lý.
□ Công cụ quản lý Oracle.
□ SQL*Plus.
□ Quản lý lưu trữ tự động.
□ Bộ lập lịch trình.
□ Quản lý tài nguyên cơ sở dữ liệu.
2.5.3. Tính năng sao lưu và phục hồi cơ sở dữ liệu
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ở dữ 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.
Có sẵn 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ở dữ liệu có thể được phục hồi hoàn toàn hoặc được phục hồi một phần đến một thời điểm cụ thể.
Nếu một số tệp dữ 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ở dữ 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 phần không bị hư hại của cơ sở dữ liệu sẽ có sẵn để sử dụng bình thường trong khi các phần bị hỏng đang được phục hồi.
2.5.4. 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.
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ể.
2.5.5. Tính năng kinh doanh thông minh
Phần này mô tả một số tính năng kinh doanh thông minh: Kho dữ 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 dữ liệu. Nén bảng tính.
Thi hành song song. Phân tích SQL. Khả năng OLAP. Khai thác dữ liệu. Phân vùng.
Tính năng quản lý nội dung.
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 dữ liệu này xuất hiện dướ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 vấn bằng SQL. Một câu lệnh SQL có thể bao gồm dữ liệu thuộc về bất kỳ hoặc tất cả các kiểu dữ liệu này: XML trong Oracle, LOBs, Oracle Text, Oracle Ultra Search, Oracle interMedia, Oracle Spatial.
2.5.6. 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ở dữ liệu. Ví dụ: cơ chế bảo mật:
Ngăn chặn truy cập cơ sở dữ liệu trái phép. Ngăn chặn truy cập trái phép vào các lược đồ. Kiểm tra hành động của người dung.
Liên kết với mỗi người dùng cơ sở dữ liệu là một lược đồ có cùng tên. Theo mặc định, mỗi người dùng 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.
Bảo 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.
2.5.7. Tính toàn 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_discount. 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à trả 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 dữ liệu.
2.5.8. 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 dữ liệu từ các hệ thống.
Chương 3: Quy trình thực hiện hệ quản trị Oracle
3.1. Hướng dẫn cài đặta) Cài đặt Oracle Database a) Cài đặt Oracle Database
Bước 1: Truy cập link: https://www.oracle.com/database/technologies/oracle19c- windows-downloads.html để tải Oracle Database về máy.
Bước 2: Giải nén tập tin vừa tải. (lưu ý: không chứa tập tin nén trong thư mục tiếng
Việt)
Bước 3: Trong các file vừa giải nén, nhấp chuột phải chọn file setup.exe (1) → Run as
Hình 3.11: Setup.exe (1) → Run as administrator (2)
Hình 3.12: Create and configure a single instance database. (1) → Next (2)
Bước 5:
Hình 3.13: Server class (1) → Next (2)
Hình 3.14: Advanced install (1) → Next (2)
Bước 7:
Hình 3.15: Enterprise Edition (1) → Next (2)
Hình 3.16: Use Virtual Account (1) → Next (2)
Bước 9: Oracle base khai báo đường dẫn D:\app:\PC (1) → Next (2)
Hình 3.17: Khai báo Oracle base (1) → Next (2)
Hình 3.18: General Purpose /Transaction Processing (1) → Next (2)
Bước 11: Global database name và Oracle system identifier (SID) khai báo orcl (1) →
bỏ tick Create as Container database (2) → Next (3)
Hình 3.19: Khai báo Global database name và Oracle system identifier (SID) (1) → Create as Container database (2) → Next (3)
Hình 3.20: Tab Memory (1) → bỏ tick Enable Automatic Memory Management (2) → Cấp phát bộ nhớ (3)