Tìm hiểu về Snapshot trong cơ sở dữ liệu Oracle

chaupm
1551
21-06-2018

Trong bài trước, chúng ta đã biết được snapshot của một cơ sở dữ liệu là một ảnh chụp nhanh trạng thái của cơ sở dữ liệu tại thời điểm chụp. Trong bài lần này, cùng Bizfly Cloud tiếp tục tìm hiểu về snapshot trong cơ sở dữ liệu Oracle nhé!

Tổng quan về Cơ sở dữ liệu Oracle

Trước khi tìm hiểu về snapshot trong cơ sở dữ liệu Oracle là gì thì ta cần biết cơ sở dữ liệu (CSDL) Oracle là gì trước.

Cơ sở dữ liệu Oracle (thường được gọi là Oracle RDBMS hoặc đơn giản là Oracle) là một hệ thống quản trị cơ sở dữ liệu đa mô hình được phát hành và cung cấp bởi Tập đoàn Oracle. Đây là cơ sở dữ liệu phổ biến nhất trên thế giới về xử lý giao dịch trực tuyến (OLTP), lưu trữ dữ liệu (DW) và cơ sở dữ liệu hỗn hợp (OLTP & DW).

Thế hệ mới nhất của Oracle là Oracle Database 12c Release 2 (thường được gọi là 12.2), hiện đã có để cài đặt tại chỗ, trên đám mây - cloud, hay trong môi trường đám mây lai - hybrid cloud. Phiên bản 12.2 cũng có thể được triển khai trên hệ thống Oracle Engineered Systems (ví dụ: Exadata) cài đặt tại chỗ, trên đám mây Oracle (công cộng) hoặc Đám mây (riêng) của Khách hàng. – Theo Wikipedia.

Snapshot trong cơ sở dữ liệu Oracle

Snapshot là một bản sao trạng thái dữ liệu trong Kho dữ liệu và được sử dụng trong một hoặc nhiều quy trình.

Cần lưu ý rằng bạn không nhất thiết phải sao chép các dữ liệu đang thao tác, nhưng làm như vậy sẽ cho phép các truy cập nhiều hơn vào chức năng duyệt kết quả của người quản lý, bởi bạn có thể mở rộng bộ xử lý để xem dữ liệu ở từng giai đoạn trong quy trình.

Thông thường, bạn có thể tạo một bản sao dữ liệu khi xử lý quá trình kiểm tra, hoặc khi xác định quy tắc làm sạch dữ liệu. Nhưng bạn cũng có thể đang chạy một quy trình nào đó ở chế độ liên tục (mà không có sao chép dữ liệu vào kho lưu trữ) khi chạy chương trình làm sạch dữ liệu để tiết kiệm thời gian thực hiện.

Tìm hiểu về Snapshot trong cơ sở dữ liệu Oracle  - Ảnh 1.

Các thuộc tính của ảnh chụp nhanh snapshot

- Kho dữ liệu của dữ liệu nguồn (từ danh sách các kho dữ liệu được kết nối được đăng ký trên máy chủ OEDQ)

- Bảng hoặc Giao diện Dữ liệu để chụp nhanh (hoặc bạn có thể chỉ định SQL để chụp nhanh một Giao diện Dữ liệu mới)

- Các cột mà bạn muốn chứa trong snapshot

- Lựa chọn bật sắp xếp và lọc trên snapshot và chọn trên cột nào.

- Các tùy chọn bộ lọc cơ bản trên snapshot (hoặc bạn có thể tự viết mệnh đề SQL WHERE cho snapshot từ các bảng cơ sở dữ liệu).

- Lấy mẫu dữ liệu tùy chọn (ví dụ, n bản ghi đầu tiên, n bản ghi đầu tiên sau phần bù hoặc cứ 1 bản ghi trong mỗi 100 bản ghi).

- Tùy chọn Không xử lý dữ liệu

Khi cấu hình snapshot đã được thêm vào, bạn có thể chạy snapshot bằng cách kích chuột phải vào nó trong Project Browser và chọn Run Snapshot.

Tìm hiểu về Snapshot trong cơ sở dữ liệu Oracle  - Ảnh 2.

Hoặc, bạn có thể chọn chạy các snapshot khi chạy chương trình đầu tiên sử dụng nó.

Một số thao tác snapshot cơ bản

- Chia sẻ snapshot

Snapshot được chia sẻ ở cấp độ dự án. Điều này có nghĩa là có nhiều quy trình trong cùng một dự án có thể cùng sử dụng 1 snapshot, nhưng quy trình trong các dự án khác thì không.

Nếu bạn copy và patse cấu hình snapshot vào một dự án mới, và đây là 1 snapshot độc lập, bạn sẽ cần chạy snapshot đó để sử dụng 1 cấp dữ liệu trong quy trình (trừ khi là bạn đang truyền liên tục dữ liệu từ nguồn dữ liệu).

- Chỉnh sửa / xóa snapshot

Bạn có thể chỉnh sửa snapshot bằng cách sử dụng tùy chọn menu Right-click - Nhấp chuột phải  (ví dụ để thay đổi kích thước của mẫu bạn đang thao tác).

Lưu ý là nếu bạn chọn đổi tên một snapshot và snapshot đó đã được sử dụng trong các quy trình, thì các quy trình đó sẽ bị vô hiệu. Chúng sẽ không tự động trỏ vào snapshot đã được đổi tên. Các quy trình tham chiếu với snapshot theo tên để bạn có thể dễ dàng di chuyển cấu hình giữa các máy chủ, nơi mà ID nội bộ thường khác nhau.

