Tải bản đầy đủ (.pdf) (109 trang)

Chuẩn bị kỳ thi số 731 lấy chứng chỉ DBA (Quản trị cơ sở dữ liệu) DB2 9, Phần 4: Giám sát hoạt động của DB2 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.75 MB, 109 trang )

huẩn bị kỳ thi số 731 lấy chứng chỉ DBA (Quản trị cơ sở dữ liệu) DB2 9, Phần
4: Giám sát hoạt động của DB2
Roger Sanders, Quản lý cao cấp, EMC
Tóm tắt: Hướng dẫn này giới thiệu cho bạn bộ các công cụ giám sát đã có sẵn
cho DB2® 9 và chỉ cho các bạn cách sử dụng mỗi công cụ để giám sát xem hệ
thống cơ sở dữ liệu của bạn hoạt động tốt (hoặc kém) như thế nào. Đây là bài thứ
tư trong loạt bảy bài hướng dẫn mà bạn có thể sử dụng để chuẩn bị kỳ thi lấy
Chứng chỉ Quản trị cơ sở dữ liệu DB2 9 cho các hệ điều hành Linux®, UNIX® và
Windows™ (Kỳ thi 731).
Trước khi bạn bắt đầu
Về loạt bài hướng dẫn này
Nếu bạn đang chuẩn bị dự kỳ thi 731 lấy chứng chỉ quản trị cơ sở dữ liệu (DBA)
DB2, bạn đã đến đúng chỗ - đây là một kiểu phòng tự học. Loạt bảy bài hướng dẫn
chuẩn bị lấy chứng chỉ DB2 này gồm các khái niệm chính mà bạn cần biết để làm
bài kiểm tra. Hãy làm bài tập ở nhà của bạn ở đây và giảm bớt căng thẳng trong
ngày thi.
Về bài hướng dẫn này
Việc tinh chỉnh và định cấu hình cho cơ sở dữ liệu DB2 có thể là một quá trình
phức tạp, đôi khi là rất khó cho các quản trị viên cơ sở dữ liệu mới vào nghề. Tuy
nhiên, có một số lượng lớn các công cụ, các hàm và các ứng dụng đi kèm với DB2
mà một khi ta làm chủ được chúng, thì nhiệm vụ này trở nên đơn giản
Hướng dẫn này được thiết kế để giới thiệu cho bạn một bộ các công cụ giám sát
sẵn có tại DB2 9 và chỉ cho các bạn cách sử dụng mỗi công cụ để giám sát xem hệ
thống cơ sở dữ liệu của bạn hoạt động tốt (hoặc kém) như thế nào. Trong hướng
dẫn này, bạn sẽ tìm hiểu xem:
 Cách trình giám sát của hệ thống cơ sở dữ liệu làm việc như thế nào
 Cách thu thập các thông tin chụp nhanh (snapshot) như thế nào
 Cách tạo ra các trình giám sát sự kiện và dữ liệu giám sát sự kiện được thu
thập như thế nào
 Cách sử dụng trình giám sát tình trạng sức khỏe máy tính và Trung tâm sức
khỏe máy tính (Health Center) như thế nào


 Các dữ liệu giải nghĩa toàn diện và dữ liệu chụp nhanh giải nghĩa khác nhau
như thế nào
 Các dữ liệu giải nghĩa toàn diện và dữ liệu chụp nhanh giải nghĩa được thu
thập như thế nào
 Cách sử dụng công cụ Giải nghĩa trực quan (Visual Explain) để xem giải
nghĩa về dữ liệu chụp nhanh
Đây là hướng dẫn thứ tư trong loạt bảy bài hướng dẫn để giúp bạn chuẩn bị kỳ thi
lấy chứng chỉ Quản trị cơ sở dữ liệu DB2 9 cho Linux, UNIX và Windows (Kỳ thi
731). Các tư liệu trong hướng dẫn này chủ yếu dành cho các mục tiêu trong phần 4
của kỳ thi, có tên "Phân tích hoạt động của DB2." Bạn có thể xem các mục tiêu
này tại địa chỉ:
Mục đích của bài hướng dẫn
Sau khi hoàn thành hướng dẫn này, bạn sẽ có thể:
 Thu giữ các hình chụp nhanh bằng cách sử dụng hàm GET SNAPSHOT
hoặc các hàm SQL
 Tạo và kích hoạt trình giám sát sự kiện
 Định cấu hình trình giám sát tình trạng sức khỏe bằng cách sử dụng Trung
