Phần một của loạt bài này cung cấp giới thiệu về các bản sao có thể làm mới Oracle®, bao gồm thời điểm và lý do sử dụng chúng. Trong bài đăng này, tôi trình bày cách thiết lập, định cấu hình, duy trì và nạp vào cơ sở dữ liệu có thể cắm được nhân bản có thể làm mới (PDB) trong Oracle 18c.
Điều kiện tiên quyết để có một PDB sao chép có thể làm mới
Để theo dõi phần trình diễn này, hãy hoàn thành các điều kiện tiên quyết sau:
-
Có một liên kết cơ sở dữ liệu cho bản sao có thể làm mới mới được tạo trỏ đến một cục bộ hoặc một vùng chứa từ xa.
-
Đặt
archive_log_mode
đểenabled
. -
Sử dụng hệ thống được thiết kế riêng hoặc Oracle Cloud phiên bản doanh nghiệp (EE). Nếu nó không có sẵn trong cùng một biểu mẫu hoặc phiên bản, hãy đặt thông số ẩn,
_exadata_feature_on
, thànhTrue
cho cuộc trình diễn này. -
Đặt
local_undo_mode
đểenabled
.
Bạn có thể đặt PDB có thể làm mới trong ĐÃ ĐÓNG CỬA hoặc CHỈ MỞ ĐỌC modeand trong MỞ CHỈ ĐỌC chế độ cho các truy vấn sau khi làm mới.
Môi trường
Đối với phần trình diễn này, hãy đảm bảo rằng môi trường của bạn tuân theo các thông số kỹ thuật sau:
-
Cài đặt Oracle 18c và thực hiện các điều kiện tiên quyết trên máy và cơ sở dữ liệu.
-
Đối với vai trò của cơ sở dữ liệu sản xuất:
-
Đặt tên cơ sở dữ liệu vùng chứa (CDB): YCDB1
-
Đặt Tên PDB: PURCH_PDB
-
-
Đối với vai trò của PDB sao chép có thể làm mới:
-
Đặt tên CDB: XCDB1
-
Đặt Tên PDB: PDB2_REFRO
-
Đặt PDB tự động làm mới sau mỗi 30 phút
-
-
Tạo liên kết cơ sở dữ liệu công khai bằng cách sử dụng
create_pdb
trên XCDB . Các liên kết phải trỏ đến PURCH_PDB trên YCDB .
-Thực thi các lệnh Mạng nền trong suốt (TNS) sau:
purch_pdb=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = tejashost2.localdomain)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = purch_pdb)))
XCDB1=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = tejashost2.localdomain)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XCDB1)))
YCDB1=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = tejashost2.localdomain)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = YCDB1)))
Trình diễn
Trình diễn này thực hiện các hoạt động sau:
-
Thiết lập môi trường.
-
Tìm chế độ làm mới của cơ sở dữ liệu sản xuất.
-
Hiển thị cách chế độ làm mới của bản sao có thể làm mới, bao gồm cả việc tắt làm mới trên bản sao có thể làm mới.
-
Chuyển đổi giữa sản xuất và bản sao có thể làm mới.
Thiết lập môi trường sao chép có thể làm mới:
Đối với môi trường sao chép có thể làm mới, hãy thực hiện các hành động sau.
Các hành động cần thực hiện trên YCDB1:
- Tạo cơ sở dữ liệu sản xuất và mở nó.
-
Nhập dữ liệu từ EXPDP kết xuất mà bạn đã lấy bằng cách sử dụng
impdp
tiện ích hoặc nhập giản đồ HR vào PURCH_PDB . Đối với ví dụ này, hãy nhập một lược đồ nhân sự bằng cách chạy tập lệnh sau trên cơ sở dữ liệu:@?/demo/schema/human_resources/hr_main.sql
Sau khi kết thúc, hãy xác thực chi tiết giản đồ nhân sự, như thể hiện trong hình sau:
Các hành động cần thực hiện trên XCDB1:
-
Tạo liên kết cơ sở dữ liệu để trỏ đến cơ sở dữ liệu sản xuất, PURCH_PDB .
-
Tạo PDB có thể làm mới, đặt khoảng thời gian làm mới là 30 phút một lần và xác thực rằng dữ liệu đã được làm mới.
Bạn có thể sử dụng tất cả các thuộc tính khi tạo PDB mà bạn định sử dụng để tạo cơ sở dữ liệu ở một vị trí khác. Ví dụ:để sửa đổi vị trí lọc dữ liệu PDB, hãy sử dụng CREATE_FILE_DEST hoặc FILE_NAME_CONVERT .
Bổ sung duy nhất là CHẾ ĐỘ LÀM MỚI thuộc tính. Để đơn giản hóa phần trình diễn này, tôi đã không thêm bất kỳ thuộc tính tùy chọn nào.
Tìm chế độ làm mới và chi tiết cơ sở dữ liệu sản xuất
Bạn có thể truy vấn bảng DBA_PDBS để kiểm tra chi tiết về chế độ PDB có thể làm mới, trạng thái, SCN làm mới lần cuối và chi tiết cơ sở dữ liệu sản xuất mẹ của nó. Đối với PDB2_REFRO PDB, hãy kiểm tra đầu ra như được hiển thị trong ví dụ sau:
Sau khi hoàn thành nhiệm vụ của mình, bạn nên chuyển đổi PDB có thể làm mới trở lại MOUNTED chế độ làm mới liên tục theo lịch trình. Sử dụng các lệnh sau để thực hiện hoạt động này. open_mode.sql được sử dụng ở đây là aquery để kiểm tra open_mode hiện tại của cơ sở dữ liệu.
Bạn có thể gặp lỗi sau nếu bạn không đóng phiên bản cơ sở dữ liệu để làm mới:
ORA-65025: Pluggable database is not closed on all instances
Thay đổi chế độ làm mới của bản sao có thể làm mới
Bạn có thể thay đổi chế độ của một bản sao có thể làm mới như sau:
-
Thay đổi làm mới thủ công thành làm mới tự động.
-
Thay đổi làm mới tự động thành làm mới thủ công.
-
Tắt làm mới từ chế độ làm mới tự động hoặc thủ công.
Chuyển đổi làm mới thủ công thành làm mới tự động và ngược lại
Lưu ý :Bạn không thể thay đổi chế độ làm mới PDB khi đăng nhập vào một PDB khác. Ví dụ:bạn không thể thay đổi chế độ của XPDB khi đã đăng nhập vào YPDB .Nếu bạn thử, lỗi sau sẽ xảy ra:
ORA-65118: operation affecting a pluggable database cannot be performed from
another pluggable database.
Ở chế độ làm mới thủ công, bạn có thể làm mới PDB đã nhân bản của mình nếu cần bằng cách sử dụng lệnh sau:
Tắt làm mới PDB và chuyển đổi một bản sao chỉ đọc thành một bản sao đọc- cơ sở dữ liệu hỗ trợ ghi
Bạn có thể vô hiệu hóa chế độ làm mới của PDB để chuyển đổi chế độ ghi nội dung bản sao có thể làm mới của bạn.
Lưu ý :Sau khi bạn tắt tính năng làm mới cho cơ sở dữ liệu có thể cắm của mình, bạn có thể kích hoạt lại nó. Bạn phải tạo lại PDB để có PDB có thể làm mới. Nếu bạn cố gắng chuyển đổi từ KHÔNG chế độ làm mới sang chế độ làm mới, bạn gặp lỗi sau:
ORA-65261: pluggable database PDB2_REFRO3 not enabled for refresh.
Sau khi bạn tắt tính năng làm mới, PDB có quyền truy cập đọc-ghi.
Chuyển từ sản xuất sang bản sao có thể làm mới và ngược lại.
Trước Oracle 18c, bạn cần thực hiện tất cả các bước để chuyển đổi vai trò, bao gồm tắt vai trò chính và mở nó ở dạng chỉ đọc.
Trong phần trình diễn này, tôi làm như sau:
-
Tạo người dùng C ## SWITCHUSER trên cơ sở dữ liệu vùng chứa XCDB1 và YCDB1 bằng cách sử dụng kết nối cấp phép,
sysoper
. -
Tạo liên kết cơ sở dữ liệu, dblink , trỏ đến một cơ sở dữ liệu vùng chứa khác. Trong YCDB1 , tạo dblink, XCDB1SYSOPER , để kết nối XCDB1 .Sử dụng chế độ xem cơ sở dữ liệu, DBA_DB_LINKS và V $ DATABASE để thu thập thông tin chi tiết về cơ sở dữ liệu sau khi tạo liên kết cơ sở dữ liệu.
-
Mở cơ sở dữ liệu nhân bản có thể làm mới dưới dạng chỉ đọc.
-
Chạy lệnh chuyển đổi.
-
Xác thực trạng thái cơ sở dữ liệu và chế độ mở sau khi chuyển đổi cơ sở dữ liệu nhân bản sản xuất và có thể sửa chữa được.
Các hành động cần thực hiện trên YCDB1:
Hoàn thành các điều kiện tiên quyết từ 1 đến 3 trước khi thực hiện lệnh chuyển đổi.
Chi tiết liên kết cơ sở dữ liệu:
Các hành động cần thực hiện trên XCDB1
Kiểm tra chi tiết liên kết cơ sở dữ liệu và tìm chế độ mở cơ sở dữ liệu bằng cách sử dụng DBA_DB_LINKS và V $ DATABASE .
Sau khi quá trình chuyển đổi hoàn tất, nguồn ban đầu PDB PURCH_PDB trở thành PDB bản sao có thể làm mới. PDB này hiện bằng MOUNT trạng thái và từ đó trở đi, bạn chỉ có thể mở nó trong CHỈ ĐỌC cách thức. Ngược lại, bản sao gốc có thể sửa chữa được, PDB PDB2_REFRO hiện đang mở trong READ hoặc VIẾT và các chức năng như một PDB nguồn.
Kết luận:
Bạn không nên coi tính năng PDB nhân bản có thể làm mới là một sự thay thế cho Bảo vệ dữ liệu từ góc độ tính khả dụng cao. Tuy nhiên, bạn có thể sử dụng bản sao có thể sửa chữa được để duy trì cơ sở dữ liệu bản sao trên một máy chủ khác.
Bài đăng này mô tả cách sử dụng các PDB có thể làm mới dưới dạng bản sao để bạn có thể đếm lại một số hoạt động ứng dụng tải thấp, không quan trọng, cho dù chuyển mạch là một sự kiện có kế hoạch hay không có kế hoạch. Xin lưu ý, bạn nên xem xét việc chuyển đổi theo quan điểm của Mục tiêu thời gian khôi phục (RTO, thời gian tiếp tục hoạt động) và Mục tiêu điểm khôi phục (RPO, chẳng hạn như đạt được sự mất mát dữ liệu tối thiểu).
Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào. Bạn cũng có thể trò chuyện ngay bây giờ để bắt đầu cuộc trò chuyện.
Tìm hiểu thêm về Cơ sở dữ liệu.