Quản lý giao dịch và điều khiển cạnh tranh trong hệ quản trị cơ sở dữ liệu

89 979 2
Quản lý giao dịch và điều khiển cạnh tranh trong hệ quản trị cơ sở dữ liệu

Đ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

Chương này cho ta một cái nhìn bao quát về CSDL, HQTCSDL, các yêu cầu mà một HQTCSDL đặt ra cũng chính là những chức năng mà một HCSDL phải có. Một khái niệm quan trọng trong việc xây dựng một HCSDL đáp ứng được các yêu cầu đặt ra là khái niệm giao dịch (Transaction). Các tính chất mà một giao dịch phải có để đảm bảo một HQTCSDL, được xây dựng trên HCSDL tương ứng, trong suốt quá trình hoạt động sẽ luôn cho một CSDL tin cậy (có nghĩa là dữ liệu luôn nhất quán). Quản trị giao dịch nhằm đảm bảo mỗi giao dịch trong hệ thống có các tính chất mà một giao dịch phải có. Một điều cần chú ý là trong các tính chất của một giao dịch tính chất nhất quán trước hết phải được đảm bảo bởi người lập trình người viết ra giao dịch.

Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu MỤC LỤC MỤC LỤC DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC BẢNG BIỂU DANH MỤC TỪ VIẾT TẮT LỜI CẢM ƠN CHƯƠNG TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 1.1 CÁC KHÁI NIỆM 1.1.1 Định nghĩa hệ quản trị CSDL 1.1.2 Các chức hệ quản trị sở liệu .5 1.1.3 Các đặc trưng giải pháp CSDL 1.2 KIẾN TRÚC HỆ QUẢN TRỊ CSDL 1.2.1 Cách nhìn CSDL .8 1.2.2 Mô hình liệu .9 1.2.3 Ngôn ngữ CSDL 1.2.4 Quản trị giao dịch 10 1.2.5 Quản trị lưu trữ 11 1.2.6 Người quản trị sở liệu 11 1.2.7 Người sử dụng sở liệu 12 1.2.8 Cấu trúc hệ thống tổng thể 13 1.2.9 Kiến trúc hệ sở liệu 15 CHƯƠNG 24 QUẢN LÝ GIAO DỊCH 24 2.1 GIAO DỊCH 24 2.1.1 Khái niệm 24 2.1.2 Trạng thái giao dịch .24 2.1.3 Các thuộc tính giao dịch 25 2.2 PHÂN TÍCH GIAO DỊCH SQL 27 2.2.1 Phân tách .27 2.2.1.1 Phân tách mềm 27 2.2.1.2 Phân tách cứng 28 2.2.2 Đóng kết 28 2.2.3 Thực thi 28 2.3 KIỂM SOÁT GIAO DỊCH ĐỒNG THỜI .28 2.3.1 Các vấn đề đồng thời 29 2.3.2 Lập biểu khả 30 2.3.3 Tiêu chuẩn giao dịch ISO 30 2.3.3.1 Quản lý giao dịch Oracle 31 2.4 HIỆN THỰC KIỂM SOÁT ĐỒNG THỜI 32 2.4.1 Các phương pháp khoá 33 2.4.2 Các kiểu khoá 34 2.4.3 Chế độ khoá 35 2.4.4 Khoá tường minh Oracle .37 2.4.5 Quản lý khoá 38 2.5 Giao dịch độc lập .40 2.6 Khả tiếp tục cấp phát lưu trữ 42 Sinh viên: Hoàng Thị Kiều Oanh Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu 2.6.1 Các hoạt động tiếp tục thực thi 43 2.6.2 Một số lỗi chung hoạt động tiếp tục .43 2.6.3 Sử dụng tính cấp phát lưu trữ tiếp tục 43 2.6.4 Giám sát khả tiếp tục cấp phát lưu trữ 45 2.7 Quản lý giao dịch dài 45 2.7.1 Lợi ích sử dụng workspace Manager 45 2.7.2 Lập phiên bảng Workspace 46 2.7.3 Quản lý Workspace Manager 51 CHƯƠNG 52 ĐIỀU KHIỂN CẠNH TRANH 52 3.1 Giao thức dựa chốt 52 3.1.1 Chốt ( Lock ) 52 3.1.3 Giao thức chốt hai kỳ (Two-phase locking protocol) .57 3.1.4 Giao thức dựa chốt (Graph-Based Protocol) 59 3.1.5 Đa hạt (Multiple Granularity) 61 3.2 Giao thức dựa tem thời gian (Timestamp-based protocol) 63 3.2.1 Tem thời gian (Timestamp) 63 3.2.2 Giao thức thứ tự tem thời gian (Timestamp-Ordering Protocol) 64 3.2.3 Quy tắc viết Thomas (Thomas' Write rule) 65 3.2.4 Giao thức dựa tính hợp lệ 66 3.3 Các sơ đồ đa phiên (Multiversion Schemes) .67 3.3.1 Thứ tự tem thời gian đa phiên 68 3.3.2 Chốt hai kỳ đa phiên .69 3.4 Quản trị Deadlock 69 3.4.1 Phòng ngừa Deadlock (Deadlock prevention) 70 3.4.2 Sơ đồ dựa Timeout 71 3.4.3 Phát Deadlock khôi phục 71 CHƯƠNG 4: 74 QUẢN TRỊ GIAO DỊCH VÀ ĐIỀU KHIỂN CẠNH TRANH TRÊN ORACLE 74 4.1.GIỚI THIỆU ROLLBACK SEGMENTS 74 4.1.1.Khái niệm .74 4.1.2 Mục đích sử dụng segment 74 4.1.3 Phân loại rollback segment 75 4.2 SỬ DỤNG ROLLBACK SEGMENT .75 4.2.1 Sử dụng rollback segment transaction 75 4.2.2 Tăng trưởng rollback segments 76 4.2.3.Tối ưu rollback segments 77 4.3 QUẢN LÝ ROLLBACK SEGMENTS 78 4.3.1 Sử dụng rollback segment .78 4.3.3 Thay đổi trạng thái Rollback segments 80 4.3.4 Instance sử dụng rollback segment 81 4.3.5 Điều chỉnh khả lưu trữ rollback segment .82 4.3.6 Giảm bớt độ rộng rollback segment 82 4.3.7 Hủy bỏ rollback segment .83 4.3.8 Quản lý undo tự động 83 4.4 THÔNG TIN VỀ CÁC ROLLBACK SEGMENT 84 4.4.1 Xem thông tin chung rollback segment 84 4.4.2 Xem thông tin thống kê rollback segment 85 4.4.3 Thông tin rollback segment active 85 Sinh viên: Hoàng Thị Kiều Oanh Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu 1.5 CÁC VẤN ĐỀ LIÊN QUAN TỚI ROLLBACK SEGMENT 86 1.5.1 Không gian cho transactions 86 1.5.2.Lỗi đọc liệu không đồng 87 TÀI LIỆU THAM KHẢO DANH MỤC CÁC HÌNH VẼ Trang Hình 1.1 Khung nhìn CSDL Hình 1.2 Kiến trúc hệ sở liệu Hình 1.3 Hệ thống Client-Server Hình 1.4: Hệ thống server liệu Hình 1.5: Kiến trúc Bus Hình 1.6: Mạng hợp nhật hình lưới siêu lập phương Hình 1.7: Mô hình kiến trúc cho máy song song Hình 1.8 Bộ nhớ chia sẻ Hình 1.9 Mô hình đĩa chia sẻ Hình 1.10 Mô hình không chia sẻ Hình 1.11 Mô hình phân cấp Hình 1.12 Mô hình hệ thống phân tán Hình 1.13 Biểu đồ trạng thái giao dịch hình 3.1 lịch trình tuân theo giao thức Hình 3.2: Cây sở liệu Hình 3.3 Đồ thị chờ (phi chu trình) Hình 3.4 Đồ thị chờ Deadlock Hình 4.1 Rollback segment Hình 4.2 Mục đích rollback segment Hình 4.3 Sử dụng liệu rollback segment Hình 4.4 Tăng kích thước Rollback Segment Hình 4.5 Giảm kích thước Rollback segment Hình 4.6 Các thông tin rollback segments Hình 4.7 Các thông tin thống kê segments Hình 4.8 Thông tin thao tác segments Hình 4.9 Chặn session Sinh viên: Hoàng Thị Kiều Oanh Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu DANH MỤC BẢNG BIỂU Bảng 2.1 Các loại khóa Oracle Bảng 3.1 Điều khiển cạnh tranh giao dịch Bảng 3.2 Lịch trình thực giao dịch T3 T4 Bảng 3.3 Lịch trình Cascadeless Bảng 3.4 Lịch trình khả giao thức Bảng 3.5 Ma trận tương thích chốt DANH MỤC TỪ VIẾT TẮT Tên viết tắt CSDL HQTCSDL DBA Tiếng Anh DataBase DataBase Management System - DBMS DataBase Administrator Nghĩa tiếng Việt Cơ sở liệu Về viết thêm từ viết tắt hay sử dụng vào Sinh viên: Hoàng Thị Kiều Oanh Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu CHƯƠNG TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 1.1 CÁC KHÁI NIỆM 1.1.1 Định nghĩa hệ quản trị CSDL Một sở liệu (CSDL/DB: DataBase) tập hợp tập tin có liên quan với nhau, thiết kế nhằm làm giảm thiểu lặp lại liệu Một hệ quản trị sở liệu (HQTCSDL/DBMS: DataBase Management System) hệ thống gồm CSDL thao tác CSDL đó, thiết kế tảng phần cứng với kiến trúc định Một hệ sở liệu (HCSDL/DBS:DataBase System) phần mềm cho phép xây dựng HQTCSDL Định nghĩa CSDL bao gồm việc đặc tả kiểu liệu, cấu trúc ràng buộc cho liệu lưu trữ sở Xây dựng CSDL trình lưu trữ liệu phương tiện lưu trữ HQTCSDL kiểm soát - Thao tác CSDL bao gồm chức truy vấn CSDL để lấy liệu cụ thể, cập nhật CSDL để phản ánh thay đổi giới nhỏ tạo báo cáo từ liệu - Mục đích hệ CSDL làm đơn giản dễ dàng việc truy xuất liệu Người sử dụng hệ thống không cần quan tâm đến chi tiết vật lý thực thi hệ thống Phần lớn họ quan tâm đến hiệu hệ thống (thời gian trả lời câu vấn tin ) Chương cho ta nhìn bao quát CSDL, HQTCSDL, yêu cầu mà HQTCSDL đặt chức mà HCSDL phải có Một khái niệm quan trọng việc xây dựng HCSDL đáp ứng yêu cầu đặt khái niệm giao dịch (Transaction) Các tính chất mà giao dịch phải có để đảm bảo HQTCSDL, xây dựng HCSDL tương ứng, suốt trình hoạt động cho CSDL tin cậy (có nghĩa liệu quán) Quản trị giao dịch nhằm đảm bảo giao dịch hệ thống có tính chất mà giao dịch phải có Một điều cần ý tính chất giao dịch tính chất quán trước hết phải đảm bảo người lập trình - người viết giao dịch 1.1.2 Các chức hệ quản trị sở liệu Một HQTCSDL có chức sau: Sinh viên: Hoàng Thị Kiều Oanh Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu - Lưu trữ định nghĩa, mối liên kết liệu (gọi siêu liệu: Meta Data) vào từ điển liệu HQTCSDL sử dụng liệu từ điển liệu để tìm kiếm cấu trúc thành phần liệu mối liên kết yêu cầu HQTCSDL giải phóng người sử dụng khỏi việc lập trình cho mối liên kết phức tạp chương trình, việc sửa đổi chương trình truy cập đến tệp CSDL bị sửa đổi Nói cách khác, HQTCSDL loại bỏ phụ thuộc liệu cấu trúc khổi hệ thống - Tạo cấu trúc phức tạp theo yêu cầu để lưu trữ liệu - Biến đổi liệu nhập vào để phù hợp với cấu trúc liệu Như vậy, HQTCSDL giúp người sử dụng phân biệt dạng logic dạng vật lý liệu - Tạo hệ thống bảo mật áp đặt tính bảo mật riêng tư CSDL - Tạo cấu trúc phức tạp cho phép nhiều người sử dụng truy cập đến liệu - Cung cấp thủ tục lưu, phục hồi liệu đảm bảo an toàn trọn vẹn liệu - Áp dụng quy tắc an toàn để loại bỏ vấn đề toàn vẹn liệu Điều cho phép ta làm tối thiểu dư thừa liệu làm tối đa tính quán liệu - Cung cấp việc truy cập liệu thông qua ngôn ngữ truy vấn Ngôn ngữ truy vấn ngôn ngữ phi thủ tục cho phép người sử dụng cần phải làm mà không cần phải cho làm 1.1.3 Các đặc trưng giải pháp CSDL Hệ thống tệp (file) phương pháp áp dụng việc quản lý Một tệp xem cặp hồ sơ lưu trữ thông tin liên quan đến công việc riêng biệt Việc xử lý để lấy thông tin thống kê lương, trình công tác…, lúc đầu thực cách thủ công Dần dần, khối lượng thông tin ngày lớn, việc xử lý thông tin ngày phức tạp, người ta sử dụng máy tính vào việc quản lý Các cặp hồ sơ chuyển thành tệp máy vi tính việc xử lý thông tin thực cách lập trình Việc quản lý theo giải pháp hệ thống tệp có nhiều nhược điểm như: - Dư thừa liệu tính bất (Data redundancy and inconsistency): Do file trình ứng dụng tạo người lập trình khác nhau, nên file có định dạng khác nhau, chương trình viết ngôn ngữ lập trình khác nhau, thông tin lưu giữ file khác Tính không thống dư thừa làm tăng chi phí truy xuất lưu trữ, nữa, dẫn đến tính bất liệu: liệu không quán Sinh viên: Hoàng Thị Kiều Oanh Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu - Khó khăn việc truy xuất liệu: Môi trường hệ thống xử lý file thông thường không cung cấp công cụ cho phép truy xuất thông tin cách hiệu thuận lợi - Sự cô lập liệu (Data isolation): Các giá trị liệu lưu trữ CSDL phải thoả mãn số ràng buộc tính quán liệu (ràng buộc quán/ consistency contraints) Trong hệ thống xử lý file thông thường, khó khăn việc thay đổi chương trình để thoả mãn yêu cầu thay đổi ràng buộc Vấn đề trở nên khó khăn ràng buộc liên quan đến hạng mục liệu file khác - Các vấn đề tính nguyên tử (Atomicity problems): Tính nguyên tử hoạt động (giao dịch) là: hoàn tất trọn vẹn Điều có nghĩa hoạt động làm thay đổi liệu bền vững hoàn tất (kết thúc thành công) không, giao dịch không để lại dấu vết CSDL Trong hệ thống xử lý file thông thường khó đảm bảo tính chất - Tính bất thường truy xuất cạnh tranh: Một hệ thống cho phép nhiều người sử dụng cập nhật liệu đồng thời, dẫn đến kết liệu không quán Điều đòi hỏi giám sát Hệ thống xử lý file thông thường không cung cấp chức - Vấn đề an toàn (Security problems): người sử dụng HCSDL không cần thiết quyền truy xuất tất liệu Vấn dề đòi hỏi hệ thống phải đảm bảo tính phân quyền, chống truy xuất trái phép Các bất lợi nêu gợi mở phát triển DBMS Giải pháp CSDL đời giải nhược điểm Cụ thể, giải pháp CSDL có đặc trưng sau: - Bản chất tự mô tả HCSDL: Hệ thống CSDL không gồm có thân CSDL mà có định nghĩa mô tả đầy đủ cấu trúc CSDL ràng buộc Định nghĩa lưu từ điển hệ thống, chứa thông tin cấu trúc tệp, kiểu dạng lưu trữ mục liệu - Sự độc lập chương trình liệu: Trong hệ thống tệp, cấu trúc tệp CSDL nhúng vào chương trình truy cập, thay đổi cấu trúc tệp đòi hỏi phải thay đổi tất chương trình truy cập đến tệp Ngược lại, chương trình truy cập HQTCSDL không đòi hỏi việc thay thế Cấu trúc tệp liệu lưu trữ từ điển tách rời với chương trình truy cập - Hỗ trợ khung nhìn liệu nhiều thành phần: Một CSDL có nhiều ngưới sử dụng, người đòi hỏi phối cảnh khung hình khác Một khung Sinh viên: Hoàng Thị Kiều Oanh Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu hình tập CSDL chứa liệu ảo, liệu trích từ tệp CSDL khác không lưu trữ cách rõ ràng Một HQTCSDL nhiều người sử dụng phải cung cấp nhiều công cụ định nghĩa khung nhìn nhiều thành phần - Chia sẻ liệu nhiều người sử dụng: Một HQTCSDL nhiều người dùng sử dụng phải cho phép nhiều người sử dụng truy cập đồng thời đến CSDL HQTCSDL phải có phần mềm kiểm tra cạnh tranh để đảm bảo người sử dụng cập nhật đến CSDL phải thực theo cách kiểm tra kết cập nhật đắn 1.2 KIẾN TRÚC HỆ QUẢN TRỊ CSDL 1.2.1 Cách nhìn CSDL Tính hiệu hệ thống đòi hỏi phải thiết kế cấu trúc liệu phức tạp để biểu diễn liệu sở liệu Các nhà phát triển che dấu phức tạp thông qua mức trừu tượng nhằm đơn giản trao đổi người sử dụng với hệ thống: Mức view View View View n Mức luận lý Mức vật lý Hình 1.1 Khung nhìn sở liệu Mức vật lý (Physical level): Mức thấp trừu tượng, mô tả liệu lưu trữ Ở mức này, cấu trúc liệu mức thấp, phức tạp mô tả chi tiết Mức logic (Logical level): Mức kế cao trừu tượng, mô tả liệu lưu trữ CSDL mối quan hệ liệu Mức logic trừu tượng dùng người quản trị CSDL Mức view (View level): Mức cao trừu tượng, mô tả phần CSDL toàn thể Một người sử dụng HCSDL liên quan đến phận CSDL Như trao đổi họ với hệ thống làm đơn giản việc định nghĩa view Hệ thống cung cấp nhiều mức view CSDL Sinh viên: Hoàng Thị Kiều Oanh Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu Thể sơ đồ (Instances and schemas): Tập hợp thông tin lưu trữ CSDL thời điểm gọi thể (instance) CSDL Thiết kế tổng thể CSDL gọi sơ đồ (schema) Các HCSDL có vài sơ đồ, phân tương ứng với mức trừu tượng.Ở mức thấp sơ đồ vật lý (physical schema), mức trung gian sơ đồ logic (logical schema), mức cao sơ đồ (subschema) Nói chung HCSDL hỗ trợ sơ đồ vật lý, sơ đồ logic vài sơ đồ Khả sửa đổi định nghĩa mức không ảnh hưởng định nghĩa sơ đồ mức cao gọi độc lập liệu Có hai mức độc lập liệu: - Độc lập liệu vật lý (Physical data independence) khả sửa đổi sơ đồ vật lý không làm cho chương trình ứng dụng phải viết lại Các sửa đổi mức vật lý cần thiết để cải thiện hiệu - Độc lập liệu logic (Logical data independence) khả sửa đổi sơ đồ logic không làm cho chương trình ứng dụng phải viết lại Các sửa đổi mức logic cần thiết cấu trúc logic CSDL bị thay 1.2.2 Mô hình liệu Nằm cấu trúc CSDL mô hình liệu: công cụ quan niệm để mô tả liệu, quan hệ liệu, ngữ nghĩa liệu ràng buộc quán Có ba nhóm mô hình: Các mô hình logic dựa đối tượng (Object-based logical models), mô hình logic dựa mẩu tin (Record-based logical models), mô hình vật lý (Physical models) Các mô hình logic dựa đối tượng dùng mô tả liệu mức logic mức view Chúng đặc trưng việc chúng cung cấp khả cấu trúc linh hoạt cho phép ràng buộc liệu xác định cách tường minh Dưới vài mô hình biết rộng rãi: Mô hình thực thể - quan hệ (entity-relationship model), mô hình hướng đối tượng (object-oriented model), mô hình liệu ngữ nghĩa (semantic data model), mô hình liệu hàm (function data model) Các mô hình logic dựa mẩu tin dùng để miêu tả liệu mức logic hay mức view Chúng dùng để xác định cấu trúc logic toàn thể CSDL cung cấp mô tả mức cao việc thực CSDL cấu trúc dạng mẩu tin định dạng cố định (fixed format record): mẩu tin xác định số cố định trường, trường thường có độ dài cố định Một vài mô hình biết rộng rãi là: Mô hình quan hệ, mô hình mạng, mô hình phân cấp Mô hình liệu vật lý dùng để mô tả liệu mức thấp Hai mô hình liệu vật lý biết rộng rãi mô hình hợp (unifying model) mô hình khung - nhớ (frame-memory model) 1.2.3 Ngôn ngữ CSDL Sinh viên: Hoàng Thị Kiều Oanh Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu Một HCSDL cung cấp hai kiểu ngôn ngữ khác nhau: để xác định sơ đồ CSDL, để biểu diễn vấn tin CSDL cập nhật Ngôn ngữ định nghĩa liệu (Data Definition Language): Dữ liệu cho phép xác định sơ đồ CSDL Kết biên dịch lệnh liệu tập hợp bảng lưu trữ file đặc biệt gọi tự điển liệu (data dictionary) hay thư mục liệu (data directory) Tự điển liệu file chứa metadata File tra cứu trước liệu hành đọc hay sửa đổi Cấu trúc lưu trữ phương pháp truy cập sử dụng HCSDL xác định tập hợp định nghĩa kiểu đặc biệt liệu gọi ngôn ngữ định nghĩa lưu trữ liệu (data storage and definition language) Kết biên dịch định nghĩa tập hợp thị xác định thực chi tiết sơ đồ CSDL (thường che dấu) Ngôn ngữ thao tác liệu (Data manipulation language: DML) ngôn ngữ cho phép người sử dụng truy xuất thao tác liệu Có hai kiểu ngôn ngữ thao tác liệu: DML thủ tục (procedural DML) yêu cầu người sử dụng đặc tả liệu cần làm để nhận DML không thủ tục (Nonprocedural DML) yêu cầu người sử dụng đặc tả liệu cần không cần đặc tả làm để nhận Một vấn tin (query) lệnh yêu cầu tìm lại liệu (information retrieval) Phần ngôn ngữ DML liên quan đến tìm lại thông tin gọi ngôn ngữ vấn tin (query language) 1.2.4 Quản trị giao dịch Thông thường, số thao tác CSDL tạo thành đơn vị logic công việc Ta xét ví dụ chuyển khoản, số tiền x chuyển từ tài khoản A (A:=A-x) sang tài khoản B (B:=B+x) Một yếu tố cần thiết hai thao tác xảy không hoạt động xảy Việc chuyển khoản phải xảy tính toàn thể không Đòi hỏi toàn thể - - không gọi tính nguyên tử (atomicity) Một yếu tố cần thiết khác thực việc chuyển khoản bảo tồn tính quán CSDL: giá trị tổng A + B phải bảo tồn Đòi hỏi tính xác gọi tính quán (consistency) Cuối cùng, sau thực thành công hoạt động chuyển khoản, giá trị account A B phải bền vững cho dù có cố hệ thống Đòi hỏi tính bền vững gọi tính lâu bền (Durability) Một giao dịch tập hoạt động thực chức logic ứng dụng CSDL Mỗi giao dịch đơn vị mang tính nguyên tử lẫn tính quán Như vậy, giao dịch phải không vi phạm ràng buộc quán Nếu CSDL quán giao dịch khởi động phải quán giao dịch kết thúc thành công Tuy nhiên, thực giao dịch, phải cho phép không quán tạm thời Sự không quán tạm thời cần thiết lại dẫn đến khó khăn xảy cố Sinh viên: Hoàng Thị Kiều Oanh 10 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu Hình 4.2 Mục đích rollback segment Phục hồi Transaction: Trong trường hợp instance gặp lỗi transactions thực hiện, Oracle server cần phải khôi phục lại liệu chưa commit Rollback trường hợp gọi phục hồi liệu Việc thực thay đổi rollback segments kết hợp bảo vệ redo log files Nhất quán việc đọc liệu: Khi thực transactions, users database thấy liệu bị thay đổi mà chưa commit transactions Các liệu cũ lưu rollback segments sử dụng để cung cấp cho users khác nhằm đảm bảo quán liệu cho user 4.1.3 Phân loại rollback segment SYSTEM Rollback Segment: SYSTEM rollback segment tạo SYSTEM tablespace database tạo lập Rollback segment sử dụng thay đổi liệu đối tượng nằm SYSTEM tablespace Non - SYSTEM Rollback Segments: Một database có nhiều tablespaces nên có non-SYSTEM rollback segment Các non-SYSTEM rollback segment quản trị viên database tạo lập sử dụng để lưu giữ thay đổi đối tượng có non-SYSTEM tablespace khác Có hai loại non-SYSTEM rollback segments - Private: Private rollback segments segments sử dụng riêng cho instance - Public: Public rollback segments phần rollback segments có database Public rollback segments sử dụng Oracle Parallel Server 4.2 SỬ DỤNG ROLLBACK SEGMENT 4.2.1 Sử dụng rollback segment transaction Cấp phát Rollback Segment: Đối với transaction phải xử lý khối lượng lớn liệu, ta cần gán transaction với rollback segment riêng chuyên làm nhiệm vụ lưu giữ trạng thái ban đầu liệu Chú ý gán rollback segments cho transaction: - Lường trước khối lượng thông tin transaction cần rollback phù hợp (fit) với kích thước vùng trống (extents) thời rollback segment - Cấp phát vừa đủ vùng trống không cần cấp phát bổ vùng trống (extents) cho rollback segments gán cho transaction điều dẫn đến việc giảm hiệu suất thực hệ thống Sinh viên: Hoàng Thị Kiều Oanh 75 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu - Để gán transaction cho rollback segment cách tường minh rollback segment cần phải trạng thái online Cần thực lệnh lệnh SET TRANSACTION USE ROLLBACK SEGMENT trước thực lệnh transaction Nếu trạng thái ollback segment offline câu lệnh SET TRANSACTION USE ROLLBACK EGMENT không đặt vị trí transaction hệ thống phát sinh lỗi Ví dụ: sử dụng lệnh gán rollback segment cho transaction thời điểm bắt đầu transaction: SET TRANSACTION USE ROLLBACK SEGMENT large_rs1; Sau transaction commit, rollback segment lại Oracle đưa trạng thái sẵn sàng sử dụng Oracle tự động gán transaction cho rollback segment rỗi (available) transaction lại tiếp tục gán cho rollback segment tay user Sử dụng extents: Các transactions sử dụng extents rollback segment theo trình tự xoay vòng Theo đó, transaction ghi liệu thay đổi vào extent thời, tiếp tục chuyển tới extent Khi extent cuối sử dụng đầy, lại quay trở extent Để rõ hơn, ta xem xét ví dụ sau: Có hai transaction sử dụng rollback segments có 04 extents Hình 4.3 Sử dụng liệu rollback segment Tại thời điểm bắt đầu, giao dịch bắt đầu ghi liệu vào Extent Trong thực hiện, transaction ghi liệu vào Extent đầy tiếp tục chuyển sang ghi liệu lên Extent Khi Extent đầy, tiếp tục lại quay trở lại ghi liệu vào extent extent trạng thái rỗi inactive Một extent rỗi inactive thời không bị sử dụng transaction 4.2.2 Tăng trưởng rollback segments Sinh viên: Hoàng Thị Kiều Oanh 76 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu Rollback segment có trỏ để xác định extent làm việc Khi extent làm việc đầy, trỏ chuyển sang extent để thực việc ghi liệu Cứ extent cuối lại quay trở extent extent rỗi Tuy nhiên, có nhiều khả extent không rỗi Khi đó, trỏ nhảy cách mà bỏ qua extent để chuyển sang extent Để tiếp tục trì hoạt động cho transaction, cần phải bổ sung thêm extent vào sau extent cuối Việc tạo nên tăng trưởng rolback segments Việc tăng trưởng rolback segments tiếp tục xảy số lượng extents tăng kịch khung quy định tham số MAXEXTENTS Hình 4.4 Tăng kích thước Rollback Segment Sau rollback segments tạo lập, quản trị viên database thay đổi tham số lưu trữ rollback segments Để thay đổi, quản trị viên cần điều chỉnh tham số OPTIMAL hay MAXEXTENTS cho phù hợp Ví dụ: Câu lệnh sau thay đổi số lượng tối đa extents cấp phát cho rollback segments RBS_01: ALTER ROLLBACK SEGMENT rbs_01 STORAGE (MAXEXTENTS 120); Với câu lệnh thay đổi này, ta điều chỉnh với rollback segment SYSTEM , bao gổm tham số OPTIMAL 4.2.3.Tối ưu rollback segments Khi kết thúc commit transaction, giải phóng vùng không gian sử dụng để lưu liệu dùng để phục hồi Các extent rollback đưa trở lại trạng thái inactive Để tiết kiệm không gian lưu trữ rollback segment, ta tối ưu lại rollback segment thông qua tham số OPTIMAL Oracle server thu hồi lại extent cấp phát khi: Sinh viên: Hoàng Thị Kiều Oanh 77 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu - Kích thước rollback segment điều chỉnh tới giá trị tham số OPTIMAL - Khi có nhiều 02 extent rỗi liên tiếp cạnh Một điều lưu ý thu hồi lại extent, Oracle server thu hồi extent chứa liệu lâu trước Ta thực giảm bớt kích thước rollback segments thông qua việc sử dụng câu lệnh ALTER ROLLBACK SEGMENT Lưu ý, rollback segment thu nhỏ thiết phải trạng thái online Hình 4.5 Giảm kích thước Rollback segment Ví dụ: Thu nhỏ kích thước rollback segment RBS1 100K: ALTER ROLLBACK SEGMENT rbs1 SHRINK TO 100K; Câu lệnh phía thực rút bớt kích thước rollback segment tới kích thước Tuy nhiên, việc rút gọn dừng lại có extent bị thu hồi nguyên nhân 4.3 QUẢN LÝ ROLLBACK SEGMENTS 4.3.1 Sử dụng rollback segment Kích thước rollback segment: Kích thước rollback xác định tuỳ thuộc vào hai yếu tố sau: - Loại transaction thực (insert, update, delete, ) - Lượng liệu xử lý Thông thường, việc thêm ghi vào bảng cần không gian lưu giữ thông tin phục hồi việc xoá liệu khỏi bảng Với thao tác thêm mới, cần lưu giữ ROWID vào rollback, thao tác delete lại cần phải lưu giữ toàn dòng liệu Đánh giá kích thước rollback segment theo transaction dài có sử dụng rollback segment Sinh viên: Hoàng Thị Kiều Oanh 78 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu Số lượng Extents: Với rollback segment có nhiều extents gây lãng phí không gian lưu trữ liệu, để giảm bớt lãng phí, ta điều chỉnh tham số MINEXTENTS cho phù hợp Oracle khuyến nghị, thông thường, MINEXTENTS nên đặt giá trị 20 Tạo rollback segment: Ta tạo rollback segment thông qua câu lệnh SQL: Cú pháp: CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment [TABLESPACE tablespace] [STORAGE ([INITIAL integer[K|M]] [NEXT integer[K|M]] [MINEXTENTS integer] [MAXEXTENTS {integer|UNLIMITED}] [OPTIMAL {integer[K|M]|NULL}] ) ] Lưu ý: - Một rollback segment PUBLIC PRIVATE (mặc định) việc gán thực lúc tạo thay đổi sau - MINEXTENTS>=2 rollback segment - PCTINCREASE bỏ qua rollback segment gán - OPTIMAL, có không nhỏ giá trị kích thước khởi tạo rollback segment xác định tham số MINEXTENTS - INITIAL=NEXT để đảm bảo extent rollback segment có kích thước - Không nên gán giá trị cho MAXEXTENTS UNLIMITIED dẫn đến việc mở rộng extent cách không cần thiết - Nên đặt rollback segment tablespace riêng biệt để giảm bớt tượng phân đoạn liệu database Ví dụ: CREATE ROLLBACK SEGMENT rbs01 TABLESPACE rbs Sinh viên: Hoàng Thị Kiều Oanh 79 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu STORAGE ( INITIAL 100K NEXT 100K OPTIMAL 4M MINEXTENTS 20 MAXEXTENTS 100); Trong Oracle Enterprise ta thực theo bước sau: Chạy Oracle Storage Manager Chọn Rollback  Create Trong phần General page, nhập vào tên, tablespace, kiểu tương ứng Chọn mục Online radio button Trong phần Extents, nhập vào thông tin rollback segments Bấm nút Create 4.3.3 Thay đổi trạng thái Rollback segments Rollback segments nhận hai trạng thái ONLINE/OFFLINE Khi rollback segment có trạng thái online sẵn sàng sử dụng cho transactions, ngược lại, trạng thái offline cho biết không sẵn sàng cho transactions Thông thường, rollback segments online sẵn dùng cho transactions Trong số tình định, ta cần đặt trạng thái online hay ofline rollback segments: - Khi trạng thái tablespace online, tablespace có chứa rollback segments, ta đặt trạng thái tablespace thành offline có transaction sử dụng rollback segments thuộc tablespace Để xử lý tình này, ta cần thay đổi trạng thái rollback segments thành offline để ngăn không cho sử dụng rollback segments trước thay đổi trạng thái tablespace offline - Khi ta muốn huỷ (drop) rollback segments, thực transactions sử dụng Để xử lý tình này, ta cần ngăn không cho sử dụng rollback segment thông qua việc đặt lại trạng thái rollback segments offline Sau tạo rollback segment, có trạng thái offline chưa thể sử dụng Để sẵn dùng cho transaction, rollback segment cần chuyển trạng thái thành online thông qua câu lệnh ALTER ROLLBACK SEGMENT Cú pháp: ALTER ROLLBACK SEGMENT rollback_segment ONLINE | OFFLINE Sinh viên: Hoàng Thị Kiều Oanh 80 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu Rollback segment có trạng thái online instance bị tắt (shutdown) Đặt trạng thái online cho rollback segments startup database: Để đảm bảo cho rollback segments nhận trạng thái online khởi động (startup) database, ta cần rõ tên rollback segments tham số OLLBACK _ SEGMENTS parameter file Ví dụ: ROLLBACK_SEGMENTS=(rbs01, rbs02, rbs03) Lưu ý: Số lượng tối đa rollback segment online instance xác định tham số MAX_ROLLBACK_SEGMENT Trong OEM ta thực theo bước sau: Chạy Oracle Storage Manager Chuyển tới nút Rollback Segments Chọn rollback segment tương ứng Chọn Rollback—>Place Online/ Take Offline Trong hộp thoại xác nhận, bấm nút Yes 4.3.4 Instance sử dụng rollback segment Để cụ thể, ta xem xét bước thực instance sử dụng rollback segment: Instance sử dụng tất rollback segments có tên phần tham số ROLLBACK_SEGMENTS Tham số TRANSACTIONS TRANSACTIONS_PER_ROLLBACK_SEGMENT sử dụng để tính toán số lượng rollback segments cần thiết cho instance: N= Với: T TPR N : Số lượng rollback segment cần thiết T : Giá trị tham số TRANSACTIONS TRP : Giá trị tham số TRANSACTIONS_PER_ROLLBACK_SEGMENT Trong trường hợp N nhỏ hay số lượng non-SYSTEM rollback segments có được, instance không cần tới nhiều rollback segments Khi giá trị N lớn hay số non-SYSTEM rollback segments dành cho instance, đòi hỏi phải sử dụng thêm public rollback segments Sinh viên: Hoàng Thị Kiều Oanh 81 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu 4.3.5 Điều chỉnh khả lưu trữ rollback segment Ta điều chỉnh tính chất lưu trữ rollback segment thông qua lệnh ALTER ROLLBACK SEGMENT Cú pháp: ALTER ROLLBACK SEGMENT rollback_segment [STORAGE ( [NEXT integer[K|M]] [MINEXTENTS integer] [MAXEXTENTS {integer|UNLIMITED}] [OPTIMAL {integer[K|M]|NULL}]) ] Trong OEM ta thực theo bước sau: Chạy Oracle Storage Manager Chuyển tới nút Rollback Segments Chọn rollback segment tương ứng Trong phần Extents page, đặt lại tham số tương ứng Bấm nút Apply 4.3.6 Giảm bớt độ rộng rollback segment Trong trường hợp tham số OPTIMAL rõ, Oracle server có gắng thực cấp phát giải phóng vùng không gian dựa theo giá trị tham số OPTIMAL Ngược lại, ta thực cấp phát không gian thông qua lệnh trực tiếp: ALTER ROLLBACK SEGMENT rollback_segment SHRINK [ TO integer [ K|M ]]; Trong trường hợp tham số integer không rõ, Oracle giảm lượng không gian rollback segment tới giá trị OPTIMAL Trong OEM ta thực theo bước sau: Chạy Oracle Storage Manager Chuyển tới nút Rollback Segments Chọn rollback segment tương ứng Chọn Rollback—>Shrink Sinh viên: Hoàng Thị Kiều Oanh 82 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu Trong hộp thoại Shrink Rollback Segment, chọn Optimal Size rút gọn kích thước rollback segment theo kích thước tối ưu Hoặc chọn Size nhập vào giá trị kích thước cho vùng không gian tương ứng Bấm nút OK 4.3.7 Hủy bỏ rollback segment Trong số trường hợp không cần sử dụng rollback segment, ta hủy rollback segment thông qua câu lệnh SQL: DROP ROLLBACK SEGMENT rollback_segment; Trong OEM, ta làm theo bước sau: Chọn Oracle Storage Manager Chuyển tới nút Rollback Segments Chọn rollback segment tương ứng Chọn Rollback—>Remove Ta hủy rollback segment trạng thái offline Bấm nút Yes hộp thoại xác nhận 4.3.8 Quản lý undo tự động Khả quản lý undo tự động (Automatic Undo Management - AUM) đặc điểm Oracle 9i Cung cấp chế tin cậy cho DBA tạo, thay đổi kích thước điều chỉnh rollback segments database Theo đó, Rollback segments tạo, xoá hay điều chỉnh kích thước cách tự động instance Dữ liệu rollback data quản lý nhờ vào undo tablespace Ví dụ: Tạo undo tablespace CREATE UNDO TABLESPACE “UNDO_TBS” DATAFILE ‘/u01/oradata/freeney9/undo_tbs01.ora’ SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 700M Một số tham số khởi tạo chính: - UNDO_MANAGEMENT (MANUAL / AUTO): Cho biết database có sử dụng chế AUM hay không Default = MANUAL - UNDO_TABLESPACE (valid tablespace): Chỉ rõ tên undo tablespace sử dụng Sinh viên: Hoàng Thị Kiều Oanh 83 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu - UNDO_RETENTION (in seconds default=30): Cho biết thời gian trễ để thực committed undo - UNDO_SUPPRESS_ERRORS (TRUE / FALSE): Cho biết hệ thống có trả exception hay không “SET TRANSACTION USE ROLLBACK SEGMENT” phát lỗi Default = TRUE 4.4 THÔNG TIN VỀ CÁC ROLLBACK SEGMENT Thông tin rollback segment lưu giữ từ điển liệu 4.4.1 Xem thông tin chung rollback segment Thông tin chung rollback segment lưu view DBA_ROLLBACK_SEGS Hình 4.6 Các thông tin rollback segments Các thông tin bao gồm: - SEGMENT_ID: Mã hiệu segment - SEGMENT_NAME: Tên segment - TABLESPACE_NAME: Tên tablespace chứa segment - OWNER (PUBLIC/SYS): Tên user sở hữu segment - STATUS (ONLINE/OFFLINE): Trạng thái segment Ví dụ: Xem thông tin chung segment SVRMGR> SELECT segment_name, tablespace_name, owner, status 2> FROM dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME OWNER STATUS - - SYSTEM SYSTEM SYS ONLINE RBS1 RBS SYS ONLINE RBS2 RBS SYS ONLINE RBS3 RBS SYS OFFLINE rows selected Dữ liệu cột OWNER nhận giá trị: Sinh viên: Hoàng Thị Kiều Oanh 84 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu - SYS: Rollback thuộc loại private - PUBLIC: Rollback thuộc loại public 4.4.2 Xem thông tin thống kê rollback segment Ta lấy thông tin từ view V$ROLLSTAT V$ROLLNAME Hình 4.7 Các thông tin thống kê segments Ví dụ: Xem thông tin thông kê segments SVRMGR> SELECT n.name, s.extents, s.rssize, s.optsize, 2> s.hwmsize, s.xacts, s.status 3> FROM v$rollname n, v$rollstat s 4> WHERE n.usn = s.usn; NAME EXTENTS - -SYSTEM 43 RBS1 20 RBS2 rows selected RSSIZE -2199552 202752 38912 OPTSIZE HWMSIZE XACTSSTATUS -2199552 ONLINE 204800 417792 ONLINE 38912 PENDING OFFLINE Diễn giải số cột liệu view V$ROLLSTAT Tên cột USN EXTENTS RSSIZE XACTS OTPSIZE HWMSIZE AVEACTIVE STATUS Diễn giải Là số hiệu rollback segment (Rollback segment number) Số lượng extents có rollback segment Kích thước segment thời tính theo đơn vị bytes Số lượng transaction sử dụng rollback segment Giá trị OPTIMAL rollback segment Hight warter mark; kích thước tối đa tính theo bytes, rollback segment tăng Kích thước extent thời, Trạng thái rollback segment 4.4.3 Thông tin rollback segment active Sinh viên: Hoàng Thị Kiều Oanh 85 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu Ta kết hợp thông tin hai bảng V$TRANSACTION V$SESSION Hình 4.8 Thông tin thao tác segments Ví dụ: SVRMGR> SELECT s.username, t.xidusn, t.ubafil, 2> t.ubablk, t.used_ublk 3> FROM v$session s, v$transaction t 4> WHERE s.saddr = t.ses_addr; USERNAME - XIDUSN UBAFIL - UBABLK USED_UBLK SYSTEM 2 SCOTT 163 rows selected Diễn giải số cột liệu Tên cột SES_ADDR XIDUSN UBAFIL, UBABLK, UBASQN,UBAREC USED_UBLK START_UEXT, START_UBAFIL, START_UBABLK Diễn giải Địa session, lấy từ V$SESION.SADDR Số hiệu Rollback segment sử dụng transaction Vị trí thời rollback segment mà transaction ghi vào Số hiệu block undo tạo transaction Số hiệu extent (file, block) thuộc rollback segment mà transaction bắt đầu ghi liệu 1.5 CÁC VẤN ĐỀ LIÊN QUAN TỚI ROLLBACK SEGMENT 1.5.1 Không gian cho transactions Sinh viên: Hoàng Thị Kiều Oanh 86 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu Nguyên nhân: Do transaction không sử dụng nhiều rollback segments nên xảy tình trạng thiếu vùng không gian cho rollback segment gây lỗi (ORA01562) Nguyên nhân trường hợp sau: - Không có đủ không gian tablespace (ORA-01560) - Số lương extents rollback segment đạt tới giá trị MAXEXTENTS bổ sung thêm extent vào rollback segment (ORA-01628) Giải pháp: Với lỗi ORA-01560: - Mở rộng thêm data files tablespace - Đặt chế độ cho data files AUTOEXTEND - Bổ sung data file vào tablespace - Với lỗi ORA-01628: - Tăng tham số MAXEXTENTS rollback segment - Huỷ tạo lại rollback segment với kích thước extent lớn 1.5.2.Lỗi đọc liệu không đồng Nguyên nhân: Oracle server cố gắng đảm bảo câu lệnh xử lý liệu commit Vì thế, liệu chưa commit không sử dụng Trong trường hợp Oracle server không tạo lưu giá trị cũ liệu (read-consistent image of data), user nhận lỗi ORA-01555 snapshot too old Lỗi xảy transaction thay đổi liệu commit và: - Transaction slot có phần rollback header sử dụng - Giá trị ban đầu (before-image) rollback segment ghi đè lên transaction khác Giải pháp - Tăng số MINEXTENTS - Mở rộng kích thước extent - Tăng giá trị OPTIMAL Chặn session Sinh viên: Hoàng Thị Kiều Oanh 87 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu Hình 4.9 Chặn session Vấn đề: Khi extent rollback segment ghi đầy, Oracle server tiếp tục sử dụng extent theo chế xoay vòng Trong trường hợp extent tình trạng active, transaction không sử dụng Mặt khác, bỏ qua extent để chuyển tới extent sau rỗi Khi đó, rollback segment bổ sung thêm extent Việc làm làm cho rollback segment ngày mở rộng quản trị viên cần phải can thiệp để hạn chế việc mở rộng Giải pháp: Quản trị viên database cần thực kiểm tra thông tin transaction thực thông qua việc lấy thông tin từ view V$ROLLSTAT, V$TRANSACTION, V$SESSION để phát transaction bị cản trở, từ thực việc điều chỉnh cho phù hợp Công việc kiểm tra giám sát thực tay người quản trị database Ví dụ: Xem thông tin transactions thực SVRMGR> SELECT s.sid, s.serial#, t.start_time, t.xidusn, s.username 2> FROM v$session s, v$transaction t, v$rollstat r 3> WHERE s.saddr = t.ses_addr 4> AND t.xidusn = r.usn 5> AND ((r.curext = t.start_uext-1) OR 6> ((r.curext = r.extents-1) AND t.start_uext=0)); SID SERIAL# START_TIME - - - 10/30/97 21:10:41 27 XIDUSN USERNAME SYSTEM row selected Sinh viên: Hoàng Thị Kiều Oanh 88 Quản lý giao dịch điều khiển cạnh tranh hệ quản trị sở liệu TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Thiên Bằng , Hệ quản trị sở liệu Oracle – Quản trị, NXB KH & KT 2005 [2] Nguyễn Thiên Bằng, Nguyễn Ngọc Minh, Thành thạo Oracle 9i – Quản trị sở liệu – Tập 1, NXB Lao động xã hội 2005 [3] Đại học Cần thơ – Giáo trình hệ quản trị sở liệu 2004 [4] Phạm Hữu Khang, Hoàng Đức Hải, Lập trình SQL bản, NXB Giáo dục 2002 [5] Phạm Hữu Khang, Hoàng Đức Hải, Lập trình ứng dụng chuyên nghiệp với SQL Server 2000, Tập 1, NXB Giáo dục 2002 [6] Nguyễn Ngọc Minh, PL/SQL Oracle Tập 1,2 NXB KH & KT 2006 [7] Nguyễn Ngọc Minh, Oracle 9i Developer: Phát triển ứng dụng Web với Form Builder, NXB Thống kê 2005 Tiếng Anh [1].Aptech Worldwide, USA,2000 Implementing RDBMS Concept with SQL Server 2000 [2] C.J Date, Hug Darwen Addition-Wesley Publishing company, A guid to SQL standard, AdditionWesley 1993 [3] Hector Garcia-Molina, Jeffrey D.Ullman, Jennifer Widom Database System: The Complete book Prentice Hall, 2002 [4] Oracle Inc, Introduction to Oracle9i: SQL – Volume 1,2,3,4 Nita Brozowski 2004 [5] Oracle Inc , Oracle9i Database Administration Fundamentals I, 2001 [6] Macmillan Computer Publishing, Teach Yourself Oracle In 21 Days, SAMs Publisher 2004 Sinh viên: Hoàng Thị Kiều Oanh 89

Ngày đăng: 02/09/2016, 10:00

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1

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

  • 1.1 CÁC KHÁI NIỆM

    • 1.1.1. Định nghĩa hệ quản trị CSDL

    • 1.1.2. Các chức năng của một hệ quản trị cơ sở dữ liệu

    • 1.1.3. Các đặc trưng của giải pháp CSDL

    • 1.2. KIẾN TRÚC HỆ QUẢN TRỊ CSDL

      • 1.2.1. Cách nhìn CSDL

      • 1.2.2. Mô hình dữ liệu

      • 1.2.3. Ngôn ngữ CSDL

      • 1.2.4. Quản trị giao dịch

      • 1.2.5. Quản trị lưu trữ

      • 1.2.6. Người quản trị cơ sở dữ liệu

      • 1.2.7. Người sử dụng cơ sở dữ liệu

      • 1.2.8. Cấu trúc hệ thống tổng thể

      • 1.2.9. Kiến trúc hệ cơ sở dữ liệu

      • CHƯƠNG 2

      • QUẢN LÝ GIAO DỊCH

      • 2.1. GIAO DỊCH

        • 2.1.1. Khái niệm

        • 2.1.2. Trạng thái giao dịch

        • 2.1.3. Các thuộc tính của giao dịch

        • 2.2. PHÂN TÍCH GIAO DỊCH SQL

          • 2.2.1. Phân tách

Tài liệu cùng người dùng

Tài liệu liên quan