tâm sức khỏe máy tính (Health Center)
 Thu giữ và phân tích các thông tin giải nghĩa / Giải nghĩa trực quan
 Nhận biết các hàm của công cụ xác định vấn đề của DB2 (ví dụ: db2pd và
db2mtrk)
Các yêu cầu cần có
Để được tham dự được kỳ thi DBA DB2 9 thì bạn đã phải vượt qua kỳ thi 730, Cơ
bản về DB2 9. Chúng tôi khuyên bạn nên xem loại bài hướng dẫn: Cơ bản về DB2
trước khi bắt đầu loạt bài hướng dẫn này.
Để giúp bạn hiểu một số tư liệu được trình bày trong hướng dẫn này, bạn phải biết
các thuật ngữ sau:
 Ngôn ngữ truy vấn có cấu trúc (SQL): Một ngôn ngữ được tiêu chuẩn
hoá dùng để định nghĩa các đối tượng và thao tác dữ liệu trong một cơ sở
dữ liệu quan hệ.

 Trình tối ưu hóa DB2: Một thành phần của trình tiền biên dịch SQL, Trình
tối ưu hoá chọn kế hoạch truy cập cho câu lệnh SQL dùng ngôn ngữ thao
tác dữ liệu bằng cách mô hình hóa các chi phí thực hiện của một số kế
hoạch truy cập có thể và chọn ra kế hoạch có chi phí ước tính tối thiểu.
Yêu cầu về hệ thống
Bạn không cần một bản sao của DB2 để hoàn thành hướng dẫn này. Tuy nhiên,
bạn sẽ học được nhiều hơn từ hướng dẫn này, nếu bạn tải về phiên bản dùng thử
miễn phí DB2 9 của IBM để làm theo bài hướng dẫn này.

Thu giữ dữ liệu chụp nhanh
Trình giám sát hệ thống cơ sở dữ liệu
Giám sát cơ sở dữ liệu là một hoạt động sống còn, hoạt động này, khi được thực
hiện thường xuyên, sẽ cung cấp các thông tin phản hồi liên tục về tình trạng sức
khỏe của một hệ thống cơ sở dữ liệu. Bởi vì giám sát cơ sở dữ liệu là một phần
không thể tách rời của công tác quản trị cơ sở dữ liệu, DB2 9 được trang bị một
tiện ích giám sát được gọi là trình giám sát hệ thống cơ sở dữ liệu. Mặc dù cái tên
"trình giám sát hệ thống cơ sở dữ liệu" hàm ý rằng chỉ có một công cụ giám sát
được cung cấp, nhưng trong thực tế trình giám sát hệ thống cơ sở dữ liệu gồm có
hai công cụ riêng biệt, có thể được sử dụng để thu giữ và trả về các thông tin giám
sát hệ thống: một trình giám sát chụp nhanh và một hoặc nhiều trình giám sát sự
kiện. Trình giám sát chụp nhanh cho phép bạn chụp một bức tranh về trạng thái
của cơ sở dữ liệu tại một thời điểm cụ thể trong khi các trình giám sát sự kiện thu
giữ và ghi lại dữ liệu khi các sự kiện cơ sở dữ liệu cụ thể xảy ra. Các thông tin thu
thập bởi cả hai công cụ này được lưu trữ trong các thực thể được gọi là các phần
tử giám sát (hoặc gọi là phần tử dữ liệu). Mỗi phần tử giám sát được sử dụng được
xác định bởi một tên duy nhất và được thiết kế để nắm giữ một loại hình thông tin
cụ thể. Các kiểu phần tử sau đây được sử dụng để lưu trữ dữ liệu giám sát:
 Bộ đếm (Counters). Bộ đếm lưu giữ tổng số lần mà các hành động hay sự
kiện đã xảy ra. Giá trị của bộ đếm tăng lên trong suốt cuộc đời của trình
giám sát, thường thì phần tử bộ đếm giám sát cho phép bắt đầu lại. Một ví

dụ về phần tử bộ đếm là tổng số câu lệnh SQL đã được thi hành đối với cơ
sở dữ liệu.
 Bộ đo (Gauges). Bộ đo lưu giữ số lần mà hành động hay sự kiện đã xảy ra
tại một thời điểm cụ thể. Khác với các giá trị của bộ đếm, các giá trị của bộ
đo có thể tăng hoặc giảm và giá trị của nó tại một thời điểm bất kỳ nào đó
thường phụ thuộc vào mức độ hoạt động của cơ sở dữ liệu. Một ví dụ về
phần tử bộ đo là số lượng các ứng dụng hiện đang được kết nối với cơ sở
dữ liệu.
 Ngấn nước (Watermarks). Ngấn nước cho biết giá trị cao nhất (tối đa)
