Chế độ archive log mode trong Oracle database

   Archive log là gì?

Ở một bài viết trước, tôi đã giới thiệu đến các bạn vai trò của Redo log. Đó là các file có vai trò cực kỳ quan trọng trong database Oracle, có tác dụng khôi phục lại dữ liệu mỗi khi database bị shutdown đột ngột.

Tuy nhiên, số lượng các redo log là giới hạn, trong khi cơ chế ghi redo log của Oracle là quay vòng. Tức là nếu Oracle đã ghi đày redo log cuối cùng rồi, nó sẽ quay lại ghi đè lên redo log đầu tiên.

Vậy vấn đề phát sinh là: Nếu thông tin bị ghi đè vẫn cần thiết cho việc khôi phục database thì sao?

Phương án mà Oracle đưa ra rất đơn giản: Khi Oracle đã ghi đầy 1 redo log và chuyển sang redo log kế tiếp, redo log vừa ghi đầy sẽ được sao lưu sang 1 chỗ khác. Với phương án này, nếu Oracle có ghi đè lên redo log thì nội dung của redo log đó cũng đã được sao lưu ra 1 chỗ khác rồi.

File sao lưu của redo log, Oracle gọi đó là archive log. Và database nếu được cấu hình ở chế độ hoạt động như vậy, gọi là Archive log mode.
Ngược lại, nếu chúng ta cho phép Oracle ghi đè redo log mà không được sao lưu trước đó, thì chế độ đó gọi là No archive log mode

Vậy 2 chế độ này ưu, nhược điểm là gì? Khi nào thì sử dụng?


   So sánh No archive log và Archive log mode

   No archive log mode

Đầu tiên, chúng ta sẽ tìm hiểu No Archive log mode

Khi database được cấu hình ở chế độ No Archive log mode, redo log sẽ không được sao lưu mỗi khi được ghi đầy.

Ưu điểm của chế độ này, đó là: Bớt được tải sao lưu từ redo log sang archive log, nên sẽ khiến database ít tốn tài nguyên hơn so với chế độ Archive log.

Tuy nhiên, nhược điểm của chế độ này thì có rất nhiều, chủ yếu là gây rủi ro cho database khi hoạt động.

   Chỉ khôi phục lại database trong trường hợp instance gặp sự cố, còn dữ liệu dưới đĩa gặp sự cố thì chỉ có thể khôi phục lại từ bản backup full gần nhất. Những dữ liệu trong khoảng thời gian từ bản backup full gần nhất đến thời điểm gặp sự cố sẽ khôi thể khôi phục được.

   Trong chế độ No archive log mode, bạn cũng không thể thực hiện online backup, tức là backup trong khi database đang hoạt động. Bạn phải đưa database về trạng thái mount mới có thể backup được.

   Khi restore bạn cũng chỉ có 1 option là restore toàn bộ database, kể cả khi bạn chỉ mất 1 datafile.

Trên thực tế, chế độ No archive log mode thường chỉ sử dụng cho những hệ thống test/dev hay những hệ thống không quan trọng. Còn đối với những hệ thống quan trọng, gần như bắt buộc phải chạy ở chế độ archive log mode.

   Archive log mode

Chúng ta vừa tìm hiểu No archive log mode, vậy ngược lại của nó là Archive log mode. Ở chế độ này, redo log sẽ được sao lưu sang 1 nơi khác mỗi khi được ghi đầy. Redo log chỉ bị ghi đè nếu nó đã được sao lưu thành công.

Nhược điểm của điều này, đó là database sẽ mất thêm 1 ít tài nguyên để xử lý việc ghi archive log.

Ưu điểm thì có rất nhiều như sau:

   Bạn có thể backup database trong khi đang hoạt động (backup online hay hot backup)

   Bạn có thể khôi phục lại database đến thời điểm gần với lúc xảy ra sự cố nhất.

   Bạn có thể khôi phục lại database đến bất cứ thời điểm nào trong khoảng thời gian backup full đến hiện tại (miễn là có đủ archive log trong khoảng đó).

   Bạn có thể xây dựng hệ thống dự phòng Data Guard nếu database của bạn ở chế độ Archive log mode.

   Bạn có thể sử dụng tính năng Flashback nếu database của bạn ở chế độ Archive log mode.

   Và rất nhiều tính năng khác cũng yêu cầu bạn phải cấu hình database ở chế độ này.

Để cấu hình chế độ này cho database, bạn có thể tham khảo bài viết dưới đây của tôi:

Đọc thêm  Chuyển database Oracle về Archive log mode

Nguồn: https://dangxuanduy.com/

Xin cho tôi được biết, bạn cảm thấy bài viết này như thế nào? Ý kiến của bạn sẽ giúp tôi nâng cao chất lượng bài viết của mình.

    Hãy chia sẻ bài viết này nếu bạn thấy có ích nhé
    0 0 votes
    Article Rating
    Subscribe
    Notify of
    guest
    0 Comments
    Inline Feedbacks
    View all comments