Nếu cần, bạn cũng có thể xóa 1 snapshot bằng cách Nhấp chuột phải. Lưu ý rằng nếu ảnh chụp được sử dụng bởi các đối tượng cấu hình khác, sẽ có cảnh báo hiển thị trong trường hợp các đối tượng này bị lỗi.

Tốt nhất là nên snapshot tất cả các cột và chọn những cột bạn muốn thao tác trong một quy trình nhất định bằng cách cấu hình Trình đọc - Reader.

- Không có dữ liệu xử lý - No Data handling

Có thể chuẩn hóa các trạng thái khác nhau của No Data (không có dư liệu) khi dữ liệu được sao chép vào kho lưu trữ như một phần của snapshot. Để thực hiện điều này, 1 bản đồ Dữ liệu tham chiếu được chỉ định liệt kê số các ký tự được cho là Không có dữ liệu – No data. 

Thông thường, các ký tự này sẽ là các ký tự trống, chẳng hạn như ASCII 0-32. Bất cứ khi nào 1 giá trị dữ liệu chỉ chứa các ký tự No data, nó được chuẩn hóa thành một giá trị duy nhất. Trong mặc định No data handling - Không có dữ liệu xử lý tham chiếu với dữ liệu, tất cả các giá trị không có dữ liệu được chuẩn hóa thành giá trị NULL.  Điều này cho phép bạn phân biệt rõ ràng giữa dữ liệu có các giá trị nhất định trong đó với dữ liệu không có giá trị nào.

Ngoài ra, dữ liệu có thể được chụp nhanh dưới dạng 1 bản sao trực tiếp và trường hợp "Không có dữ liệu xử lý - No Data Handling" được chỉ định trên mỗi nền tảng quy trình như một phần của cấu hình đọc Reader - do đó cho phép phân tích thuần túy dữ liệu nguồn và việc sử dụng cùng một dữ liệu khi mà việc chuẩn hóa giá trị No Data được cho là thích hợp

- Phân loại snapshot

Có hai loại ảnh chụp nhanh snapshot:

Snapshot máy chủ (tức là ảnh chụp nhanh từ kho lưu trữ dữ liệu trên máy chủ);

Snapshot máy khách (tức là ảnh chụp nhanh từ các kho dữ liệu khách hàng).

Snapshot máy chủ được sử dụng khi máy chủ lưu trữ OEDQ có quyền truy cập vào dữ liệu cần được sao chép - ví dụ: hoặc máy chủ trên cùng một máy hoặc trên máy khác mà máy chủ có kết nối mạng cục bộ. 

Snapshot máy chủ có thể được tải lại - reload theo cách thủ công hoặc tự động (như một phần của công việc được lên lịch sẵn) bất cứ khi nào máy chủ có quyền truy cập vào nguồn dữ liệu. Có nghĩa là khi một quy trình được lên lịch thực hiện, nó có thể tự động reload snapshot và nhận bất kỳ thay đổi nào trong dữ liệu nếu được yêu cầu.

Snapshot máy khách được sử dụng cho các nguồn dữ liệu truy cập thông qua máy khách thay vì máy chủ. Ví dụ, dữ liệu bạn muốn làm việc có thể được lưu trữ trên một máy khách mà không có cài đặt máy chủ OEDQ (nghĩa là, khách hàng sẽ truy cập vào máy chủ OEDQ qua mạng). Trong trường hợp này, dữ liệu được sao chép vào kho lưu trữ của máy chủ OEDQ thông qua các kết nối trên máy khách.

Snapshot máy khách chỉ có thể được reload thủ công bởi 1 người dùng trên máy khách có kết nối với quyền truy cập vào nguồn dữ liệu - hay bằng cách nhấp chuột phải vào snapshot và chọn Run.

- Hủy snapshot

Tìm hiểu về Snapshot trong cơ sở dữ liệu Oracle  - Ảnh 3.

Có thể hủy hoạt động của ảnh chụp nhanh qua tùy chọn nhấp chuột phải.Sau khi hủy, biểu tượng snapshot trong cây Project Browser sẽ được bôi màu với chỉ báo đã hủy - xem ví dụ bên dưới. 

Trên đây là các thông tin tổng quan về snapshot trong cơ sở dữ liệu Oracle với các khái niệm và sử dụng cơ bản để bạn tham khảo. Hy vọng bào viết mang lại cho bạn nhiều thông tin hữu ích.

Theo www.oracle.com

>> Có thể bạn quan tâm: Snapshot vs backup - Có thể sử dụng snapshot để sao lưu?

Kể từ ngày 05/11/2018, VCCloud chính thức đổi tên thành BizFly Cloud - là nhà cung cấp các dịch vụ đám mây hàng đầu tại Việt Nam hiện nay với các dịch vụ nổi bật như: BizFly Cloud Server, BizFly CDN, BizFly Load Balancer, BizFly Pre-built Application, BizFly Business Mail, BizFly Simple Storage. Hãy tăng tốc thích nghi cho doanh nghiệp cùng các giải pháp công nghệ của BizFly Cloud tại đây.
SHARE
Hỗ trợ kỹ thuật
Kinh doanh, CSKH