hoặc thấp nhất (tối thiểu) của một mục kể từ khi trình giám sát bắt đầu. Một
ví dụ về phần tử ngấn nước là số lượng lớn nhất các hàng bị tác động bởi
một hoạt động cập nhật.
 Thông tin (Information). Theo như tên gọi, các phần tử thông tin cung cấp
các chi tiết mang tính chất tham khảo về tất cả các hoạt động giám sát được
thực hiện. Ví dụ về các phần tử thông tin bao gồm tên của pool đệm, tên cơ
sở dữ liệu và các bí danh, chi tiết đường dẫn, v.v
 Mốc thời gian (Timestamps). Mốc thời gian cho biết ngày giờ mà một
hoạt động hay sự kiện đã diễn ra. Các giá trị của mốc thời gian được tính
bằng số giây và phần triệu của giây đã trôi qua kể từ ngày 1 tháng Một năm
1970. Một ví dụ về phần tử mốc thời gian là ngày giờ thiết lập kết nối đầu
tiên tới cơ sở dữ liệu.
 Thời gian (Time). Các phần tử thời gian lưu vết thời lượng đã dùng để
thực hiện một hoạt động hoặc một sự kiện. Các giá trị thời gian được tính
bằng số giây và phần triệu giây đã trôi qua kể từ khi hoạt động hay sự kiện
này được bắt đầu và một số phần tử thời gian cho phép đặt bắt đầu lại. Một
ví dụ về phần tử thời gian là lượng thời gian đã được dùng để thực hiện một
hoạt động sắp xếp.
Trình giám sát của hệ thống cơ sở dữ liệu có thể sử dụng bất kỳ tổ hợp nào của các
phần tử này để thu thập dữ liệu giám sát, và một khi dữ liệu đó đã được thu thập,
thì có thể sử dụng một số phương thức để trình bày các dữ liệu lưu trữ trong mỗi

phần tử đã sử dụng; đối với cả hai, trình giám sát chụp nhanh lẫn giám sát sự kiện,
bạn có thể tùy chọn cách lưu trữ tất cả dữ liệu thu thập được, vào trong một tệp tin
hay vào các bảng cơ sở dữ liệu, xem chúng trên màn hình, hoặc xử lý chúng bằng
cách sử dụng một ứng dụng tùy chỉnh. (Trình giám sát hệ thống cơ sở dữ liệu trả
về dữ liệu giám sát cho một ứng dụng khách, sử dụng dòng dữ liệu tự mô tả. Với
ứng dụng giám sát chụp nhanh bạn gọi ra các API chụp nhanh thích hợp để chụp
nhanh dữ liệu và sau đó xử lý dòng dữ liệu được trả về; với một ứng dụng giám sát
sự kiện, bạn chuẩn bị để nhận dữ liệu được tạo ra thông qua một tệp tin hoặc một
đường ống (pipe) có đặt tên, kích hoạt trình giám sát sự kiện thích hợp và xử lý
luồng dữ liệu dưới dạng đã nhận được.)


Trình giám sát chụp nhanh
Trình giám sát chụp nhanh được thiết kế để thu thập thông tin về trạng thái của
một cá thể trình quản trị cơ sở dữ liệu DB2 và các cơ sở dữ liệu mà nó kiểm soát
tại một thời điểm cụ thể (nói cách khác là tại thời điểm thực hiện chụp nhanh).
Việc chụp nhanh là hữu ích để xác định tình trạng của một hệ thống cơ sở dữ liệu,
và khi chụp nhanh theo những khoảng thời gian đều đặn, thì chúng có thể cung
cấp cho ta các thông tin có giá trị, có thể sử dụng để quan sát các xu hướng và xác
định các khu vực có vấn đề tiềm tàng. Việc chụp nhanh có thể được thực hiện
bằng cách thi hành câu lệnh GET SNAPSHOT từ Trình xử lý dòng lệnh
(Command Line Processor - CLP) của DB2 bằng cách sử dụng các hàm bảng chụp
nhanh thích hợp trong một truy vấn, hoặc bằng cách sử dụng các giao diện lập
trình (API) giám sát chụp nhanh trong một ứng dụng C hoặc C++. Ngoài ra, có thể
đo cắt thiết kế chức năng chụp nhanh để trả về các kiểu giá trị dữ liệu giám sát cụ
thể (ví dụ: có thể định cấu hình một bản chụp nhanh chỉ để trả lại các thông tin về
pool đệm).


Các chuyển mạch của trình giám sát chụp nhanh

