Mục lục:
- Cơ sở dữ liệu Flashback hoạt động khác so với các tính năng Flashback. Với cơ sở dữ liệu Flashback, Oracle lưu trữ một tệp tin được gọi là bản ghi nhớ flashback.
- Khi cơ sở dữ liệu phải được flashed lại, đừng lo lắng. Quá trình này tương đối dễ dàng.
Video: Bảo trì CSDL với AWR,ASH (17.2) | Oracle Database Tutorial | Trần Văn Bình 2025
Bạn có thể cho rằng di chuyển cơ sở dữ liệu về phía trước và trở lại với Oracle 12c Recovery Manager với các bản sao lưu tốt là có thể. Tuy nhiên, khôi phục lại một cơ sở dữ liệu lớn đến một điểm trước đó là tốn thời gian và tẻ nhạt. Ngoài ra, nếu bạn không quay lại đủ xa, bạn phải bắt đầu lại từ đầu.
Bạn có thể muốn quay lại cơ sở dữ liệu vì những lý do sau:
-
Các kịch bản thử nghiệm lặp lại: Nói rằng bạn có một ứng dụng mà bạn đang thử nghiệm trong môi trường phát triển của mình. Mỗi khi bạn chạy ứng dụng, nó sẽ thay đổi dữ liệu của bạn. Bạn muốn đặt lại dữ liệu về giá trị ban đầu trước khi kiểm tra tiếp theo. Flashback là một công cụ tuyệt vời cho việc này.
-
Tham nhũng dữ liệu hợp lý: Có lẽ có người vô tình chạy chương trình sai trong môi trường sản xuất của bạn; bạn cần trở lại một điểm trước khi xảy ra lỗi. Bạn có thể thực hiện việc này bằng khôi phục dữ liệu nhưng Flashback nhanh hơn và dễ dàng hơn.
-
Quy trình triển khai: Có lẽ bạn đang phát hành phiên bản mã mới của mình cập nhật tất cả các loại đối tượng trong giản đồ sản xuất của bạn với cả DDL và DML. Bạn có thể dễ dàng cuộn lại nếu ứng dụng không hoạt động đúng với các tham số hiệu suất mục tiêu.
Bạn có thể mở cơ sở dữ liệu ở chế độ chỉ đọc để xem liệu bạn đã quay trở lại đủ xa.
-
Không đủ xa? Nhanh chóng cuộn lại xa hơn.
-
-
Bạn có thể thực hiện tất cả các nhiệm vụ này với các lệnh đơn giản bên trong SQL * Plus hoặc Oracle Enterprise Manager. Để làm cho họ với RMAN, bạn đang nói chuyện nhiều khôi phục đầy đủ và rất nhiều thời gian ở giữa.
Cách cấu hình và kích hoạt cơ sở dữ liệu Flashback
Cơ sở dữ liệu Flashback hoạt động khác so với các tính năng Flashback. Với cơ sở dữ liệu Flashback, Oracle lưu trữ một tệp tin được gọi là bản ghi nhớ flashback.
Các bản ghi nháp có dữ liệu để cuộn lại các khối vào một thời gian trước đó. Các bản nháp hồi lưu được lưu trữ trong flash_recovery_area. Có hai biến tham gia:
Bạn muốn đi bao xa?
-
Bao nhiêu dữ liệu được thay đổi trong cơ sở dữ liệu của bạn trong khoảng thời gian đó?
-
Bạn càng đi xa hơn, và bạn càng có nhiều thay đổi, thì các bản ghi nhớ lại bạn tạo ra. Hãy chắc chắn rằng bạn có đủ không gian để lưu trữ các bản ghi, hoặc bạn sẽ không nhấp nháy bất cứ nơi nào.
Nếu bạn đang xem xét triển khai Cơ sở dữ liệu Flashback, bạn có thể cần phải mở rộng tham số db_recovery_file_dest_size.Bao nhiêu bạn mở rộng nó phụ thuộc vào hai biến: bao xa trở lại và bao nhiêu dữ liệu? Nếu bạn muốn có một điểm khởi đầu tốt, hãy sử dụng công thức sau:
Kích thước vùng khôi phục Flash mới = Kích thước Khôi phục Flash Hiện tại + Tổng Kích thước Cơ sở dữ liệu × 0. 3
Thực chất bạn đang cố gắng dự trữ khoảng 30% tổng số cơ sở dữ liệu của bạn trong Flash Recovery Area cho các bản ghi nhớ flashback.
Từ đó trở đi, bạn có thể theo dõi khoảng trống mà các nhật ký hồi tưởng đang tiêu tốn bao nhiêu.
Sau khi bạn cấu hình Khu khôi phục Flash, hãy bật tính năng Flashback trong cơ sở dữ liệu bằng cách làm theo các bước sau:
Xem xét lại bao xa bạn muốn có thể quay lại.
-
Giá trị mặc định là 24 giờ (hoặc 1, 440 phút). Giả sử bạn muốn có thể bật đèn flash lên đến 48 giờ.
Cấu hình khoảng bao xa bạn muốn đi với tham số db_flashback_retention_target; để làm như vậy, đăng nhập vào SQL như là SYSDBA và gõ
-
Trong ví dụ này, thời gian được đặt cho 2, 880 phút (48 giờ).
Bạn sẽ thấy những điều sau đây trong bất kỳ khoảng thời gian nào bạn chọn.
Hệ thống đã bị thay đổi.
Tắt cơ sở dữ liệu của bạn và khởi động lại nó trong chế độ gắn kết.
-
Đặt cơ sở dữ liệu ở chế độ flashback bằng cách gõ:
-
Bạn sẽ thấy điều này:
Cơ sở dữ liệu bị thay đổi.
Mở cơ sở dữ liệu bằng cách gõ:
-
Bạn sẽ thấy điều này:
Cơ sở dữ liệu bị thay đổi.
Bây giờ cơ sở dữ liệu ở chế độ flashback, bạn có thể flash lại bất kỳ lúc nào trong cửa sổ Flashback của bạn.
Làm thế nào để cuộn cơ sở dữ liệu Oracle 12c của bạn trở lại
Khi cơ sở dữ liệu phải được flashed lại, đừng lo lắng. Quá trình này tương đối dễ dàng.
Quay lại
một cơ sở dữ liệu sẽ loại bỏ bất kỳ thay đổi nào xảy ra sau thời điểm đã chọn để quay trở lại. Đừng xem xét nhẹ nhàng. Để xem bạn có thể đi xa bao lâu, hãy gõ:
Bạn sẽ thấy một cái gì đó như sau:
OLDEST_FLASHBACK_TIM -------------------- 14 -AUG-2013 06: 34: 03
db_flashback_retention_target nên là về giới hạn của khung thời gian đó. Bạn có thể tìm thấy nó lâu hơn nếu không gian không phải là một mối quan tâm và cơ sở dữ liệu vẫn chưa xóa sổ nhật ký cũ.
Nói một người dùng vô tình đã bỏ lược đồ nhân sự khỏi cơ sở dữ liệu của bạn cách đây một giờ.
Tắt cơ sở dữ liệu của bạn.
-
Khởi động lại nó ở chế độ gắn kết.
-
Gõ đoạn sau, trong đó 1 là số giờ bạn muốn quay trở lại:
-
Bạn sẽ thấy điều này:
Hoàn thành Flashback.
Kiểm tra hồi tưởng trước khi đặt nó vĩnh viễn:
-
Bạn sẽ thấy điều này:
Cơ sở dữ liệu bị thay đổi.
Nếu bạn hài lòng với kết quả, hãy đi tới Bước 6. Nếu bạn không hài lòng với thời gian, bỏ qua Bước 9.
-
Tắt cơ sở dữ liệu.
-
Khởi động cơ sở dữ liệu ở chế độ gắn kết.
-
Mở cơ sở dữ liệu với Resetlogs:
-
Bạn sẽ thấy điều này:
Cơ sở dữ liệu bị thay đổi.
Khởi động lại cơ sở dữ liệu ở chế độ gắn kết.
-
Gõ đoạn sau:
-
Bạn sẽ thấy điều này:
Hoàn tất khôi phục phương tiện.
Khởi động cơ sở dữ liệu của bạn ở chế độ gắn kết.
-
Nếu bạn muốn quay trở lại dấu thời gian, hãy chuyển sang Bước 12. Nếu bạn muốn quay trở lại điểm khôi phục đã tạo trước đó, hãy đi tới Bước 13.
Để biết thêm về các điểm khôi phục, xem phần "Sử dụng khôi phục điểm "sidebar.
Gõ đoạn sau:
-
Bạn sẽ thấy điều này:
Hoàn thành Hồi đáp.
Gõ đoạn sau nếu bạn muốn quay trở lại điểm khôi phục:
-
Bạn sẽ thấy điều này:
Hoàn thành Flashback.