- vừa được xem lúc

Tránh xung đột I/O ổ đĩa Oracle Database

0 0 3

Người đăng: Nguyễn Trung Nam

Theo Viblo Asia

1. Mở đầu

Tránh xung đột I/O ổ đĩa cũng là một tách giúp tối ưu hiệu suất của database. Bài viết sẽ hướng dẫn cách kiểm tra các vấn đề liên quan đến IO disk và giải pháp xử lí.

2. Xác định vấn đề về I/O

Sự tranh chấp ổ đĩa xảy ra khi nhiều tiến trình cố gắng truy cập cùng một ổ đĩa vật lý đồng thời. Sự tranh chấp ổ đĩa có thể được giảm thiểu, từ đó tăng hiệu suất, bằng cách phân phối các hoạt động I/O ổ đĩa đều hơn trên các ổ đĩa có sẵn.

Sự tranh chấp ổ đĩa cũng có thể được giảm bằng cách giảm thiểu các hoạt động I/O ổ đĩa. Để theo dõi sự tranh chấp ổ đĩa, hãy xem xét các chỉ số Database Files Metrics trong Cloud Control. Nhóm chỉ số này bao gồm hai tập hợp chỉ số. Thời gian đọc tệp trung bình (Average File Read Time)thời gian ghi tệp trung bình (Average File Write Time) áp dụng cho tất cả các tệp dữ liệu liên quan đến cơ sở dữ liệu của chúng ta.

Nếu chúng ta thấy rằng một hoặc hai tệp dữ liệu có giá trị đặc biệt cao, chúng ta có thể nhấp vào một tệp và sau đó sử dụng liên kết Compare Objects File Name để xem thống kê đã thu thập giữa chúng. Nếu cả hai đều bận rộn cùng một lúc và nằm trên cùng một ổ đĩa, chúng ta có thể chọn di chuyển một tệp dữ liệu sang hệ thống tệp khác nếu chúng ta lo ngại về hiệu suất trong khoảng thời gian đó.

Chúng cũng có thể xác định các vấn đề về I/O của tệp bằng cách chạy một truy vấn:

Dưới đây là một phần kết quả truy vấn:

Chúng ta cũng có thể thấy các tệp như SYSAUX01.DBF, USERS01.DBFEXAMPLE01.DBF.

Lưu ý

Sự chênh lệch lớn giữa số lần ghi và đọc vật lý giữa các ổ đĩa có thể cho thấy rằng một ổ đĩa đang bị quá tải. Trong ví dụ trên, các hệ thống tệp 1–3 được sử dụng rất nhiều, trong khi các hệ thống tệp 4–5 chỉ được sử dụng ít. Để có sự cân bằng tốt hơn, chúng ta sẽ muốn di chuyển một số tệp dữ liệu. Việc chia nhỏ các tệp dữ liệu trên nhiều ổ đĩa hoặc sử dụng các phân vùng cũng sẽ giúp chuyển việc truy cập vào một bảng hoặc chỉ mục sang ổ đĩa khác.

TIP

Hãy truy vấn V$FILESTATV$DATAFILE để xem tệp dữ liệu đã được cân bằng hiệu quả như thế nào. Lưu ý rằng các không gian bảng tạm thời được theo dõi bằng cách sử dụng V$TEMPFILEV$TEMPSTAT.

3. Lưu Trữ Dữ Liệu và Tệp Chỉ Mục Ở Các Vị Trí Riêng Biệt

Các bảng được join (truy cập đồng thời trong một truy vấn) thường có thể tách riêng không gian bảng dữ liệu và chỉ mục ra. Ví dụ sau đây minh họa việc join bảng và một giải pháp có thể để quản lý dữ liệu:

Đây là một giải pháp quản lý dữ liệu:

Giải pháp này cho phép join bảng được thực hiện trong khi truy cập bốn ổ đĩa và bộ điều khiển khác nhau. Tách các tệp dữ liệu và chỉ mục ra các thiết bị đĩa vật lý và bộ điều khiển khác nhau; do đó, khi các bảng và chỉ mục được truy cập đồng thời, chúng sẽ không truy cập cùng một thiết bị vật lý. Chúng ta có thể mở rộng giải pháp này để liên quan đến nhiều ổ đĩa hơn. ASM của Oracle hỗ trợ rất tốt trong việc này khi chúng ta thiết lập, và nó cũng có cách để di chuyển "hot data" sang một phần khác của ổ đĩa.

TIP

Tách các tệp dữ liệu chính của Oracle trong hệ thống tệp truyền thống để đảm bảo rằng tranh chấp đĩa không trở thành điểm nghẽn. Bằng cách tách riêng các bảng và chỉ mục của các bảng thường xuyên được kết nối, chúng ta có thể đảm bảo rằng ngay cả trong trường hợp join bảng phức tạp nhất cũng không dẫn đến tranh chấp ổ đĩa. Trong Enterprise Manager (Cloud Control), Oracle giúp việc di chuyển dữ liệu đến vùng "hot" hoặc "cold" của đĩa trở nên dễ dàng.

4.. Thông tin kết nối

Nếu anh em muốn trao đổi thêm về bài viết, hãy kết nối với mình qua LinkedIn và Facebook:

Rất mong được kết nối và cùng thảo luận!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Disable và Enable trigger trong Oracle

Origin post: https://www.tranthanhdeveloper.com/2020/12/disable-va-enable-trigger-trong-oracle.html.

0 0 41

- vừa được xem lúc

BPM Tutorial: Cách tích hợp Database trên nền tảng IBM BPM

Bài viết này hướng dẫn các bạn các thiết lập connection từ Database sẵn có với IBM BPM. Hiện nay IBM BPM hỗ trợ 3 loại DB là IBM Db2, Oracle, và Microsoft SQL Server DB.

0 0 52

- vừa được xem lúc

HOW TO FIND DUPLICATE VALUES IN SQL

Bài viết này xuất phát từ bài toán mà mình gặp rất nhiều trong quá trình test data. Bạn cần visualize lên các dashboard hay đơn giản cần export raw data để lấy dữ liệu chính xác.

0 0 45

- vừa được xem lúc

DATES FUNCTIONS IN SQL

Trong quá trình làm việc với data bạn sẽ cần dùng rất nhiều đến Date Functions. Bạn muốn tính con số Today, This weeks, This Month, Last month, MTD, YTD,.

0 0 54

- vừa được xem lúc

1 triệu bản ghi VARCHAR2(400) và VARCHAR2(2) có hiệu năng khác biệt ra sao - Thay đổi thứ tự các bảng khi JOIN có ảnh hưởng hiệu năng không?

Tại bài này, tôi sẽ giúp các bạn giải quyết "một lần và mãi mãi" những hiểu lầm kinh điển sau. .

0 0 48

- vừa được xem lúc

Thiết kế sai lầm trong Cơ sở dữ liệu và giải pháp cải thiện hơn 700% hiệu năng

Đây là những bài viết về các dự án & kinh nghiệm tối ưu cơ sở dữ liệu của tôi tại Wecommit. Những giá trị mà bạn sẽ nhận được.

0 0 24