Cơ sở dữ liệu Oracle 18c giới thiệu khái niệm nhóm CDB là một tập hợp các CDB khác nhau có thể được quản lý như một CDB logic.
Tính năng này hiện bị hạn chế đối với Phiên bản doanh nghiệp trên Hệ thống được thiết kế, như Exadata và Phiên bản doanh nghiệp trên Dịch vụ đám mây cơ sở dữ liệu Oracle.
Có thể có hai vai trò trong nhóm: LEAD_CDB và MEMBER_CDB . LEAD_CDB có thể được xác định bằng cách đặt thuộc tính LEAD_CDB là “TRUE”. Tất cả các CDB khác trong nhóm sẽ hoạt động như MEMBER_CDB.
Trong ví dụ dưới đây, có hai CDB và PDB trong đó.
cdbvert011 :Cơ sở dữ liệu vùng chứa với cơ sở dữ liệu có thể cắm thêm PDBDP, PDBDW, PDBMV, PDBSWD và PDBADDADOS. Đây sẽ là người dẫn đầu hạm đội.
cdbhor011 :Cơ sở dữ liệu vùng chứa với cơ sở dữ liệu có thể cắm được PDBWEBDW1.
Cơ sở dữ liệu Pluggables trong Cơ sở dữ liệu vùng chứa cdbvert011:
$ export ORACLE_SID=cdbvert011 $ sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on Wed May 27 08:36:16 2020 Version 18.2.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.2.0.0.0 sql> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDBDP READ WRITE NO 4 PDBDW READ WRITE NO 5 PDBMV READ WRITE NO 6 PDBSWD READ WRITE NO 7 PDBADDADOS READ WRITE NO
Cơ sở dữ liệu có thể cài đặt trong Cơ sở dữ liệu vùng chứa cdbhor011:
$ export ORACLE_SID=cdbhor011 $ sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on Wed May 27 08:36:16 2020 Version 18.2.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.2.0.0.0 sql> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDBWEBDW1 READ WRITE NO
Định cấu hình CDBVERT011 làm CDB LEAD:
sql> select property_value from database_properties where property_name='LEAD_CDB'; no rows selected sql> alter database set lead_cdb=TRUE; Database altered. sql> select property_value from database_properties where property_name='LEAD_CDB'; PROPERTY_VALUE ------------------------------ TRUE
Cấp các đặc quyền thích hợp cho người dùng thông thường trong đầu CDB:
sql> grant sysoper to system CONTAINER=ALL; Grant succeeded.
Tạo liên kết cơ sở dữ liệu và đặt làm thành viên của nhóm:
Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.2.0.0.0 sql> select property_value from database_properties where property_name='LEAD_CDB_URI'; no rows selected sql> create database link dblink_lead connect to system identified by password using 'CDBVERT011'; Database link created. sql> alter database set LEAD_CDB_URI='dblink:dblink_lead'; Database altered. sql> select property_value from database_properties where property_name='LEAD_CDB_URI'; PROPERTY_VALUE -------------------------------------------------------------------------------- dblink:dblink_lead
Kết nối trên CDBVERT011 và liệt kê tất cả các PDB. Giá trị STUB trong cột TRẠNG THÁI xác định CDB và các PDB của nó là thành viên trong nhóm. Sau khi bạn định cấu hình nhóm CDB, thông tin PDB từ các thành viên CDB khác nhau bao gồm cả thành viên CDB được đồng bộ hóa với CDB chính.
$ export ORACLE_SID=cdbvert011 $ sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on Wed May 27 08:36:16 2020 Version 18.2.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.2.0.0.0 sql> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDBDP READ WRITE NO 4 PDBDW READ WRITE NO 5 PDBMV READ WRITE NO 6 PDBSWD READ WRITE NO 7 PDBADDADOS READ WRITE NO 9 PDBWEBDW1 MOUNTED sql> select pdb_id, pdb_name, status, is_proxy_pdb from dba_pdbs; PDB_ID PDB_NAME STATUS IS_PROXY_ ------- -------- ------ ---------- 3 PDBDP NORMAL NO 2 PDB$SEED NORMAL NO 4 PDBDW NORMAL NO 5 PDBMV NORMAL NO 6 PDBSWD NORMAL NO 7 PDBADDADOS NORMAL NO 8 CDBHOR011 STUB YES 9 PDBWEBDW1 STUB YES 8 rows selected.
Tắt Đầu dẫn CDB:
sql> ALTER DATABASE SET LEAD_CDB = false; Database altered. sql> select pdb_id, pdb_name, status, is_proxy_pdb from dba_pdbs; PDB_ID PDB_NAME STATUS IS_PROXY_ ------- -------- ------ ---------- 3 PDBDP NORMAL NO 2 PDB$SEED NORMAL NO 4 PDBDW NORMAL NO 5 PDBMV NORMAL NO 6 PDBSWD NORMAL NO 7 PDBADDADOS NORMAL NO 6 rows selected.
Vô hiệu hóa thành viên CDB:
sql> alter database set lead_cdb_uri=''; Database altered. sql> select pdb_id, pdb_name, status, is_proxy_pdb from dba_pdbs; PDB_ID PDB_NAME STATUS IS_PROXY_ ------- -------- ------ ---------- 3 PDBWEBDW1 NORMAL NO 2 PDB$SEED NORMAL NO sql> drop database link dblink_lead; Database link dropped.
Tài liệu tham khảo
Quản lý Hạm đội CDB. Có tại https://docs.oracle.com/en/database/oracle/oracle-database/18/multi/administering-cdb-fleet.html#GUID-0AA7FC65-F350-473B-96D2-976313514069