Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

Khôi phục Cơ sở dữ liệu Nhanh chóng với Image Cập nhật Tăng dần

Tối thiểu hóa thời gian ngừng hoạt động và tăng khả năng sẵn sàng của cơ sở dữ liệu là những mục tiêu thiết yếu mà mọi doanh nghiệp khát khao đạt được. Quản trị viên Cơ sở dữ liệu (DBA) luôn tìm kiếm các cách mới để cung cấp giải pháp khôi phục nhanh hơn trong trường hợp hỏng file dữ liệu hoặc lỗi hỏng toàn bộ cơ sở dữ liệu. Bắt đầu từ phiên bản 10g, Oracle® Recovery Manager (RMAN) cung cấp một tính năng gọi là Sao lưu Hợp nhất Tăng dần (IMB), cung cấp giải pháp để giảm thiểu thời gian khôi phục, đặc biệt cho các cơ sở dữ liệu rất lớn (VLDB).

Giới thiệu

Nếu được cấu hình với các tùy chọn phù hợp, tính năng IMB có thể giảm đáng kể thời gian khôi phục cơ sở dữ liệu. Mặc dù không được sử dụng rộng rãi, tính năng này là một phương pháp sao lưu lý tưởng cho VLDB. Các bản sao image của file dữ liệu được tạo, sau đó các bản sao lưu tăng dần được áp dụng, đẩy tiến (roll forward) các bản sao image sau mỗi hoạt động sao lưu.

Bài viết này nêu bật một số cân nhắc khi sử dụng IMB, cung cấp mã mẫu để minh họa quy trình và hiển thị một số kịch bản khôi phục.

Cân nhắc

Trước khi sử dụng chiến lược sao lưu bản sao image, hãy ghi nhớ các cân nhắc sau:

  • Theo dõi Thay đổi Khối (Block Change Tracking - BCT) phải được bật trong cơ sở dữ liệu.

  • Bạn cần có cùng lượng không gian đĩa để lưu trữ bản sao image của cơ sở dữ liệu như lượng không gian mà các file dữ liệu cơ sở dữ liệu thực sự đang sử dụng.

  • Để khôi phục tại một thời điểm (PITR), bạn phải có ít nhất một bản sao lưu đầy đủ, và bạn cần lưu trữ nhật ký (archive logs) cho đến khi khôi phục cơ sở dữ liệu hoàn tất.

  • Các bản sao image của cơ sở dữ liệu nên nằm trên cùng loại lưu trữ, về mặt đầu vào và đầu ra (I/O), để đảm bảo hiệu suất không bị ảnh hưởng khi chuyển sang bản sao cơ sở dữ liệu.

Hình ảnh sau hiển thị bản sao lưu được cập nhật tăng dần:

Khôi phục Cơ sở dữ liệu Nhanh chóng với Image Cập nhật Tăng dần

Mã mẫu

Chạy mã sau để thực hiện bản sao image hàng ngày và cập nhật tăng dần:

run {
 allocate channel c1 device type disk format '/home/oracle/backup/%U';
 recover copy of database with tag 'IMG_COPY';
 backup incremental level 1 for recover of copy with tag 'IMG_COPY' database;
 release channel c1;
}

Trong lần thực thi đầu tiên, lệnh recover copy of database không làm gì. Lệnh backup incremental tạo một bản sao lưu level 0 mới được gắn thẻ IMG_COPY vì đây là bản sao lưu đầu tiên được tạo với thẻ này.

Trong lần thực thi thứ hai, lệnh recover copy of database không làm gì cho đến khi nó tìm thấy các bản sao lưu INC 1. Lệnh backup incremental tạo bản sao lưu INC 1.

Trong lần thực thi thứ ba và các lần sau, lệnh recover áp dụng bản sao lưu INC 1 cuối cùng có sẵn vào các bản sao image hiện có. Lệnh backup tạo bản sao lưu INC 1 tiếp theo.

Kịch bản khôi phục

Các trường hợp sử dụng sau giải thích cách Sao lưu Hợp nhất Tăng dần hỗ trợ trong các tình huống khôi phục khác nhau.

