Hiển thị các bài đăng có nhãn Performance Tunning. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Performance Tunning. Hiển thị tất cả bài đăng

Thứ Hai, 8 tháng 9, 2025

Bàn việc giám sát và đảm bảo hiệu suất hoạt động của CSDL Oracle

Monitoring and Tuning Database Performance trong Oracle Database là quá trình liên tục theo dõi hoạt động của cơ sở dữ liệu để đảm bảo rằng nó hoạt động hiệu quả và đạt được hiệu suất tốt nhất. Mục tiêu là phát hiện và khắc phục các vấn đề về hiệu suất, cũng như tối ưu hóa hoạt động của cơ sở dữ liệu. Công việc này bao gồm nhiều nhiệm vụ cụ thể, từ giám sát hệ thống đến tinh chỉnh cấu hình và truy vấn SQL. Dưới đây là các hoạt động chi tiết liên quan

Thứ Năm, 4 tháng 9, 2025

Tối ưu bộ nhớ với SGA Target Advisory Oracle database

Việc tối ưu bộ nhớ trong oracle database là việc vô cùng quan trọng, ảnh hướng đến hiệu suất DB, dưới đây chung ta cùng đi tìm hiểu công cụ hỗ trợ tối ưu bộ nhớ.

Thứ Ba, 24 tháng 6, 2025

Thử nghiệm quét full chậm hơn index

Dưới đây là phiên bản viết lại bài viết từ link bạn cung cấp, theo hướng phân tích sâu sắc hơn về kiến trúc index trong Oracle, lý giải vì sao truy vấn dùng Index có thể chạy chậm hơn Full Table Scan, kèm mô hình truy xuất dữ liệu, các khái niệm như selectivity, random I/O, và cost-based optimizer.

Thứ Năm, 7 tháng 9, 2023

[VIP5] Tìm câu lệnh SQL chiếm tải trong Oracle Database

--cursor c_db is
        SELECT DBID,NAME,LOG_MODE,OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,REMOTE_ARCHIVE,DATABASE_ROLE,SWITCHOVER_STATUS,DATAGUARD_BROKER,
            PLATFORM_NAME,CURRENT_SCN,FLASHBACK_ON,DB_UNIQUE_NAME, (select version from v$instance) version FROM v$database;

Thứ Năm, 20 tháng 7, 2023

[VIP5] Tìm câu lệnh chiếm tải cao kill, tải ngay lập tức giảm

Mục đích: Tìm câu lệnh chiếm tải cao kill, tải ngay lập tức giảm tránh cao tải DB gây timeout ứn dụng

Chủ Nhật, 9 tháng 7, 2023

Cấu hình, quản trị Enterprise Manager Database Express 12c trong Oracle Database 12c

GIỚI THIỆU

Enterprise Manager Database Express 12c giúp chúng ta giám sát, quản trị, cấu hình thuận tiện hơn. 

Những điều quan trọng cần nhớ về Enterprise Manager Database Express:

  • EM DB Express không phải là Cloud Control (cài riêng bên ngoài) hoặc Grid Control (EM 11g)
  • EM DB Express không phải là sự thay thế cho DB Control từ 11g, vì nó có ít chức năng hơn đáng kể để nhẹ hơn
  • Một DBA sẽ không thể quản trị cơ sở dữ liệu chỉ bằng EM DB Express mà phải thêm các script, tool riêng

Nếu tổ chức của bạn sử dụng Cloud Control, điều đó nên, có lẽ bạn sẽ không bao giờ sử dụng EM Database Express. Mặt khác, nếu bạn đang dùng xung quanh với cơ sở dữ liệu và muốn có một giao diện đẹp để thực hiện một số tác vụ thì EM Database Express có thể là câu trả lời của bạn.

Chủ Nhật, 19 tháng 3, 2023

Cách lấy, đọc Execution Plan trong Oracle Database

1. Execution Plan là gì?

Kế hoạch thực thi là một tập hợp các bước mà trình tối ưu hóa thực hiện khi thực thi một câu lệnh SQL và thực hiện một hoạt động nào đó, chúng ta có thể tưởng tượng như đường đi đến đích khi chúng ta dùng Google Map để định vị.

Thứ Hai, 30 tháng 1, 2023

Phát hiện toàn bộ những Foreign Key chưa được đánh Index trong Oracle Database

Scripts sau sẽ giúp các bạn nhanh chóng rà soát toàn bộ các Tables có FK và chỉ ra chi tiết thông tin các tables chứa FK chưa được đánh Index

Thứ Sáu, 13 tháng 1, 2023

Tăng tốc database index phần 5 - WHERE trên khóa chính

Nếu các bạn chưa đọc bài trước có thể đọc tại link này Tăng tốc database index phần 4 - Index chậm

