Backup và Recovery
Backup và Recovery
•
Backup và recovery dùng để bảo vệ database khỏi việc mất dữ liệu và khôi phục
lại dữ liệu nếu có sự cố xảy ra.
Giới thiệu về backup
•
Backup là sao lưu (copy) dữ liệu. Bản copy này có thể bao gồm những phần quan
trọng của database như: control file, datafile.
•
•
Nếu mất dữ liệu, ta có thể tái tạo lại bằng cách sử dụng backup.
Để thực hiện sao lưu và phục hồi dữ liệu ta có thể sử dụng công cụ có sẵn:
RMAN.
Consistent và Inconsistent Backups
•
consistent backup: file trong bản backup chứa tất cả dữ liệu được lấy tại cùng
một thời điểm.
•
inconsistent backup: là bản backup của một hay nhiều file được tạo ra trong lúc
database đang hoạt động (open) hoặc sau khi database tắt một cách bất thường.
Consistent Backup
•
Cách duy nhất để tạo consistent backup là database được tắt ở chế độ normal,
immediate, hoặc là transactional và tạo backup trong lúc database đã được đóng
(closed).
•
Do đó, có thể restore backup mà không cần recovery.
Inconsistent Backup
•
•
•
•
Inconsistent Backup: các file trong bản backup chứa dữ liệu được lấy tại các thời
điểm khác nhau (online backup).
Điều này xảy ra vì datafile được sửa đổi cùng lúc với việc backup đang diễn ra.
Việc recovery diễn ra bằng cách đọc dữ liệu từ archived và online redo log và áp
dụng các thay đổi từ log trở lại datafile.
Yêu cầu database ở chế độ ARCHIVELOG mode.
Full và Incremental Backup
•
•
Full backup là bản backup chứa toàn bộ dữ liệu của database.
Incremental backup là backup những gì thay đổi so với lần incremental backup
gần nhất.
Backup toàn bộ database và một phần database
•
•
•
•
•
Whole Database Backups
Tablespace Backups
Datafile Backups
Control File Backups
Archived Redo Log Backups
Whole Database Backup
•
Backup tất cả datafile trong database kèm với control file.
Tablespace Backup, Datafile Backup
•
Tablespace Backup:
– Là bản backup những datafile hình thành nên tablespace.
– Được thực hiện khi database ở chế độ ARCHIVELOG mode
•
Datafile Backups:
– Là bản backup của một datafile nào đó.
– Thông thường được thực hiện khi database ở chế độ ARCHIVELOG mode.
Control File Backup
•
•
Backup control file rất quan trọng trong việc sao lưu và phục hồi dữ liệu.
Có thể sử dụng RMAN để tự động tạo backup control file mỗi khi tạo backup:
– CONFIGURE CONTROLFILE AUTOBACKUP
•
Hoặc sử dụng RMAN để tự tạo backup:
– BACKUP CURRENT CONTROLFILE
Archived Redo Log Backups
•
Archived redo logs cần thiết trong việc phục hồi dữ liệu trong inconsistent
backup.
•
Sử dụng RMAN để backup:
– BACKUP ARCHIVELOG
– BACKUP ... PLUS ARCHIVELOG
Giới thiệu Recovery
•
•
Restore: khôi phục dữ liệu từ bản backup
Recover: cập nhật dữ liệu đã được restore bằng cách áp dụng archived redo log
và online redo log để ghi lại những thay đổi sau khi đã backup dữ liệu.
Media Recovery
Media Recovery
•
•
•
•
Complete Recovery
Incomplete Recovery
Datafile Media Recovery
Block Media Recovery
Complete Recovery
•
Sử dụng redo data hoặc incremental backup kết hợp với backup của database,
tablespace hoặc datafile.
•
Gọi là complete vì Oracle áp dụng tất cả thay đổi trong redo (bao gồm archived
và online log) vào bản backup.
Incomplete Recovery
•
•
Còn gọi là point-in-time recovery
Sử dụng một bản backup để tái tạo lại database tới một thời điểm nào đó trong
quá khứ. Do đó không cần phải áp dụng tất cả những thay đổi trong redo record.
Datafile Media Recovery
•
Sử dụng để recover datafile hoặc control file bị mất hoặc hỏng hóc.
Block Media Recovery
•
Được sử dụng để khôi phục lại từng block riêng rẽ trong lúc các file này vẫn
đang online và đang hoạt động
Giới thiệu RMAN
(Recovery Manager)
•
•
RMAN là công cụ hỗ trợ bởi Oracle và được cài đặt trong Oracle Home.
Được sử dụng để sao lưu và phục hồi dữ liệu.
Khởi động RMAN và kết nối đến Database
•
•
Mở command line và gõ RMAN
Kết nối đến database:
– Sử dụng xác thực của hệ điều hành (operating system authentication):
•
RMAN> CONNECT TARGET /
– Sử dụng username/password kết nối đến SID=orcl
•
RMAN> CONNECT TARGET SYS/password@orcl
Backup database ở chế độ ARCHIVELOG
– Khởi động RMAN và kết nối đến database.
– Chạy lệnh BACKUP DATABASE
•
Ví dụ: RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
Backup database ở chế độ NOARCHIVELOG
•
Tạo consistent database backup:
•
Ví dụ:
– Khởi động RMAN và kết nối đến database.
– Shutdown database và khởi động ở chế độ MOUNT
– Chạy câu lệnh BACKUP DATABASE
– RMAN> CONNECT TARGET /
– RMAN> SHUTDOWN IMMEDIATE;
– RMAN> STARTUP MOUNT;
– RMAN> BACKUP DATABASE;
Tạo Incremental Backups
•
•
•
Khởi động RMAN và kết nối đến database.
Chạy câu lệnh BACKUP INCREMENTAL.
Ví dụ:
– Câu lệnh sau tạo một incremental backup ở level 0
•
BACKUP INCREMENTAL LEVEL 0 DATABASE;
•
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
•
BACKUP INCREMENTAL LEVEL 1 DATABASE;
– Câu lệnh sau tạo một cumulative incremental backup ở mức level 1:
– Câu lệnh sau tạo một differential incremental backup ở mức level 1:
Scripting RMAN Operation
•
Ví dụ, tạo một file với nội dung sau:
CONNECT TARGET /
BACKUP DATABASE PLUS ARCHIVELOG;
•
BACKUP;
Khởi động LIST
RMAN
và thực thi nội dung file trên:
EXIT;
RMAN> @my_dir/my_command_file.txt # runs specified command file
Ví dụ: RMAN> @C:/testbackup.txt