Video: Oracle 24 giờ - PHẦN 2: Tạo Listener 2025
Quản lý bộ nhớ là một thành phần quan trọng trong việc làm việc với các thể hiện trong cơ sở dữ liệu của bạn. Oracle 12c cung cấp cho bạn ba cách để quản lý bộ nhớ trong trường hợp của bạn:
-
Tự động bằng cách cho phép Oracle làm tất cả công việc
-
Bằng tay bằng cách điều chỉnh các thông số cá nhân cho các vùng bộ nhớ khác nhau
-
và hướng dẫn sử dụng bằng cách sử dụng kiến thức của bạn về cách mọi thứ hoạt động, sử dụng cơ sở hạ tầng tư vấn của Oracle và để Oracle tiếp quản một số khu vực
Lưu ý nhanh về tự động hoá của Oracle. Thông qua một số bản phát hành gần đây của Oracle, cơ sở dữ liệu đã trở nên tự động hóa hơn trong các lĩnh vực mà trước đây đã được hướng dẫn sử dụng và thậm chí tẻ nhạt ở lần. Đây không phải là để nói rằng sớm nó sẽ không có kỹ năng đặc biệt để quản lý một cơ sở dữ liệu Oracle. Chính xác là ngược lại: Khi các thao tác thông thường được thực hiện tự động, nó sẽ giải phóng bạn khi DBA tập trung vào các tính năng nâng cao hơn.
Chúng tôi đã có thành công lớn trong việc triển khai các tính năng tự động cho khách hàng. Nó giải phóng nguồn lực của chúng ta để tập trung vào những thứ như tính sẵn sàng cao và an ninh, những khu vực cần sự chú ý gần như toàn thời gian. Cảm ơn lòng tốt bạn không phải bỏ ra hàng giờ để xem những phát biểu SQL nào đang lão hóa trong hồ bơi chia sẻ sớm, dẫn đến các vấn đề về hiệu suất.
Chúng tôi khuyên bạn nên tự động quản lý bộ nhớ trong Oracle 12c.
Khi bạn tạo cơ sở dữ liệu, bạn có thể thiết lập một tham số mới, lấy hầu hết bộ nhớ để lấy ra khỏi tay: MEMORY_TARGET. Bằng cách thiết lập tham số này, tất cả các vùng bộ nhớ đều được tự động định cỡ và quản lý. Sau khi bạn gõ hiển thị tham số memory_target trong SQL * Plus (giao diện dòng lệnh SQL có sẵn trong Oracle), bạn sẽ thấy kết xuất này trên màn hình:
NAME TYPE VALUE -------- ---------------------------- ----------- ----------- ------------------- memory_target big số nguyên 756M
Quản lý bộ nhớ tự động cho phép bạn giữ được số lượng bộ nhớ trên hệ thống và sau đó quyết định số lượng bạn muốn sử dụng cho cơ sở dữ liệu.
Không bao giờ hiển thị giá trị bạn nên chọn làm điểm xuất phát. Trả lời các câu hỏi này để giúp thiết lập giá trị:
-
Có bao nhiêu bộ nhớ?
-
Có bao nhiêu cơ sở dữ liệu sẽ có trên máy?
-
Có bao nhiêu người dùng trên máy? (Nếu nhiều, bạn phân bổ 4MB cho mỗi người dùng cho quá trình overhead.)
-
Các ứng dụng khác đang chạy trên máy?
Trước khi người dùng truy cập vào máy, hãy cân nhắc sử dụng không quá 40 phần trăm bộ nhớ cho cơ sở dữ liệu Oracle.Sử dụng công thức này:
(GB bộ nhớ × 40) / Số cơ sở dữ liệu cuối cùng = GB cho MEMORY_TARGET trên cơ sở dữ liệu
Ví dụ: nếu máy của bạn có 8GB bộ nhớ và cuối cùng sẽ chứa hai cơ sở dữ liệu tương tự về bản chất và chỉ 100 người dùng mỗi lần, bạn sẽ có phương trình này: (8 ×. 40) / 2 = 1. 6GB cho MEMORY_TARGET trên mỗi cơ sở dữ liệu.
Để giúp xác định liệu bạn có đủ bộ nhớ, Oracle sẽ cho bạn một số gợi ý nếu bạn biết nơi để tìm kiếm. Nó được gọi là bộ nhớ Target Advisor. Tìm nó từ dòng lệnh dưới dạng xem V $ MEMORY_TARGET_ADVICE. Bạn có thể tìm thấy nó trong trang chủ Cơ sở dữ liệu bằng cách nhấp vào Cố vấn Trung ương> Bộ nhớ Cố vấn> Tư vấn.
Bất cứ điều gì bạn chọn cho thiết đặt MEMORY_TARGET không phải là tất cả bộ nhớ mà Oracle sử dụng. Đó là lý do tại sao bạn nên có ý tưởng về bao nhiêu phiên sẽ có trước bạn quyết định cuối cùng.
Ví dụ, tham số này chỉ bao gồm bộ nhớ được sử dụng bởi SGA và PGA. Mỗi một phiên kết nối với cơ sở dữ liệu yêu cầu bộ nhớ liên quan đến hệ điều hành hoặc quá trình máy chủ của nó. Yêu cầu bộ nhớ này cho biết thêm. Một trong những khách hàng của chúng tôi có gần 3, 000 kết nối đồng thời ăn khoảng 16GB bộ nhớ bên ngoài SGA và PGA. Máy của khách hàng có 64GB bộ nhớ, và MEMORY_TARGET được đặt ở mức 16GB.