Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zarządzanie flotą CDB w Oracle Database 18c

Oracle Database 18c wprowadza koncepcję floty CDB, która jest zbiorem różnych CDB, którymi można zarządzać jako jednym logicznym CDB.

Ta funkcja jest obecnie ograniczona do wersji Enterprise Edition w systemach inżynierskich, takich jak Exadata i Enterprise Edition w Oracle Database Cloud Services.

We flocie są dwie możliwe role:LEAD_CDB i MEMBER_CDB . LEAD_CDB można zdefiniować, ustawiając właściwość LEAD_CDB na „PRAWDA”. Wszystkie inne CDB we flocie będą działać jako MEMBER_CDB.

W poniższym przykładzie znajdują się dwa CDB i PDB.

cdbvert011 :Baza danych kontenerów z wtykanymi bazami danych PDBDP, PDBDW, PDBMV, PDBSWD i PDBADDADOS. To będzie lider floty.
cdbhor011 :Baza danych kontenerów z podłączaną bazą danych PDBWEBDW1.

Bazy danych wtyczek w bazie danych kontenerów 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

Podłączana baza danych w bazie danych kontenerów 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


Skonfiguruj CDBVERT011 jako LEAD CDB:


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

Przyznaj odpowiednie uprawnienia wspólnemu użytkownikowi w prowadzeniu CDB:


sql> grant sysoper to system CONTAINER=ALL;

Grant succeeded.

Utwórz łącze do bazy danych i ustaw jako członka floty:


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


Połącz się na CDBVERT011 i wypisz wszystkie pliki PDB. Wartość STUB w kolumnie STATUS definiuje CDB i jego PDB jako członków floty. Po skonfigurowaniu floty CDB informacje PDB różnych członków CDB, w tym członka CDB, są synchronizowane z wiodącym CDB.


$ 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.

Wyłącz prowadzenie 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.

Wyłącz członka 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.

Referencje

Administrowanie flotą CDB. Dostępne pod adresem https://docs.oracle.com/en/database/oracle/oracle-database/18/multi/administering-cdb-fleet.html#GUID-0AA7FC65-F350-473B-96D2-976313514069


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wydano SQL Developer 4.1.3

  2. jak odzyskać zapasową bazę danych z brakującego dziennika archiwum?

  3. 2 sposoby konwersji na wielkie litery w Oracle

  4. Jak wyświetlić listę wszystkich procedur składowanych w bazie danych Oracle

  5. SPRAWDŹ ograniczenie daty urodzenia?