Trường hợp 1: File dữ liệu bị hỏng, xóa hoặc ghi đè

Tạo một bảng để kiểm tra, như được hiển thị trong mã sau, và sử dụng script trước đó để thực hiện bản sao image.

SQL> create table ImgCpyTab tablespace tbs2 as select * from dba_objects;
Table created.
FILE_NAME FILE_ID TABLESPACE_NAME
------------------ --------------- -------------------------------
/home/oracle/Sw/oradata/test/tbs02.dbf 5 TBS2
SQL> select count(1) from ImgCpyTab;
COUNT(1)
----------
72476

Để kiểm tra kịch bản này, di chuyển vật lý file dữ liệu như được hiển thị trong mã sau, và lệnh select ném ra lỗi dự kiến.

mv /home/oracle/Sw/oradata/test/tbs02.dbf /home/oracle/Sw/oradata/test/tbs02.dbf_BKP
select count(1) from scott.IMGCPYTAB
* ERROR at line 1:
ORA-01116: error in opening database file 5
ORA-01110: data file 5: '/home/oracle/Sw/oradata/test/tbs02.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3

Trong trường hợp này, không cần khôi phục file vật lý. Thay vào đó, chuyển sang bản sao và khôi phục nó. Điều này rất nhanh, ngay cả với file dữ liệu hoặc kích thước cơ sở dữ liệu terabyte.

Mã sau đặt datafile vào chế độ offline:

SQL> alter database datafile 5 offline;
Database altered.

Tiếp theo, chuyển datafile sang bản sao và khôi phục:

[oracle@localhost backup]$ rman target /
Recovery Manager: Release 11.2.0.2.0 – Production on Thu Jun 5 18:17:15 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: TEST (DBID=2122535405)
RMAN> switch datafile 5 to copy;
using target database control file instead of recovery catalog
datafile 5 switched to datafile copy "/home/oracle/backup/data_D-TEST_I-2122535405_TS-TBS2_FNO-5_6ppa3ev1"
RMAN> recover datafile 5;
Starting recover at 05-JUN-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=149 device type=DISK
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 05-JUN-14
RMAN> sql 'alter database datafile 5 online';
sql statement: alter database datafile 5 online
RMAN> exit

Như được hiển thị trong mã sau, file dữ liệu đã quay lại và bảng có thể truy cập:

FILE_NAME FILE_ID TABLESPACE_NAME
------------------ --------------- -------------------------------
TBS2 /home/oracle/backup/data_D-TEST_I-2122535405_TS-TBS2_FNO-5_6ppa3ev1 AVAILABLE
SQL> select count(1) from scott.IMGCPYTAB;
COUNT(1)
----------
72476

Lưu ý: Nếu bạn thấy cột file_name, bạn biết rằng cơ sở dữ liệu đang sử dụng file bản sao image.

Trường hợp 2: Hỏng toàn bộ cơ sở dữ liệu hoặc lỗi đĩa

Nếu bạn có cơ sở dữ liệu bị hỏng hoàn toàn hoặc lỗi đĩa, bạn chỉ cần chuyển cơ sở dữ liệu sang bản sao bằng các bước sau:

  1. Tắt cơ sở dữ liệu.
  2. Nếu file control bị thiếu, hãy khôi phục nó.
  3. Catalog các bản sao image.
  4. Chuyển cơ sở dữ liệu sang một bản sao.
  5. Khôi phục cho đến khi các archive có sẵn và sau đó mở cơ sở dữ liệu.

Kết luận

Bài viết này đã thảo luận cách sử dụng tính năng sao lưu và khôi phục bản sao image của RMAN. Nó cũng cung cấp một số trường hợp sử dụng cho việc triển khai và khôi phục file dữ liệu và cơ sở dữ liệu trong trường hợp hỏng vật lý. Tính năng Sao lưu Hợp nhất Tăng dần đơn giản hóa sao lưu cơ sở dữ liệu và đảm bảo khôi phục dữ liệu nhanh chóng và linh hoạt.

Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào.