Tải bản đầy đủ
a. Thực hiện trên máy nguồn Primary

a. Thực hiện trên máy nguồn Primary

Tải bản đầy đủ

5. Đặt CSDL chính ở chế độ ARCHIVELOG.

6. Tạo một Control File cho CSDL dự phòng

Tạo file controlstd.ctl cho máy Standby dùng. Thực hiện ở chế độ Mount.

78

7. Chuẩn bị Pfile cho CSDL dự phòng

Cách nhanh nhất là tạo một pfile trên máy Primary sau đó copy nó qua máy
Standby và sửa lại một số thông số cho thích hợp.

8. Tạo Oracle Net Service cho cả 2 máy nguồn và đích dùng cho việc di chuyển

dữ liệu của các Redo log.
Thêm bí danh TO_STANDBY trỏ đến máy Standby 10.10.10.0

79

9. Copy tất cả Datafile và Redo log từ máy Pimary sang máy Standby

Chú ý: phải shutdown 2 database Primary và Standby trước khi copy để đảm
bảo thống nhất dữ liệu.
b. Thực hiện trên máy Standby
1. Tạo một SPFILE cho CSDL dự phòng

-

Copy file initorclstd.ora tạo ra ở bước 7 vào thư mục c:\backup\ của máy
STANDBY

-

Sửa nội dung file initorclstd.ora cho phù hợp với máy STANDBY.

-

Điểm chú ý là mặc dù trên máy Standby nhưng tên DB_NAME trên máy
Primary vẫn là orcl

-

FAL_SERVER là alias orcl của máy STANDBY trong tnsnames.ora đóng
vai trò Server. Ý nghĩa là khi có sự FAILOVER thì STANDBY orcl sẽ
chuyển vai trò ngược lại làm Server

-

FAL_CLIENT là alias orclstd của máy PRIMARY trong tnsnames.ora
đóng vai trò CLIENT. Ý nghĩa là khi có sự FAILOVER thì PRIMARY
orclstd sẽ chuyển vai trò ngược lại làm CLIENT.

-

CONTROL_FILES phải chỉ đến file controlstd.ctl đã tạo ra ở bước 6 file
này được copy qua máy STANDY để tại thư mục c:\backup\ sau đó nhân
lên 2 file có tên lần lượt control01.ctl, control02.ct

File C:\backup\initorclstd.ora sau khi sửa đổi phù hợp với máy Standby.

80

-

Copy file control01.ctl ở thư mục C:\backup sang thư mục
C:\app\Administrator\oradata\orcl\ và file control02.ctl ở thư mục
C:\backup sang thư mục C:\app\Administrator\flash_recovery_area\orcl\

-

Tạo một password file (nếu chưa tạo) bằng lệnh:
C:\Users\Administrator>orapwd
file=C:\app\Administrator\product\11.2.0\dbhome_1\database\PWDorcl.ora
password=Thuy12345 entries=5;
81

-

Tạo SPFILE cho CSDL Standby
SQL> create spfile from pfile=’C:\backup\initorclstd.ora’;

2. Tạo Oracle Net Service cho cả 2 máy dùng cho việc di chuyển dữ liệu của

các Redolog.
Thêm bí danh TO_PRIMARY trỏ đến máy Primary 10.10.10.10

3. Start the Physical Standby Database (bắt đầu CSDL dự phòng)

Start ở chế độ Mount
SQL>STARTUP MOUNT;

Muốn các Redo Apply thì phải thực hiện tiếp lệnh sau:
SQL> alter database recover managed standby database disconnect from
session;

82

Đến đây coi như đã dựng xong CSDL dự phòng (Standby Database). Bây giờ ta test
xem hệ thống có thực hiện đúng chức năng DataGuard không.
c. Kiểm tra sau khi cài đặt
1. Kiểm tra 2 máy Primary và Standby đã đồng bộ chưa

Ta thực hiện những lệnh sau để kiểm tra trên cả 2 máy Primary và Standby.

Primary

Standby

83

Nhìn vào 2 máy ta thấy chuỗi nhật ký hiện thời đều = 62, vậy là 2 máy đã
đồng bộ (hay có thể nói đến đây dữ liệu ở máy Standby là CSDL nhân
bản từ CSDL ở máy Primary ).
2. Kiểm tra máy Standby có đang nhận vào Redo logs không.

Thực hiện những lệnh sau để kiểm tra việc đưa vào những nhật ký làm lại từ
máy Primary sang máy Standby.

Primary

84

Sử dụng lệnh: SQL> alter system switch logfile; để yêu cầu CSDL bên
Primary bật chế độ chuyển những tệp nhật ký sang những CSDL Standby.
Standby

Vậy là những tệp nhật ký làm lại được lưu trữ (archived redo log files) trên
Primary đã được đưa qua bên Standby.
Bởi vì: Current log sequence (Primary)= Current log sequence (Standby)=63.
3. Lấy ví dụ để kiểm tra đồng bộ

Giả sử bây giờ ta tắt cả 2 CSDL Primary và Standby, tắt luôn cả Win, rồi
thực hiện những bước sau:
85

1. Tạo một bảng hang(mah,tenhang) trên máy Primary
2. Nhập dữ liệu cho bảng hang trên máy Primary (sau khi nhập nhớ phải

dùng lệnh: commit;)
3. Chuyển sang máy Standby, kiểm tra xem có nhìn thấy bảng hang và

dữ liệu trong bảng đó không.
Primary

86

Standby
Nhìn vào kết quả như ở bảng bên dưới cho ta thấy bên máy Standby, khi truy cập
vào CSDL dự phòng không nhìn thấy bảng hang(mah, tenhang) đã tạo bên CSDL
Primary.
Lý do: Vì chúng ta chưa khởi động DataGuard (tức là lúc này 2 CSDL chính và phụ
chưa đồng bộ được với nhau)

Khởi động DataGuard Physical Standby Database bằng những lệnh sau:
Standby

87

Dùng lệnh này để cho phép 2 máy đồng bộ dữ liệu với nhau, nhưng chưa đủ
điều kiện để máy Standby nhận được nhật ký làm lại (tức là những hoạt động bên
máy Primary – cụ thể là việc tạo bảng hang).
Làm tiếp với những lệnh sau:

Standby

88