Thông thường thì việc thu thập các dữ liệu giám sát hệ thống đòi hỏi thêm tải công
việc xử lý. Ví dụ, để tính toán thời gian thi hành câu lệnh SQL, trình quản lý cơ sở
dữ liệu của DB2 phải gọi đến hệ điều hành để có được mốc thời gian trước và sau
khi câu lệnh SQL được thực thi. Các cuộc gọi hệ thống kiểu này có thể chi phí đắt.
Một tác động phụ khác của việc sử dụng trình giám sát hệ thống là lượng tiêu
dùng bộ nhớ tăng lên – trình quản trị cơ sở dữ liệu DB2 sử dụng bộ nhớ để lưu trữ
các dữ liệu đã thu thập được cho mọi phần tử giám sát đang được theo dõi bởi
trình giám sát hệ thống.
Để giúp giảm thiểu tải công việc tăng thêm liên quan đến việc thu thập thông tin
giám sát hệ thống này, một nhóm các chuyển mạch được gọi là các chuyển mạch
giám sát chụp nhanh có thể được sử dụng để kiểm soát những thông tin nào được
thu thập khi chụp nhanh được thực hiện; kiểu và số lượng thông tin sẽ thu thập
được xác định thông qua cách thiết lập các chuyển mạch chụp nhanh. Mỗi chuyển
mạch giám sát chụp nhanh có hai cách thiết đặt: ON (bật) và OFF (tắt). Khi
chuyển mạch giám sát chụp nhanh được đặt ở trạng thái OFF, thì các thông tin
giám sát không được thu thập cho các phần tử thuộc quyền kiểm soát của chuyển
mạch ấy. Các thông tin sẽ được thu thập nếu chuyển mạch được đặt ở trạng thái
ON. (Xin nhớ rằng một số lượng đáng kể các thông tin giám sát không nằm dưới
sự kiểm soát của các chuyển mạch và luôn luôn được thu thập, bất kể các chuyển
mạch giám sát chụp nhanh đã được thiết lập như thế nào). Bạn có thể xem các
chuyển mạch có sẵn, cùng với các mô tả về các loại thông tin thu thập được khi
từng bộ chuyển mạch được thiết lập ở trạng thái bật (ON) tại bảng 1.

Bảng 1. Các chuyển mạch giám sát chụp nhanh
Nhóm trình
giám sát
Chuyển mạch
giám sát
Tham số cấu hình c
ủa

trình quản trị cơ sở
dữ liệu
Các thông tin được
cung cấp
Pools đệm BUFFERPOOL

dft_mon_bufferpool
Số lần hoạt động của
pool đ
ệm (nói cách khác
là số lần của các hoạt
động đọc và ghi đã thực
hiện và lượng thời gian
cho từng hoạt động
đọc/ghi).
Khóa (Locks) LOCK dft_mon_lock
Số khóa đã nắm giữ và
số lần gặp phải chu kỳ
khóa chết
Sắp xếp (Sorts)

SORT dft_mon_sort
Số lượng các hoạt động
sắp xếp đã thực hiện, số
lượng heaps đã được sử
dụng, số lần tràn bộ nhớ
gặp phải và hiệu năng
sắp xếp.
Câu lệnh SQL STATEMENT dft_mon_stmt
Thời gian bắt đầu xử lý

câu l
ệnh SQL, Thời gian
kết thúc xử lý câu lệnh
SQL, và mã nhận dạng
câu lệnh SQL.
Bảng (Tables) TABLE dft_mon_table
Số lượng các hoạt động
với bảng được thực hiện
chẳng hạn như số hàng
đã được đọc, số hàng đã
được viết, vv
Mốc thời gian
(Timestamps)
TIMESTAMP dft_mon_timestamp
Thông tin về thời gian
và mốc thời gian.
Giao dịch
(Transactions)
UOW dft_mon_uow
Thời gian bắt đầu giao
dịch, thời gian kết thúc
giao dịch lần và trạng
thái hoàn tất giao dịch.

Theo mặc định, tất cả các chuyển mạch tại bảng 1 được đặt ở trạng thái tắt (OFF),
ngoại trừ chuyển mạch TIMESTAMP (mốc thời gian), được thiết lập ở trạng thái
bật (ON) và được khởi tạo khi cá thể khởi chạy lần đầu tiên.


Xem các thiết đặt của các chuyển mạch giám sát chụp nhanh hiện tại

