3.3.1. Cài đặt hệ quản trị CSDL và agent để theo dõi
Dưới đây là các hình ảnh thể hiện kết quả quá trình thực hiện cài đặt và giám sát bằng Oracle Cloud Control: [5]
– Download Oracle 12c: Oracle cho phép download miễn phí. Chúng ta có thể vào trang chủ của Oracle để download phần mềm (tương ứng 32 hay 64 bit):
Hình 3.7: Tải về Oracle Database 12c
Hình 3.8: Các file đã tải về
– Cài đặt Oracle 12c trên Windows
Hình 3.9: Cài đặt trên Windows
– Chúng ta sẽ cài cả phần mềm Oracle và tạo một Database có tên db12c (hay SID = db12c).
– Cài đặt một database:
Hình 3.11: Các bước cài Oracle Database 12c
– Oracle sẽ được cài đặt vào 1 user của Windows, mà user này phải không có quyền Administrator, vì lý do bảo mật. Chúng ta tạo mới một Windows user.
Hình 3.12: Tạo mới một Windows user
– Bước này, bộ cài đặt hỏi có tạo Plugin hay không, hãy chọn: Create as Container Database. Nhập vào tên Plugin Database: pdbdb12c
Hình 3.13: Cài đặt plugin
– Thiết lập bộ nhớ (nên chọn Automatic):
Hình 3.14: Thiết lập bộ nhớ
– Để có thể lưu trữ được nhiều loại ngôn ngữ (bao gồm cả tiếng Việt), chúng ta nên chọn: Character Set: Unicode (AL32UTF8)
Hình 3.15: Thiết lập bộ mã hóa
– Oracle có một vài user quản trị hệ thống (sys, system, ...) cần phải đặt mật khẩu. Chúng ta có thể thiết đặt tất cả các user này cùng một mật khẩu.
Hình 3.16: Thiết lập mật khẩu cho user
Và chờ đợi cho tới khi việc cài đặt thành công.
– Sau khi cài đặt thành công EM12c, bước tiếp theo chúng ta cần thực hiện là deploy agent lên database server để monitor.
Có nhiều cách để deploy agent. Ở đây chúng ta sẽ thực hiện deploy trực tiếp từ EM12c.
+ Đăng nhập vào EM12c, sau đó chọn Setup -> Add Target -> Add Targets Manually
Hình 3.17: Deploy từ EM12C
+ Chọn Add Host Targets -> Add Host…
Hình 3.18: Add Host Targets -> Add Host
Hình 3.19: Điền hostname/IP, chọn platform
+ Ở phần Named Credential phía dưới, chúng ta tạo mới 1 Named Credential với thông tin là user và password trên OS (oracle). Đặt tên ORACLE_LINUX để dễ phân biệt:
Hình 3.20: Tạo mới Named Credential
+ Điền thư mục cài đặt agent trên server database (/u01/app/oracle/agent), hệ thống tự tạo Instance Directory theo thư mục cài đặt.
+ Để deploy agent monitor database server, cần mở port giữa 2 hệ thống như sau:
–> Mở port 22, 3872, 1521 trên database server cho server EM12c kết nối (port 22 để deploy agent, 3872 để EM12c kết nối với agent, 1521 để EM12c truy cập và monitor database instance)
–> Mở port 4903 trên server EM12c cho database server kết nối (để agent dưới target upload thông tin lên)
Hình 3.21: Mở port giữa 2 hệ thống
–> Next. Review lại thông tin. Sau đó chọn Deploy Agent
Hình 3.22: Deploy Agent
+ Quá trình deploy diễn ra. Nếu có lỗi có thể xem thông tin, fix lại và chọn Retry:
– Credential chúng ta nhập là user oracle. Do đó khi deploy xong, chúng ta phải chạy script root.sh trong thư mục /u01/app/oracle/agent/core/12.1.0.5.0/ theo yêu cầu
Hình 3.24: Chạy script root.sh
– Nhấn Done để hoàn tất deploy agent lên host.
– Quay lại trang Add Targets Manually, chọn Add Targets Using Guided Process. Target Types chọn là Oracle Database, Listener & ASM:
Hình 3.25: Add Targets Using Guided Process
– Nhập tên server chúng ta vừa deploy agent rồi Next
– EM12c sẽ tìm ra các đối tượng đang chạy trên server. Ở đây tìm ra database instance và listener của dbtest của mình. Nhập password cho user dbsnmp, đánh dấu check chọn 2 đối tượng trên rồi Next:
Hình 3.27: EM12 tìm ra các đối tượng đang chạy trên server
– Review lại thông tin và add vào hệ thống EM12c
Hình 3.28: Review lại thông tin và add vào hệ thống EM12c
Hình 3.29: Kết quả deploy agent
3.3.2. Kết quả thực hiện tại Tập đoàn VNPT
Thông qua quá trình cài đặt, cấu hình, chạy thử nghiệm, học viên đã thu được một số kết quả như sau:
– Giao diện giám sát các sự cố (Incident Manager):
Hình 3.30: Giao diện giám sát các sự cố (Incident Manager)
Trong cửa sổ chính, các cảnh báo được liệt kê dưới dạng danh sách trực quan.
+ Cột Severity: phân loại các cảnh báo theo mức độ nghiêm trọng, được thể hiện bởi các biểu tượng trực quan gồm Information, Warning, High, Critical.
+ Cột Summary: mô tả một cách tóm tắt nội dung của cảnh báo. + Cột Target: chỉ ra cơ sở dữ liệu bị sự cố.
+ Cột Priority: mô tả độ ưu tiên xử lý cảnh báo.
+ Cột Status: thể hiện trạng thái của cảnh báo, mới phát sinh hay đã được xử lý.
+ Cột Last Update: thể hiện lần cuối cùng trạng thái cảnh báo được cập nhật. + Cột Owner: người chủ trì sự cố.
+ Cột Acknowledged: cho biết sự cố đã được biết đến trước đó hay chưa. + Cột Escalated: cho biết sự cố có được chuyển lên cấp cao hơn xử lí
hay không
Khi người quản trị chọn một cảnh báo, thông tin chi tiết về cảnh báo sẽ được hiển thị ở cửa sổ bên dưới, cho phép người quản trị có thêm thông tin để trực tiếp xử lý sự cố, hoặc có thể chuyển tiếp cho cấp xử lý cao hơn. Cửa sổ “Tracking” cho phép người quản trị có thể theo dõi trạng thái xử lý của cảnh báo.
– Danh sách các cơ sở dữ liệu được giám sát:
Màn hình này liệt kê danh sách của tất cả các cơ sở dữ liệu được giám sát, cùng với trạng thái, số sự cố của từng cơ sở dữ liệu.
Cửa sổ trong hình 3.31 là màn hình quản lý các cơ sở dữ liệu được theo dõi, giám sát. Trong màn hình này, người quản trị có thể thêm, sửa, xóa các cơ sở dữ liệu vào danh sách cần giám sát.
Sau khi cơ sở dữ liệu được thêm thành công, thông qua màn hình này, người quản trị có thể nhìn tổng quan trạng thái của các cơ sở dữ liệu trên bảng theo dõi:
+ Cột Name: Tên cơ sở dữ liệu được giám sát. + Cột Type: Phân loại cơ sở dữ liệu.
+ Cột Status: Trạng thái của cơ sở dữ liệu.
+ Cột Target Version: Phiên bản của cơ sở dữ liệu.
+ Cột Incidents: Thống kê, phân loại số lượng các cảnh báo trên mỗi cơ sở dữ liệu.
+ Cột Member Status Summary: Xem tóm tắt trạng thái các bảng thành viên trong cơ sở dữ liệu.
– Giám sát một cơ sở dữ liệu cụ thể:
Hình 3.32: Giám sát một cơ sở dữ liệu cụ thể
Đây là màn hình giám sát thông tin chi tiết của một cơ sở dữ liệu, bao gồm các bảng thông tin chính như sau:
+ Bảng Summary: Mô tả tóm tắt trạng thái hệ thống, bao gồm các thông tin như thời gian Uptime, phiên bản cơ sở dữ liệu, tải, lần cuối cùng cơ sở dữ liệu được backup…
+ Bảng Performance: Biểu đồ miền mô tả hiệu năng hệ thống.
+ Bảng Resource: Các biểu đồ trực quan giám sát tài nguyên hệ thống như CPU, các Session đang active, Ram.
– Giám sát hiệu năng (Performance) trong thời gian thực:
Hình 3.33: Giám sát hiệu năng (Performance) trong thời gian thực
Đây là màn hình giám sát hiệu năng chuyên sâu của cơ sở dữ liệu, được phân tích theo nhiều tiêu chí. Được sử dụng để theo dõi trong thời gian thực, hoặc cũng có thể xem được dữ liệu lịch sử. Trong cửa sổ có 3 biểu đồ chính:
+ Biểu đồ Cluster Host Load Average: Giám sát tải CPU trung bình trên các Cluster của cơ sở dữ liệu. Biểu đồ thể hiện việc cân bằng tải giữa các CPU trong hệ thống cơ sở dữ liệu. Nếu trung bình tải cao hơn mức trung bình của tổng các CPU trong hệ thống thì có nghĩa là quá nhiều tiến trình đang đợi tài nguyên CPU. Các câu lệnh truy vấn không được tối ưu có thể gây ra tải cao trên các CPU.
+ Biểu đồ Global Cache Block Access Latency: Thể hiện thời gian trễ khi truy xuất một khối dữ liệu trong cơ sở dữ liệu.
+ Biểu đồ Active Sessions: Phân lớp các tiến trình tiêu thụ tài nguyên trong cơ sở dữ liệu và theo dõi thời gian chờ tài nguyên của chúng. Từ đó, người quản trị có thể tối ưu cơ sở dữ liệu một cách dễ dàng hơn.
Để làm rõ những ưu điểm, đóng góp của Oracle Cloud Control đối với việc giám sát các hệ thống công nghệ thông tin tại Tập đoàn VNPT, chúng ta sẽ so sánh nó với các công cụ giám sát hiện có
– So sánh với PRTG:
Bảng 3.1: So sánh Oracle Cloud Control và PRTG
Oracle Cloud Control PRTG
Ưu điểm
– Oracle Cloud Control không chỉ là công cụ theo dõi, giám sát đơn thuần, mà còn là công cụ quản trị tập trung.
– Với ASH Analytics, ADDM, Giám sát SQL theo thời gian thực, Hỗ trợ tối ưu SQL, chúng ta có thể đo lường theo cam kết SLA, phát hiện vấn đề gây ảnh hưởng hiệu năng, thực hiện chẩn đoán sâu tới từng cấp cụ thể, từ đó điều chỉnh ứng dụng và khắc phục.
– Nhiều công cụ chuyên sâu chỉ có duy nhất trên Oracle Cloud Control.
– Là công cụ cho phép quản trị hệ thống nằm trên điện toán đám mây, hoặc nằm tại trung tâm dữ liệu của doanh nghiệp. – Giao diện dễ sử dụng, ngay cả đối với quản trị viên cấp thấp
– Là công cụ giám sát đơn giản, dễ sử dụng.
– Có thể được sử dụng trên nhiều thiết bị (PC, mobile), ở mọi nơi, chỉ cần có kết nối mạng.
– Là công cụ giám sát có khả năng thu thập được nhiều thông tin chi tiết về các thiết bị mạng, traffic mạng.
Hạn chế
– Phần lớn được viết trên nền tảng Java nên tốn tài nguyên. Tốc độ không thật sự nhanh.
– Không có ứng dụng trên mobile. – Phần báo cáo vẫn phụ thuộc phần lớn vào khả năng tùy biến của người quản trị. – Phần hỗ trợ cập nhật các bản vá còn chậm, khó sử dụng.
– Không hỗ trợ những CSDL Oracle dưới phiên bản 10G.
– Không hỗ trợ CSDL của nhiều hãng khác
– Không hỗ trợ tốt cho sản phẩm Oracle GoldenGate
– Không cho phép quản trị viên tác động vào hệ thống, chỉ là công cụ giám sát, cảnh báo. – Không theo dõi, giám sát được trải nghiệm của người dùng.
– Phần tùy biến các sensor yêu cầu kĩ năng lập trình, hoặc cần được hỗ trợ bởi Paessler AG. – Ứng dụng trên mobile không nhanh và mượt như trên ứng dụng web.
Giá cả
– Các tính năng cơ bản đều được miễn phí
– Bắt đầu áp dụng tính phí đối với những tính năng cao cấp, chuyên sâu hơn. – Nói chung, giá thành các sản phẩm của Oracle đều khá cao.
– Cách thức tính license khá phức tạp. – Việc thiết lập các phương án đảm bảo tính sẵn sàng cao thì tương đối phức tạp. – Mất phí khi mở yêu cầu hỗ trợ
– Cách thức tính license đơn giản, hợp lý. Một lần thanh toán cho tất cả tính năng. – Số lượng sensor miễn phí là có giới hạn.
– So sánh Oracle Enterprise Manager 11g và Oracle Cloud Control 12c:
Bảng 3.2: So sánh Oracle Enterprise Manager 11g và Oracle Cloud Control 12c
Oracle 11G Oracle 12C Lập chỉ mục: Người dùng chỉ có thể
tạo một chỉ mục trên một cột. Tính năng chỉ mục Invisible đã được triển khai trong Oracle 11G.
Lập chỉ mục: Người dùng có thể tạo nhiều hơn một chỉ mục trên cùng một cột. Chỉ có thể sử dụng một loại chỉ mục trên cột cùng một lúc.
Các hàm mới được thêm vào: Hàm mới được thêm vào không xem xét việc điều chỉnh hiệu suất của dữ liệu. Các hàm mới được thêm vào trong oracle 11G là các hàm LISTAGG và
Nth_value.
Các chức năng mới được thêm
vào: Oracle 12C đã thêm tính năng mới approx_count_distinct (), cung cấp tính tổng hợp gần đúng.
Caching trong Oracle 11G: Bộ nhớ cache trong Oracle 11G truy vấn song song không hoạt động tốt với nhiều lần quét cho bộ nhớ cache.
Bộ đệm ẩn cơ sở dữ liệu đầy đủ không được triển khai trong Oracle 11G.
Caching trong Oracle 12C: Cơ chế cache mới được gọi là bộ nhớ cache bảng lớn được sử dụng để cải thiện hiệu năng cho việc quét toàn bộ bảng. Oracle 12C cung cấp tính năng của bộ đệm ẩn cơ sở dữ liệu đầy đủ để cải thiện các lợi ích hiệu suất đáng kể đặc biệt là đối với khối lượng công việc trước đó sẽ bị giới hạn bởi thông lượng I / O hoặc thời gian phản hồi.
Trong bảng bộ nhớ:
Oracle 11G hỗ trợ khái niệm về các bảng trong bộ nhớ, sẽ được sử dụng để cải thiện toàn bộ các lần quét bảng. Người dùng cần đặt bảng vào bộ nhớ để người dùng có thể truy cập dữ liệu nhanh.
Oracle 11G không hỗ trợ khái niệm kết hợp Bộ nhớ Trong.
Trong tập hợp bộ nhớ:
Oracle 12C hỗ trợ khái niệm kết hợp Bộ nhớ Trong rất hữu ích trong các truy vấn dấu sao.
Phân vùng bảng và chuyển động phân nhóm: Để di chuyển phân vùng và phân vùng con từ một vùng bảng sang người dùng vùng bảng khác cần phải viết logic thủ tục phức tạp.
Phân vùng bảng và chuyển động phân nhóm: Để di chuyển phân vùng bảng và phân vùng oracle 12c sử dụng 2
phương thức một là với từ khóa trực tuyến và thứ hai là phương thức ngoại tuyến.
Cột vô hình: Trong Oracle 11g, một vài cải tiến tốt được giới thiệu dưới hình thức các chỉ số vô hình và các cột ảo. Cột vô hình chưa được giới thiệu trong oracle 11g.
Cột ẩn: Trong Oracle 12c R1, Người dùng có thể xác định các cột ẩn trong bảng. Khi cột được định nghĩa là cột ẩn, nó sẽ không có trong truy vấn chung. Nó được đề cập rõ ràng đến câu lệnh SQL hoặc điều kiện trong câu lệnh SQL.
– So sánh Oracle Enterprise Manager 11g và Oracle Cloud Control 12c:
Bảng 3.3: So sánh Oracle Enterprise Manager 11g và Oracle Cloud Control 12c
MS SQL Server Oracle
Sử dụng T-SQL Sử dụng PL/SQL
Thuộc Microsoft Corporation Thuộc Oracle Corporation Cú pháp đơn giản và dễ hiểu Cú pháp phức tạp hơn một chút Hiển thị thông báo lỗi ở một định dạng
xác định trước
Hiển thị thông báo lỗi rõ ràng hơn Lỗi giao dịch yêu cầu dữ liệu được sửa
đổi trở lại bản gốc trước khi thực hiện quá trình ghi
Quá trình xử lý đơn giản hơn nhiều vì các thay đổi được thực hiện trên một bản sao
Các giá trị thay đổi trước khi nhận lệnh Commit
Các giá trị không đổi trước khi nhận lệnh Commit
Sử dụng tính năng chặn trang và không cho phép đọc trong quá trình chặn trang
Sử dụng bản sao của hồ sơ trong quá trình chỉnh sửa và cho phép đọc dữ liệu gốc trong quá trình chỉnh sửa
Roll Back không được cho phép trong một giao dịch
Hỗ trợ khách hàng tốt Hỗ trợ khách hàng tốt nhưng kỹ thuật viên không có nhiều kinh nghiệm Chỉ chạy trên nền tảng Windows Chạy trên nhiều nền tảng khác nhau Khóa các trang cùng kích thước Kích thước khóa thay đổi theo nhu cầu Sử dụng Global memory allocation và
ít xâm nhập DBA. Do đó tỉ lệ lỗi người dùng thấp
Sử dụng Dynamic memory allocation và xâm nhập DBA nhiều hơn. Do đó tỉ lệ lỗi người dùng cao hơn
Không sử dụng Bitmap, các chỉ số dựa trên chức năng và key reverse
Sử dụng Bitmap, các chỉ số dựa trên chức năng và key reverse
Tối ưu hóa truy vấn bị thiếu Sử dụng tối ưu hóa truy vấn Star Cho phép triggers và sử dụng After
triggers
Sử dụng cả After và Before triggers Sử dụng liên kết máy chủ để đọc và ghi
các file bên ngoài
Sử dụng Java
Giao diện người dùng đơn giản Giao diện phức tạp hơn Phù hợp với các dữ liệu nhỏ Phù hợp với các dữ liệu lớn
Qua đây, chúng ta có thể thấy so với các phần mềm đã có, Oracle Cloud Control 12c đã giải quyết được các vấn đề sau: