MỤC LỤC LỜI NÓI ĐẦU 2 CHƯƠNG 1: TỔNG QUAN VỀ ORACLE DATABASE 3 1.1. Tại Sao Phải Backup và Restore Dữ Liệu ? 3 1.2. Cấu Trúc Vật Lý Oracle Database 4 1.2.1. Data files 5 1.2.2. Redo log files 5 1.2.3. Control files 6 1.3. Cấu Trúc Luận Lý Oracle Database 7 1.3.1. Datablocks, segments 7 1.3.2. Tablespace 8 1.3.3. Chế độ log của oracle database 9 1.4. Backup 9 1.4.1. Phân loại backup 9 1.4.2. Cơ chế hoạt động RMAN 10 1.4.3. Các kiếu backup trong RMAN 12 1.4.4. Các loại hình backup với rman 13 CHƯƠNG 2: ORACLE SECURE BACKUP 16 2.1. Giới thiệu giải pháp Oracle Secure Backup 16 2.2. Triển khai Oracle Secure Backup 17 Kiểm tra hệ thống Oracle Secure Backup 18 Giao diện Enterprise Manager Database Control 20 Đầu tiên ta cần cấu hình : OSB Media Server Devices 22 KẾT LUẬN 40 TÀI LIỆU THAM KHẢO 41 LỜI NÓI ĐẦU Trong những năm gần đây, sự phát triển nhanh của hệ thống mạng Internet hiện nay, thời gian đã cho thấy rằng các cơ sở dữ liệu đã trở nên phức tạp hơn để cung cấp các chức năng mới với các tính năng sử dụng nhiều hơn hoặc chỉ đơn giản tạo ra sự bắt mắt cho người sử dụng. Nhưng mức độ phức tạp hơn không phản ánh rằng khả năng bảo mật sẽ tốt hơn. Luôn có những cuộc tấn công mới có thể bị bỏ qua bởi các cơ chế bảo vệ hiện có. Vì vậy, các kỹ sư phần mềm phải chú ý để phát triển các cách bảo vệ cơ sở dữ liệu an toàn hơn. CHƯƠNG 1: TỔNG QUAN VỀ ORACLE DATABASE 1.1. Tại Sao Phải Backup và Restore Dữ Liệu ? Mục địch của việc backuprestore dữ liệu này là để đưa hệ thống trở lại trạng thái trước khi gặp sự cố. Nguyên nhân của sự cố gây ảnh hưởng đến dữ liệu có thể thuộc một trong 2 dạng chính sau: Nguyên nhân khách quan: Sự cố xảy ra ngoài ý muốn, con người không thể biết trước được, thường là các thảm họa (VD: thiên tai, cháy nổ,…). Do đó cần cất giữ bản sao ở xa bản chính. Nguyên nhân chủ quan: Sự cố xảy ra do những thao tác không chính xác của con người (ví dụ: lỗi phần cứng, lỗi phần mềm, thao tác nhầm…). Do đó cần cất giữ bản sao ở vị trí sao cho thuận lợi cho việc phục hồi dữ liệu, không nhất thiết phải lưu trữ ở nơi xa bản chính. DATABASE Là tập hợp các dữ liệu được xem như là một đơn vị thành phần Unit Nhiệm Vụ : Lưu Trữ Trả về Thông Tin liên quan Thành Phần Cấu Trúc Luận Lý Cấu Trúc Vật Lý Oracle database được xác định bởi tên một tên duy nhất và được quy định trong tham số DB_NAME của parameter file.
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 2
CHƯƠNG 1: TỔNG QUAN VỀ ORACLE DATABASE 4
1.1.Tại Sao Phải Backup và Restore Dữ Liệu ? 4
1.2.Cấu Trúc Vật Lý Oracle Database 5
1.2.1.Data files 6
1.2.2.Redo log files 6
1.2.3.Control files 7
1.3.Cấu Trúc Luận Lý Oracle Database 8
1.3.1.Datablocks, segments 8
1.3.2.Tablespace 9
1.3.3.Chế độ log của oracle database 10
1.4.Backup 10
1.4.1 Phân loại backup 11
1.4.2 Cơ chế hoạt động RMAN 11
1.4.3 Các kiếu backup trong RMAN 14
1.4.4 Các loại hình backup với rman 14
CHƯƠNG 2: ORACLE SECURE BACKUP 17
2.1 Giới thiệu giải pháp Oracle Secure Backup 17
2.2 Triển khai Oracle Secure Backup 18
18
.18
Kiểm tra hệ thống Oracle Secure Backup 19
Giao diện Enterprise Manager Database Control 23
Đầu tiên ta cần cấu hình : OSB Media Server Devices 26
KẾT LUẬN 45
TÀI LIỆU THAM KHẢO 46
Trang 2LỜI NÓI ĐẦU
Trong những năm gần đây, sự phát triển nhanh của hệ thống mạng Internet hiện nay, thời gian đã cho thấy rằng các cơ sở dữ liệu đã trở nên phức tạp hơn để cung cấp các chức năng mới với các tính năng sử dụng nhiều hơn hoặc chỉ đơn giản tạo ra
sự bắt mắt cho người sử dụng Nhưng mức độ phức tạp hơn không phản ánh rằng khả năng bảo mật sẽ tốt hơn Luôn có những cuộc tấn công mới có thể bị bỏ qua bởi các cơ chế bảo vệ hiện có Vì vậy, các kỹ sư phần mềm phải chú ý để phát triển các cách bảo vệ cơ sở dữ liệu an toàn hơn
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ ORACLE DATABASE
1.1 Tại Sao Phải Backup và Restore Dữ Liệu ?
Mục địch của việc backup-restore dữ liệu này là để đưa hệ thống trở lại trạng thái trước khi gặp sự cố Nguyên nhân của sự cố gây ảnh hưởng đến dữ liệu có thể thuộc một trong 2 dạng chính sau:
Nguyên nhân khách quan: Sự cố xảy ra ngoài ý muốn, con người không
thể biết trước được, thường là các thảm họa (VD: thiên tai, cháy nổ,…) Do đó cần cất giữ bản sao ở xa bản chính
Nguyên nhân chủ quan: Sự cố xảy ra do những thao tác không chính xác
của con người (ví dụ: lỗi phần cứng, lỗi phần mềm, thao tác nhầm…) Do đó cần cất giữ bản sao ở vị trí sao cho thuận lợi cho việc phục hồi dữ liệu, không nhất thiết phải lưu trữ ở nơi xa bản chính
DATABASE Là tập hợp các dữ liệu được xem như là một đơn vị thành phần
Trang 51.2 Cấu Trúc Vật Lý Oracle Database
Mô hình oracle server
Trang 61.2.1 Data files
Chức Năng :
- Chứa toàn bộ dữ liệu trong database
- Lưu Trữ các dữ liệu thuộc cấu trúc logic của database như tables hay
indexes
Tính Chất
- Mỗi datafile chỉ có thể được sử dụng trong một database
- Một số tính chất cho phép tự động mở rộng kích thước mỗi khi database hết chỗ lưu trữ dữ liệu
- Một hay nhiều datafiles tạo nên một đơn vị lưu trữ logic của database gọi
là tablespace
- Một datafile chỉ thuộc về một tablespace
Mỗi một Oracle database đều có thể có một hay nhiều datafiles
Mỗi một tablespace có thể bao gồm một hay nhiều data files, là các file thuộc hệ điều hành dùng để lưu trữ dữ liệu trong tablespace
1.2.2 Redo log files
Mỗi Oracle database đều có một tập hợp từ 02 redo log files trở lên
Các redo log files trong database thường được gọi là database's redo log Một redo log được tạo thành từ nhiều redo entries (gọi là các redo records)
Các thông tin trong redo log file chỉ được sử dụng để khôi phục lại database trong trường hợp hệ thống gặp sự cố và không cho phép viết trực tiếp dữ liệu trong database lên các datafiles trong database
Trang 7Ví dụ: khi có sự cố xảy ra như mất điện bất chợt chẳng hạn, các dữ liệu trong bộ nhớ không thể ghi trực tiếp lên các datafiles và gây ra hiện tượng mất dữ liệu Tuy nhiên, tất cả các dữ liệu bị mất này đều có thể khôi phục lại ngay khi database được
mở trở lại Việc này có thể thực hiện được thông qua việc sử dụng ngay chính các thông tin mới nhất có trong các redo log files thuộc datafiles Oracle sẽ khôi phục lại các database cho đến thời điểm trước khi xảy ra sự cố
- Công việc khôi phục dữ liệu từ các redo log được gọi là rolling forward
Oracle server sử dụng các online redo log files để giảm thiểu việc mất mát dữ liệu trong database Redo log files ghi lại tất cả các thay đổi trong database buffer cache trừ một vài ngoại lệ ghi dữ liệu trực tiếp
- Redo log files được sử dụng đến khi instance gặp sự cố và ta muốn khôi phục lại các dữ liệu đã commit nhưng chưa kịp ghi lên data files Redo log files chỉ được sử dụng trong trường hợp khôi phục dữ liệu
- Quản trị viên cần thiết lập các bản sao các online redo log files của database để tránh việc mất mát thông tin trong database do việc sử dụng một file duy nhất
1.2.3 Control files
Chức Năng : Control file chứa các mục thông tin quy định cấu trúc vật lý của
database :
- Tên của database
- Tên và nơi lưu trữ các datafiles hay redo log files
- Time stamp (mốc thời gian) tạo lập database,
Tính Chất
- Mỗi khi nào một instance của Oracle database được mở, control file của
nó sẽ được sử dụng để xác định data files và các redo log files đi kèm
- Khi các thành phần vật lý cả database bị thay đổi (ví dụ như, tạo mới datafile hay redo log file), Control file sẽ được tự động thay đổi tương ứng bởi Oracle
Mỗi Oracle database đều có ít nhất một control
- Control file là file thông tin dạng nhị phân được sử dụng cho việc khởi tạo
và vận hành database một cách hiệu quả
Trang 8- Mỗi khi instance được MOUNT (gắn) với một Oracle database, các thông tin trong control file sẽ được đọc ra, từ đó xác định các data files và các online redo log files.
- Control file được cập nhật liên tục vào database trong suốt quá trình sử dụng và nó luôn ở trạng thái sẵn sàng (available) mỗi khi database được OPEN (mở) hay được MOUNT (gắn) với instance
- Control file cung cấp các thông tin một cách thống nhất trong database được sử dụng trong quá trình khôi phục (recovery)
- Mỗi control file tại một thời điểm chỉ phục vụ cho một database Khi đã
có một database sử dụng control file thì các database khác sẽ không thể truy cập tới control file dó nữa
1.3 Cấu Trúc Luận Lý Oracle Database
1.3.1 Datablocks, segments
Oracle Data Blocks : Là mức phân cấp logic thấp nhất, các dữ liệu của Oracle
database được lưu trữ trong các data blocks
- Một data block tương ứng với một số lượng nhất định các bytes vật lý của database trong không gian đĩa cứng
- Kích thước của một data block được chỉ ra cho mỗi Oracle database ngay khi database được tạo lập
- Database sử dụng, cấp phát và giải phóng vùng không gian lưu trữ thông qua các Oracle data blocks
Trang 9Segments Là mức phân chia cao hơn nữa về mặt logic các vùng không gian trong
database Một segment là một tập hợp các extents được cấp phát cho một cấu trúc logic
Schema là tập hợp các đối tượng (objects) có trong database Là mức phân chia cao
hơn nữa về mặt logic các vùng không gian trong database Một segment là một tập hợp các extents được cấp phát cho một cấu trúc logic
Schema objects là các cấu trúc logic cho phép tham chiếu trực tiếp tới dữ liệu
trong database Schema objects bao gồm các cấu trúc như tables, views, sequences, stored procedures, synonyms, indexes, clusters, và database links
Extents Là mức phân chia cao hơn về mặt logic các vùng không gian trong
database Một extent bao gồm một số data blocks liên tiếp nhau, cùng được lưu trữ tại một thiết bị lưu giữ Extent được sử dụng để lưu trữ các thông tin có cùng kiểu
1.3.2 Tablespace
Tablespace là một nhóm các thành phần trong Database có quan hệ logic với nhau
Một Database có thể phân nhỏ thành nhiều Tablespace
Mối quan hệ giữa Databases, Tablespaces, và Datafiles
- Mỗi database có thể phân chia về mặt logic thành một hay nhiều tablespace
Trang 10- Mỗi tablespace có thể được tạo nên, về mặt vật lý, bởi một hoặc nhiều datafiles.
- Kích thước của một tablespace bằng tổng kích thước của các datafiles của
nó Ví dụ: trong hình vẽ ở trên SYSTEM tablespace có kích thước là 2
MB còn USERS tablespace có kích thước là 4 MB
- Kích thước của database cũng có thể xác định được bằng tổng kích thước của các tablespaces của nó
1.3.3 Chế độ log của oracle database
Chế Độ nonarchivelog: các online redo log files sẽ bị ghi đè mỗi khi online redo
log file đã ghi đầy và xảy ra log switches
Chế Độ archivelog: các online redo log files khi đầy không bị ghi đè mà sẽ được
lưu giữ lại để phục vụ việc phục hồi dữ liệu
1.4 Backup
Backup là bản copy dữ liệu từ 1 database bao gồm thành phần quan trọng của Database như datafiles, control files và archived redo logs files (nếu databse chạy trong chế độ archived)
Chức Năng : Tái tạo dữ liệu bị mất
Kiểu File Backup :
- Image copy: Là một bản copy chính xác bit-for-bit của database
- Backup set: Là một định dạng độc quyền chứa một hay nhiều file Physical gọi là các Backup Piece Nó có thể chứa nhiều hơn một file Database
Thành Phần :
- Physical backup (Lưu Trữ Vật Lý) : là bản copy của các file physical
database Có thể tạo Physical backup từ tiện ích RMAN hay bằng tiện ích của Hệ Điều Hành
=> Là mối quan tâm chính trong chiến lược Backup và Recover
- Logical backups (Lưu Trữ Luận Lý) : chứa dữ liệu Luận Lý ( như các
table, các stored procedure) tách biệt với tiện ích Oracle và được lưu trữ dạng file Nhị Phân
Trang 111.4.1 Phân loại backup
Dựa vào Phương Thức Backup
HOT BACKUP
COLD BACKUP
Cách Thức Backup
Recovery Manager (RMAN)
User-managed backup and recovery
Cold backup
Đặc Điểm: được thực hiện khi không có sự thay đổi nào trong redo log files, datafiles trong lúc backup
Nhu Cầu: Không cần recovery, chỉ cần restore lại từ bảng backup
Điều Kiện: Databse phải shutdown datafiles trong trạng thái transaction-consistent state Toàn bộ database là offline trong suốt quá trình backup
Hot backup
Đặc Điểm : được thực thi trong lúc database mở Online redo logs file chứa những thay đổi gồm những dữ liệu chưa được ghi vào datafiles
Điều Kiện :
- Datafiles không trong trạng thái transaction-consistent state
- Database phải được chạy trong chế độ ARCHIVED để duy trì redo log files
- Online redo log lúc backup phải lưu trữ và sao lưu những thay đổi cùng với datafile để duy trì những thay đổi này
- Phải recovery lại sau khi restore
Ưu điểm của backup không nhất quán là ta có thể backup database trong khi database mở để cập nhật
1.4.2 Cơ chế hoạt động RMAN
Recovery Manager (RMAN) là một thành phần trong Oracle Database 10g được sử dụng để thực thi các tiến trình sao lưu và phục hồi dữ liệu cho phép khả năng điều
khiển việc lưu trữ Vật Lý (physical database backups) nhiều hơn.
Ưu Điểm :
Trang 12 Bạn có thể dùng bộ công cụ RMAN dể quản lý giống như dùng với GUI interface của Enterprise Managerment
Cú pháp đơn giản với tập lệnh mạnh mẽ và nhất quán
=> RMAN là công cụ được Oracle đầu tư và hướng người dùng sử dụng bắt đầu từ phiên bản Oracle 8
cách khởi động RMAN
Kết nối RMAN với Oracle Database
Cấu Trúc :
% rman TARGET [/ CATALOG]cat_usr/pwd@cat_str
Lưu Ý : để kết nối với RMAN user cần được đăng nhập với
Trang 13[ (
(FULL | INCREMENTAL LEVEL [=] integer)
| [ (FULL | INCREMENTAL LEVEL [=] integer) ]
[backupOperand [backupOperand] ] backupSpec [backupSpec]
[PLUS ARCHIVELOG [backupSpecOperand [backupSpecOperand] ]];
Khi thực thi một backup sử dụng RMAN, phải chỉ rõ:
- Loại backup sẽ được thực thi : FULL hay INCREMENTAL
- Backup cái gì :DATABASE,DATAFILE,TABLESPACE,ARCHIVELOG, CURRENT CONTROLFILE hay SPFILE ?
- Backup sẽ được lưu trữ dưới dạng nào : AS COPY hay AS BACKUPSET ?
- Tên và đường dẫn của các backup piece(FORMAT)
- Những data file hay archive redo log nào sẽ bị bỏ qua trong backup set(SKIP)
- Dung lượng nhỏ nhất của backup set(MAXSETSIZE)
- Có xóa các input file khi tạo thành công backup set hay không(DELETE INPUT)
Các nguyên tắc khi thực hiện
- Database đích phải được mount tới RMAN để kết nối
- Những backup của online redo logs không được hỗ trợ
- Nếu database đích ở chế độ NOARCHIVELOG,backup chỉ có thể tiếp nhận những “clean” tablespace và data file
- Sao lưu database được tiếp nhận chỉ khi database đã hoàn toàn shutdown trước và restart lại trong chế độ mount
- Nếu database đích ở chế độ ARCHIVELOG,chỉ “current” data file có thể được back up
- Nếu một recovery catalog được sử dụng thì recovery catalog database phải được mở
Trang 141.4.3 Các kiếu backup trong RMAN
Ví Dụ : RMAN> connect target /
2> ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
3> ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
4> ALLOCATE CHANNEL c3 DEVICE TYPE sbt;
11> ALTER SYSTEM ARCHIVE LOG CURRENT;}
Ngoài ra để tiết kiệm dung lượng ổ đĩa ta có thể compress backup set.
Ví Dụ : RMAN> BACKUP AS
2> COMPRESSED BACKUPSET 3> DATABASE;
1.4.4 Các loại hình backup với rman
Tablespace backups: Backup các data file trong tablespace.Chỉ hợp lệ nếu
database đang trong chế độ ARCHIVELOG
Trang 15Data file backups: Backup một data file riêng lẻ Hợp lệ nếu database đang trong
chế độ ARCHIVELOG.Chỉ hợp lệ ở chế độ NOARCHIVELOG khi:
Mỗi data file trong tablespace đã được backup.Bạn không được phép restore database nếu còn data file chưa được backup
Data file là read only hoặc offline-normal
Control file backups: Đây là phần quan trọng trong backup và recovery
database.Không có control file bạn không thể mount hay open database.Có 2 cách thực hiện là : tự động hoặc bằng tay
Tự động:
CONFIGURE CONTROLFILE AUTOBACKUP
Bằng tay
BACKUP CURRENT CONTROLFILE : tạo 1 bản backup nhị phân của database
Hoặc ALTER DATABASE BACKUP CONTROLFILE : tạo 1 bản backup nhị
phân của database
Hoặc
ALTER DATABASE BACKUP CONTROLFILE TO TRACE : xuất nội dung control file ra 1 SQL script file
Incremental backups :
- Full backups : Khác whole database backups ở chỗ bao gồm toàn bộ các
block,chỉ bỏ qua các block không bao giờ được sử dụng
- Incremental backups :
Trang 16+ Differential: Được thiết lập mặc định trong incremental
backups,backup tất cả các block thay đổi kể từ lần incremental backup gần đây nhất tại level 0 hoặc 1
+ Cumulative: backup tất cả các block thay đổi kể từ lần incremental
backup gần đây nhất tại level 0
- Khai báo :
INCREMENTAL LEVEL = [0 | 1].
rman> connect target sys/sys@oravn as sysdba
- rman> backup database;
- rman> backup current controlfile; để backup theo nơi lưu trữ của mình chỉ định thì bổ sung lệnh
- rman> configure channel device type disk format ‘\home\oracle\backup\_
%U’; lệnh này là backup dữ liệu datafile
- rman> configure controlfile autobackup format for device type disk to
- ‘home\oracle \backup\cf_%F’; lệnh này là backup controlfile
- rman> exit
Khái Niệm: Restore dữ liệu từ bản Backup tức là copy những file vật lý có sẵn từ
bản Backup
Phân loại
- Restore từ consistent backup: Có thể mở database ngay lúc backup
- Restore từ inconsistent backup: Có thể mở database cho tới khi mọi thay đổi ghi vào redo logs được commit và ghi vào datafiles Việc ghi nhận những thay đổi từ redo log vào datafiles được restore từ inconsistent backup được gọi là Media Recovery
Khái Niệm: Recovery là tiến trình update dữ liệu cùng với những thay đổi được
restore từ bản Back Up, điển hình sử dụng redo log file
Phân loại
Media recovery
Flash Recovery Area
RMAN Repository
Trang 17CHƯƠNG 2: ORACLE SECURE BACKUP
2.1 Giới thiệu giải pháp Oracle Secure Backup
Việc quản lý dữ liệu sao lưu trên các máy chủ, các trung tâm dữ liệu và các văn phòng từ xa đòi hỏi một giải pháp sao lưu hợp nhất, cho phép giải quyết những khó khăn của môi trường dữ liệu phân tán Giải pháp Oracle Secure Backup với kiến trúc client-server hỗ trợ khả năng mở rộng cao, cung cấp một giao diện quản lý các
ổ đĩa tập trung cho toàn bộ hệ thống Công Nghệ Thông Tin của doanh nghiệp
Lợi ích từ giải pháp Oracle Secure Backup
Các tiến trình sao lưu dữ liệu đến các ổ đĩa tape nhanh và hiệu quả
Cho phép sao lưu các tập tin hệ thống: Unix, Linux, Windows và các ổ đĩa NAS.Quản lý việc sao lưu theo các chính sách, đảm bảo dễ dàng, tập trung và bảo mật.Cho phép mã hóa không những dữ liệu mà còn cả những thiết bị phần cứng
Quản lý dễ dàng và tập trung với công cụ sao lưu RMAN và quản lý Enterprise Manager
Trang 182.2 Triển khai Oracle Secure Backup
Có 2 cách triển khai:
Enterprise Manager Oracle
Obtool
Cách cài đặt Oracle Secure Backup trên Linux:
Trang 19Kiểm tra hệ thống Oracle Secure Backup
Sau khi cài đặt thành công vào hệ thống Oracle Secure Backup theo link sau:https://localhost
Đăng nhập vào hệ thống với acc: admin/oracle
Giao diện Web:
Trang 20Kiểm tra Băng và thư viện:
Trang 22Quản lý các băng có thể sử dụng:
Trang 23Giao diện Enterprise Manager Database Control
Cài đặt Administrative Server