Như đã đề cập ở phần trước thì kiểu và số lượng thông tin được thu thập khi thực
hiện một bản chụp nhanh sẽ được kiểm soát, trong một chừng mực nào đó, tùy
theo cách các chuyển mạch chụp nhanh đã được thiết lập như thế nào. Trước khi
bạn chụp nhanh cơ sở dữ liệu, thì điều quan trọng là bạn phải biết được chuyển
mạch chụp nhanh nào đã được bật và chuyển mạch chụp nhanh nào vẫn tắt. Làm
thế nào để bạn có thể biết được các thiết lập hiện tại của mỗi chuyển mạch chụp
nhanh là gì ? Cách đơn giản nhất là thi hành câu lệnh GET MONITOR
SWITCHES từ trong CLP. Cú pháp cơ bản cho lệnh này là:
GET MONITOR SWITCHES <AT DBPARTITIONNUM [PartitionNum]>
ở đây tham số PartitonNum xác định phân đoạn của cơ sở dữ liệu (trong môi
trường cơ sở dữ liệu nhiều phân đoạn) nơi trạng thái của các chuyển mạch giám
sát chụp nhanh có sẵn sẽ được lấy ra và được hiển thị.
Lưu ý: Các tham số hiển thị trong dấu ngoặc nhọn (< >) là tùy chọn, các tham số
hoặc tùy chọn được hiển thị trong dấu ngoặc vuông ([ ]) là bắt buộc; và dấu phẩy
kèm theo dấu ba chấm ( ) biểu thị rằng các tham số trước đó có thể được lặp lại
nhiều lần.
Nếu bạn muốn nhận được và hiển thị trạng thái của các chuyển mạch giám sát
chụp nhanh cho một cơ sở dữ liệu một phân đoạn, bạn có thể làm điểu này bằng
cách thi hành lệnh GET MONITOR SWITCHES như sau:
GET MONITOR SWITCHES

Khi lệnh này được thi hành từ CLP, thì bạn sẽ thấy một kết quả đầu ra như ở hình
bên dưới.

Kết quả đầu ra của lệnh GET MONITOR SWITCHES

Monitor Recording Switches
Switch list for db partition number 0
Buffer Pool Activity Information (BUFFERPOOL) = OFF
Lock Information (LOCK) = OFF

Sorting Information (SORT) = OFF
SQL Statement Information (STATEMENT) = OFF
Table Activity Information (TABLE) = OFF
Take Timestamp Information (TIMESTAMP) = ON 06-12-2006
10:30:00.028810
Unit of Work Information (UOW) = OFF


Khi xem xét chi tiết hơn kết quả này, bạn nhận thấy rằng chuyển mạch giám sát
chụp nhanh mốc thời gian TIMESTAMP đã được bật và tất cả các chuyển mạch
khác đang bị tắt. Giá trị của mốc thời gian tiếp ngay sau trạng thái của chuyển
mạch giám sát TIMESTAMP cho bạn biết chính xác ngày tháng và thời giờ mà
chuyển mạch giám sát mốc thời gian đã được bật lên (trong trường hợp này giá trị
đó là ngày 12 tháng 6 năm 2006, lúc 10:30 sáng).


Thay đổi trạng thái của một chuyển mạch giám sát chụp nhanh
Một khi bạn biết được những chuyển mạch giám sát chụp nhanh nào đã được bật
lên và những chuyển mạch giám sát chụp nhanh nào đang ở trạng thái tắt, thì bạn
có thể sẽ cần thay đổi một hoặc nhiều thiết đặt các chuyển mạch trước khi bạn bắt
đầu quá trình giám sát. Các thiết đặt chuyển mạch giám sát chụp nhanh có thể
được thay đổi ở mức cá thể trình quản trị cơ sở dữ liệu bằng cách sửa đổi các tham
số cấu hình thích hợp của trình quản trị cơ sở dữ liệu DB2 (xem bảng 1) với lệnh
UPDATE DATABASE MANAGER CONFIGURATION.
Mặt khác, các thiết đặt chuyển mạch giám sát chụp nhanh có thể được thay đổi ở
mức ứng dụng bằng cách thi hành lệnh UPDATE MONITOR SWITCHES. Cú
pháp cơ bản cho lệnh này là:
UPDATE MONITOR SWITCHES USING [[SwitchID] ON | OFF , ]
ở đây tham số SwitchID xác định một hay nhiều chuyển mạch giám sát chụp
nhanh mà trạng thái phải được thay đổi. Tham số này có thể chứa bất kỳ hoặc tất