Trong những phần trước mình đã mô tả về cách index hoạt động và nguyên nhân làm index chậm, trong các phần sau mình sẽ mô tả cách phát hiện mà tránh những vấn đề này, bắt đầu với WHERE. Lệnh WHERE xác định điều kiện tìm kiếm của một câu lệnh SQL vì vậy việc sử dụng index với where rất quan trọng quyết định tốc độ truy vấn dữ liệu. Mặc dù WHERE là một lệnh ảnh hưởng siêu to khổng lồ tới hiệu năng nhưng nó lại thường không được hiểu đúng, dẫn tới database phải quét qua rất nhiều index. Một lệnh truy vấn chậm thường có nguyên nhân đầu tiên là một lệnh WHERE viết cùi.

Tăng tốc database index phần 4 - Index chậm

Như bài trước đã viết, tốc độ duyệt cây tìm kiếm cân bằng là siêu nhanh, thế mà không hiểu sao mình đã đánh index rồi mà lệnh truy vấn vẫn chậm, mấy thằng cha làm cơ sơ dữ liệu như Larry Ellison nó lừa mình kiếm tiền tỷ phải không? Ngày xửa ngày xưa, từ hồi anh em cây khế còn chơi với nhau, cho tới bây giờ có một giai thoại được truyền tai nhau giữa các dev là index để lâu càng ngày càng chậm, lâu lâu phải rebuild lại index một lần. Thực tế thì không phải như vậy, cây index luôn luôn có một độ sâu cố định và luôn được duy trì ở trạng thái cân bằng. Việc đánh index rồi mà truy vấn vẫn chậm có thể còn hai nguyên nhân nữa. Đầu tiên ta phải hiểu khi truy vấn dữ liệu theo index gồm 3 bước

Tăng tốc database index phần 2 - Leaf Nodes

Bài trước khái niệm cơ bản

Đầu tiên mình định dịch ra là nút lá, nhưng nghe nó không được hay cho lắm nên quyết định giữ nguyên tên của nó là Leaf Nodes.

Tăng tốc database index phần 1 - khái niệm cơ bản

Phần đầu tiên trong chuỗi bài là các phần liên quan tới database, nhiều bạn thích trình bày các vấn đề khác về database tuy nhiên theo kinh nghiệm cá nhân mình thấy hiểu về index trong db rất quan trọng trong quá trình nâng cao hiệu năng của chương trình, đôi khi chỉ cần đánh index thôi mà tốc độ đang từ rùa bò trở nên tốc độ bàn thờ . Nhưng có phải index luôn giúp truy vấn nhanh hơn không? Đầu tiên là khái niệm index là gì?

Thứ Tư, 12 tháng 10, 2022

Sử dụng quản lý kế hoạch SQL (SQL Plan Management - SPM) để kiểm soát kế hoạch thực thi SQL trong Oracle Database

Quản lý plan SQL (SQL Plan Management - SPM) được thiết kế để ngăn chặn suy giảm hiệu suất cho tất cả các câu lệnh SQL được ứng dụng sử dụng (giả sử rằng các câu lệnh SQL được đề cập được sử dụng nhiều lần). SPM sử dụng các SQL plan baselines được liên kết với các câu lệnh SQL riêng lẻ để kiểm soát những plan (plan) thực thi nào chúng được phép sử dụng. Đó là một ý tưởng đơn giản nhưng mạnh mẽ mở ra cánh cửa khả năng sử dụng SQL plan baselines theo cách phản ứng và chọn lọc hơn: để tác động đến plan thực thi SQL của các truy vấn riêng lẻ mà không cần phải sửa đổi các truy vấn ứng dụng hoặc thay đổi chính ứng dụng. Kỹ thuật này được đề cập trong các blog và trong bài viết SPM ở đây , nhưng nó xứng đáng có một bài đăng riêng cùng với một ví dụ FULL. 

Thứ Ba, 11 tháng 10, 2022

Active Session History (ASH) trong Oracle Database

Nội dung:

  • Giới thiệu
  • V$ACTIVE_SESSION_HISTORY
  • DBA_HIST_ACTIVE_SESS_HISTORY
  • Trang Hiệu suất của Enterprise Manager
  • Báo cáo ASH
  • SQL Developer and ASH Reports
  • ASH Viewer

Thứ Hai, 10 tháng 10, 2022

Automatic Database Diagnostic Monitor (ADDM) trong Oracle Database

Bài viết này hướng dẫn cách tạo báo cáo Automatic Database Diagnostic Monitor (ADDM), cách đọc, phân tích, đánh giá từ đó nắm rõ DB của mình có gặp vấn đề gì không. Yêu cầu phải là bản Orale Database Enterprise (bản standard không có)  

Thứ Tư, 28 tháng 9, 2022

Oracle TPS: Tính toán Transaction per Second

Oracle không có thông tin này rõ ràng và nó không phải là thước đo hữu ích nhất.

Nhưng để so sánh với các hệ thống khác và cả hiệu suất (performance)/ 'thông lượng' (throughput) với cấu hình cơ sở hạ tầng / cơ sở dữ liệu khác nhau, nó có thể hữu ích.

AWR có thể thấy điều này trên phần "Report Summary", trên "Load Profile", mục "Transaction" (ở đây transactions mỗi giây là 4.0):

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master