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

TÌM HIỂU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE

46 235 0

Đ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

Cấu trúc

  • DANH MỤC VIỆT TẮT

  • DANH MỤC HÌNH ẢNH

    • CHƯƠNG 1. TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE

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

    • 2. Giới thiệu

    • 3. Lịch sử phát triển

    • 4. Lựa chọn phiên cài đặt

    • 5. Cài đặt và cấu hình

    • Các thành phần cơ bản

      • 6.1. Oracle Instance Architecture

      • 6.2. Oracle Database Architecture – Cấu trúc dữ liệu của Oracle

      • Datafile

    • CHƯƠNG 2. QUẢN TRỊ VẬN HÀNH VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE

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

    • 2. Sao lưu và phục hồi dữ liệu

    • CHƯƠNG 3. QUẢN TRỊ THÀNH PHẦN VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE

    • 1. Bảng và khung nhìn

    • 2. Chỉ mục - Index

    • 3. Hàm và thủ tục

    • 4. Ràng buộc và Bẩy lỗi

    • CHƯƠNG 4. QUẢN TRỊ NGƯỜI DÙNG VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE

    • 1. Quyền đăng nhập hệ thống

    • 2. Quyền và vai trò

  • TÀI LIỆU THAM KHẢO

Nội dung

TÌM HIỂU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE HQTCSL ORACLE CSDL ORACLE - Oracle Database MỤC LỤCDANH MỤC VIỆT TẮT3DANH MỤC HÌNH ẢNH4DANH MỤC BẢNG BIỂU5CHƯƠNG 1. TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE61.Một số khái niệm cơ bản62.Giới thiệu63.Lịch sử phát triển74.Lựa chọn phiên cài đặt85.Cài đặt và cấu hình8Các thành phần cơ bản21CHƯƠNG 2. QUẢN TRỊ VẬN HÀNH VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE271.Tạo và cấu hình cơ sở dữ liệu272.Sao lưu và phục hồi dữ liệu33CHƯƠNG 3. QUẢN TRỊ THÀNH PHẦN VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE351.Bảng và khung nhìn352.Chỉ mục 363.Hàm và thủ tục374.Ràng buộc và Bẩy lỗi38CHƯƠNG 4. QUẢN TRỊ NGƯỜI DÙNG VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE401.Quyền đăng nhập hệ thống402.Quyền và vai trò41TÀI LIỆU THAM KHẢO45 DANH MỤC VIỆT TẮTSTTViết tắtTên đầy đủ1CSDLCơ sở dữ liệu2DBMSDatabase Management System3DCLData control language4DMLData manipulation language5DDLData definition language6DQLData query language DANH MỤC HÌNH ẢNHHình 0.1Cơ chế hoạt động khách chủ7Hình 0.2 Cài đặt hình 19Hình 0.3Cài đặt hình 29Hình 0.4Cài đặt hình 310Hình 0.5Cài đặt hình 410Hình 0.6Cài đặt hình 511Hình 0.7Cài đặt hình 611Hình 0.8Cài đặt hình 712Hình 0.9Cài đặt hình 812Hình 0.10Cài đặt hình 913Hình 0.11Cài đặt hình 1013Hình 0.12Cài đặt hình 1114Hình 0.13Cài đặt hình 1214Hình 0.14Cài đặt hình 1315Hình 0.15Cài đặt hình 1415Hình 0.16Cài đặt hình 1516Hình 0.17Cài đặt hình 1616Hình 0.18Cài đặt hình 1717Hình 0.19Cài đặt hình 1817Hình 0.20Cài đặt hình 1918Hình 0.21Cài đặt hình 2018Hình 0.22Cài đặt hình 2119Hình 0.23Cài đặt hình 2219Hình 0.24Cài đặt hình 2320Hình 0.25Kiến trúc Oracle Server21Hình 0.26SGA22Hình 0.27Kiến trúc Tablespace25Hình 0.28Tạo cơ sở dữ liệu hình 127Hình 0.29Tạo cơ sở dữ liệu hình 228Hình 0.30Tạo cơ sở dữ liệu hình 329Hình 0.31Tạo cơ sở dữ liệu hình 430Hình 0.32Tạo cơ sở dữ liệu hình 531Hình 0.33Mô hình truy cập40 DANH MỤC BẢNG BIỂUBảng 0.1Bảng lịch sử phát triển8Bảng 0.2Bảng thông tin về role43Bảng 0.3Bảng thông tin về các role 244 CHƯƠNG 1.TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE 1.Một số khái niệm cơ bản Cơ sở dữ liệu (Database) là một tập hợp dữ liệu có liên quan với nhau về mặt luận lý được lưu trữ trên các thiết bị nhớ đáp ứng nhu cầu sử dụng thông tin với các mục đính của người sử dụng. Hệ quản trị CSDL (DBMS) là phần mềm hệ thống đước thiết kế giúp tạo môi trường lưu trữ, thao tác và quản lý dữ liệu trong CSDL.Mức thể hiện của CSDL sắp xếp theo mức trừu tượng hóa tăng dần:Mức khung nhìn (physical level): mô tả một phần của CSDL ứng với từng người dùng. Người dùng với hệ thống trao đổi thông qua khung nhìn. Hệ thống duy trì nhiều khung nhìn khác nhau.Mức luận lý (logical level): mô tả dữ liệu gì được lưu trữ trong CSDL và các mối quan hệ giữa chúng. Mức này được sử dụng bởi các DBAMức vật lý (physical level): mô tả dữ liệu thể hiện được lưu trữ thế nào. Các cấu trục của CSDL được mô tả chi tiết.Ngôn ngữ dữ liệu là tập hợp các lệnh được hệ quản trị CSDL định nghĩa để thức hiện các chức năng của nó. Phân loại như sau:Ngôn ngữ định nghĩa dữ liệu (DCL): định nghĩa và xác định các loại dữ liệu như tạo, thay đổi hoặc xóa và các mối quan hệ giữa chúng.Ngôn ngữ thao tác dữ liệu (DML): thực hiện các tác vụ như chèn, cập nhật hoặc xóa các lần xuất hiện dữ liệu.Ngôn ngữ điều khiển dữ liệu (DDL): dùng để bảo mật kiểm soát các truy cập dữ liệu.Ngôn ngữ truy vấn dữ liệu (DQL): tạo các truy vấn tìm kiếm, hiển thị thông tin.2.Giới thiệuOracle là thương hiệu nhà cung cấp công nghệ lớn nhất trên thị trường hiện nay. Đó cũng là từ viết tắt của phần mềm hệ thống quản lý CSDL quan hệ (RDBMS) – Oracle Database được công ty phát triển. Oracle là hệ quản trị CSDL đầu tiên được tích hợp chủ yếu trong nhiều mô hình giúp các doanh nghiệp quản lý dữ liệu trên máy tính một cách dễ dàng, linh hoạt và tiết kiệm chi phí nhất. Phần mềm này mang tính mềm tính mềm dẻo, linh động, thích ứng cao với các quy mô xử lý giao dịch, an toàn hệ thống. Cung cấp các công cụ xây dựng và quản lý cơ sở dữ liệu.•Cơ chế hoạt động Hệ quản trị CSDL Oracle hoạt động theo mô hình khách chủ cho đồng thời có nhiều nhiều người dùng truy xuất sử dụng đến dữ liệu. Hình 0.1Cơ chế hoạt động khách chủ 3.Lịch sử phát triểnNămPhiên bảnTính năng nổi bật1979Oracle v2SQLbased RDBMS thương mại đầu tiên1983Oracle v3Kiểm soát đồng thời, phân phối dữ liệu, khả năng mở rộng1984Oracle v4Multiversion read consistency1985Oracle v5 Hỗ trợ mô hình Clientserver hệ thống cơ sở dữ liệu phân tán1988Oracle v6Khóa Rowlevel, khả năng mở rộng, sao lưu và phục hồi trực tuyến, PL SQL, Oracle Parallel Server1992Oracle 7iThủ tục lưu trữ PL SQL, Triggers, Shared Cursors, Cost Based Optimizer, Transparent Application Failover1997Oracle 8Trình quản lý khôi phục, Phân vùng, Thẻ dữ liệu, Native internet protocols, Java, Cơ sở dữ liệu riêng ảo.2001Oracle 9iOracle Real Application Clusters (RAC), Oracle XML DB, Khai thác dữ liệu, Luồng, Logical Standby2003Oracle 10gR1Cơ sở hạ tầng lưới, Oracle ASM, Cơ sở dữ liệu Flashback, Màn hình chẩn đoán cơ sở dữ liệu tự động2005Oracle 10gR2Kiểm tra ứng dụng thực, Kho cơ sở dữ liệu, Lập chỉ mục trực tuyến, Advanced Compression, Mã hóa dữ liệu minh bạch2007Oracle 11gR1Bảo vệ dữ liệu hoạt động, Secure Files, Exadata2009Oracle 11gR2Data Redaction, Hybrid Columnar Compression, Cluster File System, Golden Gate Replication, Database Appliance2013Oracle 12cR1Multitenant architecture, InMemory Column Store, Native JSON, SQL Pattern Matching, Database Cloud Service2016Oracle 12cR2Native Sharding, Zero Data Loss Recovery Appliance, Exadata Cloud Service, Cloud at Customer2018Oracle 18cAutonomous Database, Data Guard MultiInstance Redo Apply, Polymorphic Table Functions, Active Directory Integration2019Oracle 19cIndexing tự động, Chuyển hướng DML bảo vệ dữ liệu , Bảng kết hợp được phân vùng, Realtime Stats + Stats Only Queries2020Oracle 20cNonCDB architecture will be desupported, Native Blockchain tables và nhiều thuật toán máy tính.Bảng 0.1Bảng lịch sử phát triển•Các phiên bảnPhiên bản EnterprisePhiên bản StandardPhiên bản ExpressPhiên bản Personal•Một số tính năng của hệ quản trị CSDL OracleKhả năng cho phép xử lý dữ liệu rất lớn, có thể đến hàng trăm terabyte với tốc độ xử lý dữ liệu rất nhanh và cao.Khả năng bảo mật rất cao, Oracle đạt độ bảo mật cấp c2 theo chuẩn bảo mật của bộ quốc phòng Mỹ và công nghệ Oracle vốn được hình thành từ yêu cầu đặt hàng của các cơ quan an ninh FBI và CIA.Phần mềm tương thích với nhiều nền tảng hiện nay.Cho phép nhiều người dùng cùng lúc.Cho phép triển khai CSDL phân tán. Bất cứ một 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 cục bộ và từ xa. Các dữ liệu này có thể được truy cập và sửa đổi đồng thời. Đồng thời có thể phát triển ứng dụng trên internet.4.Lựa chọn phiên cài đặtPhiển bản: Oracle 12c R1 (Release 1) (64 bit)5.Cài đặt và cấu hình Oracle cho phép download miễn phí. Bạn có thể vào trang chủ của Oracle để download phần mềm này. Đường dẫn: http:www.oracle.comtechnetworkdatabaseenterpriseeditiondownloadsindex.html Hình 0.2 Cài đặt hình 1 Sau khi download xong bạn sẽ có 2 file zip. Giải nén chúng vào cùng một thư mục. Hình 0.3Cài đặt hình 2 Chạy file Setup.exe Hình 0.4Cài đặt hình 3 Hình 0.5Cài đặt hình 4 Sau đây, chúng ta sẽ cài phần mềm Oracle và tạo Database có tên db12c Hình 0.6Cài đặt hình 5Cài đặt Hình 0.7Cài đặt hình 6 Hình 0.8Cài đặt hình 7 Hình 0.9Cài đặt hình 8 Hình 0.10Cài đặt hình 9 Hình 0.11Cài đặt hình 10 Oracle sẽ được cài đặt vào 1 user của Windows không có quyền Administrator, vì lý do bảo mật. Nếu trong máy tính của bạn chưa có Windows user như vậy bạn có thể chọn tạo mới một Windows user. Hình 0.12Cài đặt hình 11 Hình 0.13Cài đặt hình 12 Hình 0.14Cài đặt hình 13 Bước này, bộ cài đặt hỏi bạn có tạo Plugin hay không, hãy chọn: Create as Container Database và nhập vào tên Plugin Database: pdbdb12c Hình 0.15Cài đặt hình 14 Hình 0.16Cài đặt hình 15 Để có thể lưu trữ được nhiều loại ngôn ngữ (bao gồm cả tiếng Việt), bạn nên chọn: Character Set: Unicode (AL32UTF8) Hình 0.17Cài đặt hình 16 Hình 0.18Cài đặt hình 17 Hình 0.19Cài đặt hình 18 Hình 0.20Cài đặt hình 19 Hình 0.21Cài đặt hình 20 Hình 0.22Cài đặt hình 21 Và chờ đợi cho tới khi việc cài đặt thành công. Hình 0.23Cài đặt hình 22 Bước tiếp theo bộ cài đặt sẽ tạo Database có tên db12c như bước trước chúng ta đã đặt tên. Hình 0.24Cài đặt hình 23 Tới đây việc cài Oracle thành công. Có thể tiến hành mở Orcale và sử dụng Các thành phần cơ bản Hình 0.25Kiến trúc Oracle ServerOracle Server gồm có một Oracle Instance và một Oracle Database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ý.6.1. Oracle Instance Architecture •Oracle Database Memory Structure – Cấu trúc vùng nhớ Oracle sử dụng vùng nhớ để lưu trữ thông tin trong hệ thống khi đang thực thi. Cấu trúc vùng nhớ của Oracle bao gồm SGA và PGACác thành phần trong System Global Area (SGA) System Global Area (SGA): Là vùng bộ nhớ chia sẻ được sử dụng để lưu trữ dữ 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 Oracle Instance. Thông tin lưu trữ trong SGA có thể được sử dụng bởi tất cả các Server Process và Background Process. Hình 0.26SGADatabase Buffer Cache: Lưu trữ những bản copy của khối dữ liệu đã được đọc từ data file. Khi một đoạn SQL được thực thi, thì Server Process sẽ đọc các thông tin từ Database Buffer Cache để lấy các khối dữ 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 hơn vì đọc trên cache sẽ nhanh hơn là đọc trên đĩa cứng. Nếu các khối dữ liệu không có trong Database Buffer Cache thì Server Process mới đọc dữ liệu từ data file.Redo Log Buffer: Là một bản ghi tạm thời, ghi lại tất cả những thay đổi trên các khối dữ liệu với mục đích chính là để phục hồi dữ liệu. Được thực hiện bởi các Background Process.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.Large Pool: Cung cấp một vùng nhớ lớn, được cấp phát cho các trường hợp như: sao lưu, phục hồi hệ thống...Java Pool là vùng dùng cho các Procedure viết bằng Java.Các thành phần trong Program Global Area (PGA) Program Global Area (PGA): Là một phần 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 dữ liệu và thông 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. PGA được cấp phát cho User Process kết nối đến Oracle Server. PGA bao gồm:Session informationCursor informationSQL execution work area•Oracle Database Process Architecture – Cấu trúc tiến trình Trong hệ thống Oracle Database thì Process có thể được chia làm ba nhóm là:User Process: Bao gồm ứng dụng hay công cụ kết nối tới Oracle Database.Database Process: Bao gồm Server Process và Background Process. Trong đó Server Process được tạo ra khi một Session được thiết lập. Còn Background Process được khởi động mỗi khi Instance được khởi động.DaemonApplication Process: Bao gồm Networking listeners và Grid infrastructure.Về Server Process:Dedicated Server: Một Server Process sẽ phục vụ cho 1 User Process (11).Shares Server: Một Server Process sẽ phục vụ cho nhiều User Process (1n).Về Background Process: Thực hiện các chức năng thay cho lời gọi tiến trình xử lý tương ứng. Nó điều khiển vào ra, cung cấp các cơ chế xử lý song song nâng cao hiệu quả và độ tin cậy.Database Writer Process (DBWn): Ghi các Modified (Dirty) Buffer từ Database Buffer xuống Datafile.Log Writer Process (LGWR): Ghi các Redo Log Buffer xuống một Redo Log File.Checkpoint Process (CKPT): Có thể được coi như là một sự kiện khi thực hiện ghi tất cả các Dirty Buffer trong SGA.System Monitor Process (SMON): Phục hồi lại những thay đổi trong Redo Log, mở Database cho User truy xuất, phục hồi các Transaction chưa được Commit.Process Monitor Process (PMON): “Thu dọn sau khi một Process thất bại (quay lại Transaction, giải phóng Block, khởi động lại Dispathcer...).Recoverer Process (RECO)Job Queue Coordinator (CJQ0)Job Slave Processes (Jnnn)Archiver Processes (ARCn)Queue Monitor Processes (QMNn)6.2.Oracle Database Architecture – Cấu trúc dữ liệu của Oracle Oracle Database là tập hợp các dữ liệu được xem như một đơn vị thành phần (Unit). Database có nhiệm vụ lưu trữ và trả về các thông tin liên quan. Database được xem xét dưới hai góc độ cấu trúc logic và cấu trúc vật lý. Hai cấu trúc dữ liệu này tồn tại tách biệt nhau, việc quản lý dữ liệu theo cấu trúc lưu trữ vật lý không gây ảnh hưởng tới cấu trúc logic. Cấu trúc lưu trữ vật lý là các tập tin. Cấu trúc lưu trữ logic là các không gian bảng (table space). Oracle Database được xác định bởi tên một tên duy nhất.•Cấu trúc vật lý của Database 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:Datafile Mỗi một Oracle Database đều có thể có một hay nhiều Datafile. Các Datafile chứa toàn bộ dữ liệu trong Database. Các dữ liệu thuộc cấu trúc logic của Database như Table hay Index đều được lưu trữ vật lý trong các Datafile. Đặc điểm của Datafile:Một Datafile dùng để lưu trữ dữ liệu của duy nhất một Database.Datafile có một số tính chất cho phép tự động mở rộng kích thước để theo kích thước của Database.Một hay nhiều Datafile tạo nên một đơn vị lưu trữ logic của Database gọi là Tablespace.Một Datafile chỉ quan hệ duy nhất một Tablespace. Datafile cũng có trạng thái online và offline. Trạng thái của Datafile thường thay đổi theo Tablespace mà nó liên kết.Redo Log FileMỗi Oracle Database đều có từ 2 Redo Log File trở lên. Các Redo Log File trong database thường được gọi là Redo Log của CSDL đó. Một Redo Log được tạo thành từ nhiều Redo Entries, còn gọi là các Redo Record. Chức năng chính của Redo Log là ghi lại tất cả các thay đổi đối với dữ liệu trong Database. Redo Log File đượ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 File 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 Database lên các Datafile trong Database. Công việc khôi phục dữ liệu từ các Redo Log được gọi là Rolling Forward.Control FileMỗi Oracle Database đều có ít nhất một Control File dùng để chứa các mục thông tin quy định cấu trúc vật lý của Database như:Tên của Database.Tên và nơi lưu trữ các Datafile hay Redo Log File.Time stamp (mốc thời gian) tạo lập Database Mỗi khi nào một Instance của Oracle Database được khởi động, Control File của nó sẽ được sử dụng để xác định Datafile và các Redo Log File đi kèm. Nội dung của Control File sẽ được Oracle tự động cập nhật liên tục khi cấu trúc lưu trữ vật lý của Database thay đổi và chỉ có thể bị thay đổi 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.•Cấu trúc logic của DatabaseCấu trúc logic của Oracle Database bao gồm các đối tượng Tablespaces, Schema Objects, Data Block, Extent, Và Segment.TablespaceMột Database có thể được phân chia về mặt logic thành các đơn vị gọi là các Tablespace, Tablespace thường bao gồm một nhóm các thành phần có quan hệ logic với nhau. 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 các đối tượng. Mối quan hệ giữa Database, Tablespace, và Datafile:Tablespace chỉ thuộc về một Database duy nhất.Mỗi Database có thể phân chia về mặt logic thành một hay nhiều Tablespace.Mỗi Tablespace có thể được tạo nên, về mặt vật lý, bởi một hoặc nhiều Datafile.Kích thước của một Tablespace bằng tổng kích thước của các Datafile của nó.Kích thước của Database cũng có thể xác định được bằng tổng kích thước của các Tablespace của nó.Schema và Schema Object Schema là tập hợp các đối tượng (objects) có trong Database. Schema Object 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 Object bao gồm các cấu trúc như Table, View, Sequence, Stored Procedure, Synonym, Index, Cluster, Và Database Link.Data Block, Extent, and Segment. 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 Block, Extent, Và Segment. Hình 0.27Kiến trúc TablespaceOracle Data Block: Là mức phân cấp logic thấp nhất, các dữ liệu của Oracle Database được lưu trữ trong các Data Block. Một Data Block tương ứng với một số lượng nhất định các byte 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, xác định qua tham số DB_BLOCK_SIZE. 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 Block. Data Block gồm có 3 vùng chính là: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.Data: Dùng lưu trữ dữ liệu 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.Extent: 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 Block liên tiếp nhau, cùng được lưu trữ tại một thiết bị lưu giữ. Số lượng Data Block tùy thuộc vào kích thước được chỉ định cho Extent khi tạo đối tượng Table. Extent được sử dụng để lưu trữ các thông tin có cùng kiểu. Segment: 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 Extent được cấp phát cho một cấu trúc logic dùng để chứa toàn bộ thông tin cấu trúc lưu trữ logic bên trong Tablespace. Oracle Database sử dụng 4 loại Segment để lưu trữ thông tin:Data SegmentIndex SegmentTemporary SegmentRollback Segment Những Segment này được cấp phát cho những đối tượng ở những thời điểm khác nhau. CHƯƠNG 2.QUẢN TRỊ VẬN HÀNH VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE1.Tạo và cấu hình cơ sở dữ liệuTạo cơ sở dữ liệu với Oracle Configuration Assistant: Chọn tùy chọn Create Database và nhấp vào nút Next. Hình 0.28Tạo cơ sở dữ liệu hình 1 Chọn tùy chọn Typical configuration. Nhập tên container database (cdbrac), tên pluggable database (pdb1) và mật khẩu quản trị viên. Nhấp vào nút Next. Hình 0.29Tạo cơ sở dữ liệu hình 2Chờ cho quá trình kiểm tra điều kiện tiên quyết hoàn tất. Nếu có bất kỳ sự cố nào, hãy khắc phục chúng hoặc chọn hộp kiểm Ignore All và nhấp vào nút Next. Nếu không có vấn đề gì, bạn sẽ chuyển thẳng đến màn hình tóm tắt.Nếu bạn hài lòng với thông tin tóm tắt, hãy nhấp vào nút Finish. Hình 0.30Tạo cơ sở dữ liệu hình 3Chờ trong khi quá trình tạo cơ sở dữ liệu diễn ra. Hình 0.31Tạo cơ sở dữ liệu hình 4Nếu bạn muốn sửa đổi mật khẩu, hãy nhấp vào nút Password Management. Khi hoàn tất, hãy nhấp vào nút Close. Hình 0.32Tạo cơ sở dữ liệu hình 5 Việc tạo CSDL hiện đã hoàn tất.Tạo cơ sở dữ liệu với câu lệnhKhởi động Instance ở chế độ NOMOUNT và chỉ đến file tham số sử dụng trong chương trình.Dùng câu lệnh CREATE DATABASE tạo database.Cú pháp tạo bảng:Với:database_name: tên của cơ sở dữ liệu cần tạo.CONTROLFILE REUSE: tên file tham số đã tồn 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 các log file group cho cơ sở dữ liệu.MAXLOGMEMBERS: số lượng tối đa các log file member đối với 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.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 datafiles 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: chuẩn ký tự mà CSDL sử dụng để lưu trữ các dữ liệu.Cú pháp cấu hình cơ sơ dữ liệuMOUNT: gắn database với instance. Lúc này ta chỉ có thể thực hiện các thao tác quản trị trên database mà chưa thể sử dụng database được.OPEN READ WRITE: mở database, sẵn sàng cho việc sử dụng database, cả đọc lẫn ghi.OPEN READ ONLY: mở database nhưng chỉ cho đọc database như sử dụng các câu lệnh truy vấn chẳng hạn. Các thao tác ghi không thể thực hiện được. Tuỳ chọn này được sử dụng khi ta cần sao chép các redo log files của database.OPEN: tương tự OPEN READ ONLY, đây là biểu diễn mặc định của OPEN READ WRITE. 2.Sao lưu và phục hồi dữ liệuSao lưu dữ liệu Từ cấu trúc lưu trữ của CSDL Oracle ta có 2 phần Backup tương ứng là Logical backup và Physical Backup. Ngoài RMAN là một tính năng sao lưu dữ liệu có nhiều ưu điểm nổi bật hơn. RMAN là một công cụ cung cấp bởi Oracle để thực hiện sao lưu và phục hồi. Sao lưu với RMAN được thực hiện bằng cách sử dụng các câu lệnh BACKUP. Lệnh sao lưu dữ liệu đầy đủ:RMAN> BACKUP DATABASE; Lệnh sao lưu tất cả dữ liệu nhật kí (archived redo log)RMAN> BACKUP ARCHIVELOG ALL; Lệnh sao lưu CSDL và tất cả dữ liệu nhật kí (archived redo log)RMAN> BACKUP DATABASE PLUS ARCHIVELOG;Phục hồi dữ liệu Lệnh khôi phục toàn bộ dữ liệuRMAN> STARTUP FORCE MOUNT; RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN; CHƯƠNG 3.QUẢN TRỊ THÀNH PHẦN VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE 1.Bảng và khung nhìnBảng (TABLE) OracleBảng biểu diễn quan hệ và các bộ dữ liệu của nó. Bảng gồm các thành phầnThuộc tínhMiền giá trịRàng buộc toàn vẹnCác thao tác liên quan tới cấu trúc của bảngCREATEALTERDROP Các thao tác liên quan tới dữ liệu trong bảngINSERTUPDATEDELETESELECTCú pháp tạo bảngVới table_name: là tên của bảng và bảng phải là duy nhât, không được trùng tên.column1, column2, ... column n: Là các thuộc tính của table, mỗi thuộc tính sẽ có các thông tin bổ sung khác như kiểu dữ liệu, giá trị dữ liệu, giá trị mặc định ... và có thể gán NULL hoặc NOT NULL.primary_key_name: tên khóa chính gắn liền với tên bảng.primary_key: thuộc tính là khóa chính trong bảng.Khung nhìn (VIEW) Oracle VIEW là một bảng ảo trong cơ sở dữ liệu có nội dung được định nghĩa thông qua một câu lệnh nào đó. Đặc điểm của VIEW là dữ liệu của nó có thể lấy từ nhiều bảng khác nhau, bởi vì nó được tạo ra từ câu lệnh SELECT. Cú pháp tạo khung nhìnVớiview_name là tên view mà bạn muốn tạocolumns: trường dữ liệu truy vấn đến tương ứngtables: bảng dữ liệuconditions: điều kiện2.Chỉ mục Index INDEX là một cấu trúc dữ liệu làm tăng thời gian và hiệu suất tìm kiếm dữ liệu dựa trên thuộc tính cho trước. Oracle cung cấp các loại INDEX với các ưu điểm khác nhau ứng với từng tình huống cụ thể. Các loại INDEX của phần mềm này như: Btree indexes, Bitmap indexes,I ndexorganized tables, Hash Clusters, Index Cluster, Nested Table. Lưu ý khi sử dụng chỉ mụcCác chỉ mục không nên sử dụng trong các bảng nhỏ.Bảng hoặc các thuộc thường xuyên bị sửa đổi dữ liệu.Không bên sử dụng trên các thuộc tính mà chứa số lượng lượng giá trị NULL.Cú pháp tạo chỉ mụcCú pháp đổi tên chỉ mục Với:UNIQUE: Chỉ ra răng sự kết hợp các giá trị trong các thuộc tính được lập ra là duy nhất.index_name: tên chỉ mục.new_index_name: tên mới của chỉ mục.table_name: tên bảng tạo chỉ mụccolumn1, column2, ... column_n: Các thuộc tính sử dụng trong chỉ mục.3.Hàm và thủ tụcThủ tục (PROCEDURE) Oracle Thủ tục (PROCEDURE), nó dùng để gom một nhóm lệnh xử lý một mục đích cụ thẻ nào đó, sau đó khai bao tham số truyền vào để sau này mỗi khi sử dụng thì ta chỉ cần gọi tên và truyền tham số để không phải lặp lai các nhóm lệnh. Lúc này, hủ tục lúc này được gọi là STORE PROCEDURE. Thủ tục không trả về giá trị trực tiếp như hàm. Cung cấp một phương pháp hữu ích cho việc thực thi lặp lại cùng một nhiệm vụ:Giúp tái sử dụng codeSử dụng lời gọi mỗi khi thực thiCú pháp tạo thủ tụcVới procedure_name là tên của thủ tục. OR REPLACE: Khai báo tham số này thì nó sẽ xóa thủ tục có tên trùng với tên của procedure đang chạyparameter1, parameter2: là các tham số truyền vào thủ tục. có dạng:Tên tham số Kiểu tham số kiểu dữ liệudeclaration_section: phần khai báo biến.executable_section: phần lệnh PLSQL để thục hiện thủ tục.EXCEPTION: trường hợp ngoại lệ với thủ tục phía trên.Mỗi tham số truyền vào được xác định bởi ba loại như sau:IN: là kiểu mặc định, tham số này sẽ là dữ liệu đầu vàoOUT: tham số này sẽ là dữ liệu đầu ra, sử dụng đề lấy kết quả trả về từ thủ tụcIN OUT: tham số vừa là đầu vào vừa là đầu ra, và thường thì giá trị tại đầu ra sẽ bị thay đổi.Hai cách truyền giá trị cho tham số là truyền theo tên và truyền theo vị trí.Cú pháp gọi thủ tụcHàm (FUNCTION) Oracle Tương tự như thủ tục, hàm (FUNCTION) cũng là nhóm các lệnh thực hiện chức năng nào đó. Khác với thủ tục, các hàm sẽ trả về một giá trị ngay tại lời gọi của nó. Cú pháp tạo hàmVới các thông số như thủ tục trong đó có:function_name: tên hàm.datatype: Kiểu dữ liệu của tham số.Gọi hàm trong OracleKhi gọi hàm phải khai báo một biến trả vềGọi hàm – cú pháp gọi hàm (với Variable: biến)4.Ràng buộc và Bẩy lỗi TRIGGER là một loại stored procedure đặc biệt ở trạng thái sẵn sàng, được kích hoạt bởi câu lệnh thay đổi dữ liệu trên bảng hoặc khung nhìn.Các thành phần của TRIGGERTên triggerBảng (khung nhìn) liên kết với triggerThời điểm kích hoạt (FOR AFTER INSTEAD OF)Hành động kích hoạt (INSERT UPDATE DELETE)Các thao tác được thực hiện sau khi kích hoạtLưu ý:Bạn không thể tạo Before Trigger cho ViewBạn không thể cập nhật dữ liệu cũ, chỉ có thể cập nhật dữ liệu mới.Cú pháp tạo TRIGGERVới các thành phần tương tự như cú pháp trênPhần tắt bật TRIGGERDISABLE | ENABLE: ở phần này ta chọn DISABLE để tắt và ENABLE để bật. Chỉ chọn 1 trong 2 thành phần trên.Ở một TABLETắt tất cả TRIGGER trong Table CHƯƠNG 4.QUẢN TRỊ NGƯỜI DÙNG VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE1.Quyền đăng nhập hệ thốngMô hình truy cập Hình 0.33Mô hình truy cậpCơ chế bảo mậtXác thức (Authentication)Điều kiển truy cập (Access control)Điều kiển toàn vẹn (Integrity controls)Kiểm toán (Auditing)Mã hóa (Encryption)Cơ chế bảo mật thông qua các:Quyền (Permission) quy định các hành động người dùng có thể thực hiện trên CSDL hoặc các đối tượng CSDL cụ thể.Vai trò (Role) các quyền được gán cho người dùng. Người dùng được gán các quyền và vai trò nhất định để truy, sử dụng CSDL Oracle cung cấp nhiều tính năng bảo mật nổi trội như: Giải pháp bảo mật Oracle Defense in Dept, an toàn dựa vào nhãn (Oracle Label Security OLS), CSDL riêng ảo (Virtual Private Database VPD), mã hóa dữ liệu trong suốt (Transparent Data Encryption TDE), các cơ chế xác thực mạnh, các cơ chế sao lưudự phòng an toàn,.…Cơ chế xác thực Oracle có các cơ chế xác thực người dùng như sau:Xác thức cơ sở dữ liệu: cơ sỡ dữ liệu thực nhiện nhận dạng và xác thực người dùng.Xác thức bên ngoài Oracle: hệ điều hành, dịch vụ mạng thức hiện xác thực.Xác thực và ủy quyền toàn bộ: người dùng được xác thực toàn bộ bằng SSI.Xác thức và ủy quyền ủy nhiệm: Máy chủ tầng trung gian thực hiện xác thực.Ngoài ra khi tạo người dùng (USER) ta còn có Xác thực và ủy quyền người dùng.2.Quyền và vai tròTạo và gán quyền, vai trò cho người dùngCú pháp Kết nối với tư cách người dùng Hệ thốngCú pháp Tạo truy vấn người dùngCú pháp Cung cấp các vai tròCú pháp Cung cấp đặc quyền ưu tiênCú pháp Cung cấp quyền truy cập vào các bảng. Cú pháp thu hồi quyền và vai trò (sử dụng REVOKE) Vớirole_name: tên của các chức danh cần thu hồi.user: tên user bị thu hồi chức danh.role: tên của các chức danh bị thu hồi chức danh.PUBLIC: thu hồi các quyền hay chức danh từ tất cả các người dùng.Quyền Mặc định thì hệ thống có các Database Administrator (DBA) như:SYS: Có đầy đủ các quyền cũng như quyền cấp lệnh cho User khác (ADMIN OPTION). Có thể startup, shutdown và maintenance Database. Sở hữu Data Dictionary và Automatic Workload Repository (AWR).SYSTEM: Có các quyền DBA, MGMT_USER và roles AQ_ADMINISTRATOR_ROLE.DBSNMP: Có role OEM_MONITOR.SYSMAN: Có các quyền MGMT_USER, RESOURCE và roles SELECT_CATALOG_ROLE. Trên Oracle Database, chúng ta có thể thực hiện phân quyền hạn cho một User. Các quyền hạn này được chia làm 2 loại:System privileges: Nhóm quyền này cho phép User thực hiện các thay đổi trên Database Operations. Ví dụ như các quyền tạo một tablespace là một quyền thuộc nhóm System privilege. Có hơn 170 system privileges khác nhau. Trong đó nhiều system privileges bao gồm từ ANY (Có thể thao tác trên nhiều Object của các User khác nhau).Truy vấn trên bất cứ table nào GRANT SELECT ANY TABLE TO Thêm mới trên bất cứ table nàoGRANT INSERT ANY TABLE TO Cập nhật trên bất cứ table nàoGRANT UPDATE ANY TABLE TO Xóa trên bất cứ table nào GRANT DELETE ANY TABLE TO Object privilesges: Nhóm quyền cho phép người dùng thực thi các thay đổi trên Objects như: table, view, sequence, procedure,function,…Nếu chúng ta không thực hiện phân quyền thì User chỉ có thể thao tác trên các Object mà User đó sỡ hữu.Vai tròOracle cung cấp công cụ cho phép quản lý một cách dễ dàng các quyền thông qua việc sử dụng vai trò (ROLE). Vai trò là một nhóm các quyền được đặt tên có liên quan đến nhau và được gán cho một user hay một vai trò khác. Vai trò được đưa ra nhằm làm dễ dàng quản lý các quyền trong hệ thống.Tạo và sửa chữa các ROLECú pháp tạo ROLE Với:role_name: tên của chức danhNOT IDENTIFIED: chỉ định không cần kiểm tra chức danh khi enable chức danhBY password: mật khẩu người dùng cần cung cấp khi enable chức danhEXTERNALLY: chỉ định user phải được xác lập bởi dịch vụ bên ngoài (như hệ điều hành hay dịch vụ bên thứ ba) trước khi enable chức danh.Lưu ý: Câu lệnh CREATE ROLE IDENTIFIED GLOBALLY chỉ định rằng việc kiểm tra xác lập chức danh thông qua Oracle Security Server. Cú pháp thu hồi ROLE Với:role_name: tên của các chức danh cần thu hồi.user: tên user bị thu hồi chức danh.Role: tên của các chức danh bị thu hồi chức danh.PUBLIC: thu hồi các quyền hay chức danh từ tất cả các user.Bảng thông tin về roleTên roleDiễn giảiCONNECTChức danh cung cấp sẵn để tương thích với các phiên bản trước đóRESOURCEDBATất cả các quyền hệ thống, có tuỳ chọn: WITH ADMIN OPTIONEXP_FULL_DATABASEQuyền export dữ liệu của databaseIMP_FULL_DATABASEQuyền import dữ liệu vào databaseDELETE_CATALOG_ROLEQuyền xoá dữ liệuEXECUTE_CATALOG_ROLEQuyền thực hiện một thủ tụcSELECT_CATALOG_ROLEQuyền lấy dữ liệuBảng 0.2Bảng thông tin về role Thông tin về các role được lấy trong data dictionary. Có rất nhiều TABLE và VIEW chứa thông tin về các quyền được gán cho user.Tên viewDiễn giảiDBA_ROLESTất cả các chức danh trong databaseDBA_ROLE_PRIVSCác chức danh đã được gán quyền cho USER hay chức danh khácROLE_PRIVSCác chức danh đã được gán quyền cho chức danh khácDBA_SYS_PRIVSQuyền hệ thống gán cho USER hay chức danhROLE_SYS_PRIVSQuyền hệ thống gán cho chức danhROLE_TAB_PRIVSQuyền trên TABLE được gán cho chức danhSESSION_ROLESCác chức danh được phép của user hiện thờiBảng 0.3Bảng thông tin về các role 2 TÀI LIỆU THAM KHẢO1.Tài liệu lý thuyếtSlide bài giảng – môn Hệ quản trị cơ sở dữ liệuTác giả: ThS Trịnh Hoàng Nam2.Tài liệu trực tuyếnLịch sử các phiên bản của OracleTác giả: Trần Quốc Huyhttp:tranquochuy.orgcacphienbanoracleCài đặt cơ sở dữ liệu Oracle 12c trên WindowsNguồn: Openplanninghttps:openplanning.net10347caidatcosodulieuoracle12ctrenwindowsKiến thức cơ bản OracleTrích: Giáo trình Oracle – Trung tâm Tin học DH KHTNhttps:csc.edu.vnlaptrinhvacsdltintuckienthuclaptrinhhocoraclekienthuccobanchonguoimoibatdau802Câu lệnh Oracle căn bảnNguồn: Feetutshttps:freetuts.nethocoracleoraclecanbanTạo cơ sở dữ liệu, Sao lưu phục hồi, Quản lý Role, Quản lý Quyền trong Oracle DatabaseTác giả: Trần Văn Bìnhhttps:www.tranvanbinh.vn202103taocosodulieuoracledatabase12c.htmlhttps:www.tranvanbinh.vn202006hocoracledbtuzbai20quanlychuc.htmlhttps:www.tranvanbinh.vn202011quanlyquyentrongoracledatabase.html

Ngày đăng: 21/07/2021, 13:06

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

TÀI LIỆU LIÊN QUAN

w