cả các giá trị sau: BUFFERPOOL, LOCK, SORT, STATEMENT, TABLE,
TIMESTAMP và UOW.
Nếu bạn muốn thay đổi trạng thái của chuyển mạch giám sát chụp nhanh LOCK
sang ON ở mức ứng dụng, bạn có thể làm điều này bằng cách thi hành lệnh
UPDATE MONITOR SWITCHES như sau:
UPDATE MONITOR SWITCHES USING LOCKS ON
Tương tự, nếu bạn muốn thay đổi trạng thái của chuyển mạch giám sát chụp nhanh
BUFFERPOOL sang OFF, bạn có thể làm điều này bằng cách thi hành lệnh
UPDATE MONITOR SWITCHES như sau:
UPDATE MONITOR SWITCHES USING BUFFERPOOL OFF
Việc thiết đặt các chuyển mạch giám sát chụp nhanh ở mức cá thể trình quản trị cơ
sở dữ liệu (sử dụng lệnh UPDATE DATABASE MANAGER
CONFIGURATION) sẽ ảnh hưởng đến tất cả các cơ sở dữ liệu dưới sự kiểm soát
của cá thể ấy (nói cách khác, mọi ứng dụng thiết lập một kết nối đến cơ sở dữ liệu
dưới sự kiểm soát của cá thể này sẽ kế thừa các thiết đặt chuyển mạch đã thực hiện
trong cấu hình của cá thể đó). Hơn nữa, các thiết đặt của chuyển mạch được thực
hiện ở mức cá thể vẫn tiếp tục còn lại thường trực khi cá thể khởi động lại.
Việc thiết đặt các chuyển mạch giám sát ở mức ứng dụng (bằng cách sử dụng lệnh
UPDATE MONITOR SWITCHES) chỉ ảnh hưởng đến cơ sở dữ liệu mà ứng dụng
đơn lẻ này tương tác với nó. Ngoài ra, các thiết đặt cho chuyển mạch chỉ có tác
dụng trong thời gian sống của ứng dụng đó.


Thu giữ dữ liệu giám sát chụp nhanh
Ngay sau khi cơ sở dữ liệu được kích hoạt hoặc kết nối đến cơ sở dữ liệu được
thiết lập, trình giám sát chụp nhanh bắt đầu thu thập dữ liệu giám sát. Tuy nhiên,
phải thực hiện một cú chụp nhanh trước khi có thể xem được bất kỳ dữ liệu nào đã
thu thập. (Về bản chất, hình chụp nhanh là hình ảnh những gì thể hiện các phần tử
giám sát đang sử dụng, tại một thời điểm cụ thể). Có thể thực hiện chụp nhanh
bằng cách nhúng API db2GetSnapshot() vào một chương trình ứng dụng, hoặc

bằng cách thi hành lệnh GET SNAPSHOT Cú pháp cơ bản cho lệnh này là:
GET SNAPSHOT FOR
[DATABASE MANAGER | DB MANAGER | DBM] |
ALL DATABASES |
ALL APPLICATIONS |
ALL BUFFERPOOLS |
ALL REMOTE_DATABASES |
ALL REMOTE_APPLICATIONS |
ALL ON [DatabaseAlias] |
DATABASE ON [DatabaseAlias] |
APPLICATIONS ON [DatabaseAlias] |
TABLES ON [DatabaseAlias] |
TABLESPACES ON [DatabaseAlias] |
LOCKS ON [DatabaseAlias] |
BUFFERPOOLS ON [DatabaseAlias] |
DYNAMIC SQL ON [DatabaseAlias]

ở đây tham số DatabaseAlias xác định bí danh đã gán cho cơ sở dữ liệu mà các
thông tin giám sát chụp nhanh sẽ được thu thập cho cơ sở dữ liệu đó.
Nếu bạn muốn có một hình chụp nhanh chỉ chứa dữ liệu thu thập về các khóa đang
được nắm giữ bởi các ứng dụng tương tác với cơ sở dữ liệu có tên là PAYROLL,
bạn có thể làm điều này bằng cách thi hành lệnh sau:
GET SNAPSHOT FOR LOCKS ON PAYROLL

Kết quả đầu ra của lệnh này sẽ trông giống như hình bên dưới. (Lưu ý rằng đây là
một ví dụ đơn giản. Tình huống giám sát thực tế thường tạo ra một số lượng lớn
dữ liệu )

Ví dụ kết quả đầu ra của lệnh GET SNAPSHOT


Database Lock Snapshot

Database name = PAYROLL
Database path = C:\DB2\NODE0000\SQL00002\
Input database alias = PAYROLL
Locks held = 2
Applications currently connected = 1
Agents currently waiting on locks = 0
Snapshot timestamp = 06-12-2004 08:39:40.750316

Application handle = 8
Application ID = *LOCAL.DB2.00E286133931
Sequence number = 0001
Application name = db2bp.exe
CONNECT Authorization ID = DB2ADMIN
Application status = UOW Waiting
Status change time = Not Collected
Application code page = 1252
Locks held = 2
Total wait time (ms) = Not Collected

List Of Locks
Lock Name = 0x94928D848F9F949E7B89505241
Lock Attributes = 0x00000000
Release Flags = 0x40000000
Lock Count = 1
Hold Count = 0
Lock Object Name = 0
Object Type = Internal P Lock
Mode = S


Lock Name = 0x96A09A989DA09A7D8E8A6C7441
Lock Attributes = 0x00000000
Release Flags = 0x40000000
Lock Count = 1
Hold Count = 0
Lock Object Name = 0
Object Type = Internal P Lock
Mode = S

Như bạn thấy, câu lệnh GET SNAPSHOT có thể được dùng để thu giữ nhiều kiểu
dữ liệu giám sát khác nhau, bao gồm:
 Dữ liệu của cá thể trình quàn lý cơ sở dữ liệu của DB2
 Dữ liệu của cơ sở dữ liệu cho tất cả các cơ sở dữ liệu đang hoạt động dưới
sự kiểm soát của cá thể ấy
 Dữ liệu ứng dụng
 Dữ liệu về hoạt động của pool đệm
 Dữ liệu về vùng bảng
 Dữ liệu bảng
 Dữ liệu về khóa (thông tin về tất cả các khóa đang bị giữ)
 Dữ liệu về SQL động (thông tin tại đúng thời điểm về câu lệnh SQL được
giữ tại bộ nhớ cache của câu lệnh SQL)
Bạn cũng có thể nhận thấy rằng có một sự tương quan trực tiếp giữa các chuyển
mạch giám sát chụp nhanh sẵn có và các kiểu dữ liệu giám sát khác nhau có thể
được thu thập khi một hình chụp nhanh được thực hiện. Nếu một chuyển mạch
giám sát chụp nhanh cụ thể bị tắt đi và ảnh chụp nhanh các phần tử giám sát kết
hợp với chuyển mạch đó được thực hiện, thì các dữ liệu giám sát thu được sẽ
không có bất kỳ giá trị nào cả. (Trong ví dụ trước, một số giá trị được hiển thị với
thông báo: Không thu thập được (Not Collected) vì chuyển mạch giám sát chụp
nhanh tương ứng ở trạng thái tắt (OFF). Hơn nữa, nếu không có khóa nào được

nắm giữ tại thời điểm thực hiện chụp nhanh, thì giá trị cho khóa đó là 0 và danh
sách hiển thị các thông tin về khóa sẽ không được sinh ra.)


Thu giữ dữ liệu giám sát chụp nhanh bằng cách sử dụng SQL
Với các phiên bản trước của cơ sở dữ liệu phổ quát (UDB) DB2, cách duy nhất để
thu giữ dữ liệu giám sát chụp nhanh là thi hành lệnh GET SNAPSHOT hoặc gọi
API tương ứng của nó từ trong một chương trình ứng dụng. Với DB2 phiên bản
8.1, thì khả năng thu giữ dữ liệu của trình giám sát chụp nhanh bằng cách xây
dựng một truy vấn đã được đưa vào thêm. Phương pháp này dựa trên hai mươi
hàm bảng đặc biệt để giám sát chụp nhanh, các hàm này đã trở nên lỗi thời, bị loại
trong phiên bản 9.1. Bây giờ, dữ liệu giám sát chụp nhanh có thể thu được bằng
cách sử dụng một tập hợp mới các thường trình (routines) SQL để truy cập dữ liệu
được lưu giữ trong các khung nhìn quản trị đặc biệt. Các thường trình và các
khung nhìn này được mô tả trong bảng 2.

Bảng 2. Các khung nhìn quản trị và các thường trình SQL quản trị về chụp
nhanh
Khung nhìn quản trị Thường trình Mô tả
APPLICATIONS N/A
Khung nhìn quản trị
này ch
ứa thông tin về
các ứng dụng đã kết
nối cơ sở dữ liệu
APPL_PERFORMANCE N/A
Khung nhìn quản trị
này ch
ứa thông tin về
tỷ lệ số các hàng đư

ợc
chọn so với số các
hàng mà ứng dụng đ
ã
đọc ra
BP_HITRATIO N/A
Khung nhìn quản trị
này ch
ứa thông tin về
các ứng dụng đã kết
nối cơ sở dữ liệu
BP_READ_IO N/A
Khung nhìn quản trị
này ch
ứa thông tin về
thực hiện đọc pool
đệm
BP_WRITE_IO N/A
Khung nhìn quản trị
này ch
ứa thông tin về
thực hiện viết v
ào pool
đệm
CONTAINER_UTILIZATION N/A
Khung nhìn quản trị
này ch
ứa thông tin về
thùng chứa vùng b
ảng

và tỷ lệ sử dụng
LOCKS_HELD N/A
Khung nhìn quản trị
này ch
ứa thông tin về
các khóa đang được
nắm giữ
LOCKWAITS N/A
Khung nhìn quản trị
này ch
ứa thông tin về
các khóa đang đợi
được cấp
LOG_UTILIZATION N/A
Khung nhìn quản trị
này ch
ứa thông tin về
nhật ký sử dụng của c
ơ
sở dữ liệu đã kết nối
LONG_RUNNING_SQL N/A
Khung nhìn quản trị
này ch
ứa thông tin về
các câu l
ệnh SQL chạy
lâu nhất trong cơ s
ở dữ
liệu hiện tại đã k
ết nối.

QUERY_PREP_COST N/A
Khung nhìn quản trị
này chứa danh sách
các câu lệnh SQL c
ùng
v
ới thời gian cần thiết
để chuẩn bị mỗi câu
lệnh
N/A SNAP_WRITE_FILE
Thủ tục này ghi d
ữ liệu
chụp nhanh hệ thống
vào một tệp tin trong
thư mục con tmp của
cá thể trình quản trị c
ơ
sở dữ liệu.
SNAPAGENT SNAP_GET_AGENT
Khung nhìn quản trị v
à
hàm b
ảng trả về thông
tin v
ề các tác tử từ một
hình chụp nhanh ứng
dụng, đặc biệt là về
nhóm d
ữ liệu lôgic của
tác tử.

SNAPAGENT_MEMORY_POOL

SNAP_GET_AGENT_MEMORY_POOL

Khung nhìn quản trị v
à
hàm b
ảng trả về thông
tin v
ề việc sử dụng bộ
nhớ tại mức tác tử
SNAPAPPL SNAP_GET_APPL
Khung nhìn quản trị v
à
hàm bảng trả về các
thông tin v
ề ứng dụng
từ hình chụp nhanh
ứng dụng, đặc biệt là
v
ề nhóm dữ liệu lôgic
appl
SNAPAPPL_INFO SNAP_GET_APPL_INFO
Khung nhìn quản trị v
à
hàm bảng trả về các
thông tin v
ề ứng dụng
từ hình chụp nhanh
ứng dụng, đặc biệt là

v
ề nhóm dữ liệu lôgic
appl_info
SNAPBP SNAP_GET_BP
Khung nhìn quản trị v
à
hàm bảng trả về các
thông tin về các pool
đệm, đặc biệt là về
nhóm dữ liệu lôgic
bufferpool.
SNAPBP_PART SNAP_GET_BP_PART
Khung nhìn quản trị v
à
hàm bảng trả về các
thông tin về các pool
đệm, từ một hình ch
ụp
nhanh bufferpool, đ
ặc
biệt là v
ề nhóm dữ liệu
lôgic
bufferpool_nodeinfo.

SNAPCONTAINER SNAP_GET_CONTAINER_V91
Khung nhìn quản trị v
à
hàm bảng trả về các
thông tin về hình ch

ụp
nhanh vùng bảng từ
nhóm dữ liệu lôgic
tablespace_container

SNAPDB SNAP_GET_DB_V91
Khung nhìn quản trị v
à
hàm bảng trả về các
thông tin hình chụp
nhanh từ cơ s
ở dữ liệu
(dbase) và gộp nhóm
lôgic lưu trữ cơ s
ở dữ
li
ệu(db_storage_group)
SNAPDB_MEMORY_POOL SNAP_GET_DB_MEMORY_POOL
Khung nhìn quản trị v
à
hàm bảng trả về các
thông tin về sử dụng
bộ nhớ tại mức cơ sở
dữ liệu chỉ riêng cho
h
ệ thống nền UNIX(R)
SNAPDBM SNAP_GET_DMB
Khung nhìn quản trị v
à
hàm bảng trả về các

thông tin gộp nhóm
lôgic của trình qu
ản lý
cơ sở dữ liệu DB2
(dbm) của trình giám
sát chụp hình.
SNAPDBM_MEMORY_POOL SNAP_GET_DBM_MEMORY_POOL
Khung nhìn quản trị v
à
hàm bảng trả về các
thông tin về sử dụng
bộ nhớ tại mức trình
quản lý cơ sở dữ liệu

SNAPDETAILLOG SNAP_GET_DETAILLOG_V91
Khung nhìn quản trị v
à
hàm bảng trả về các

×