探索Oracle CDB模式带来的优势(oracle cdb模式)
Oracle CDB(Contner Database)是Oracle Database 12c特有的数据库架构,为多种MySQL场景提供了一种具有伸缩性、可管理性、安全性和性能优势的高级架构。在实践中使用CDB架构可以带来以下优势。
1. 多租户支持
Oracle CDB架构可以为多个租户提供服务,每个租户都可以有一个或多个独立的PDB(Pluggable Database)实例。一个PDB是一个完整的、独立的数据库,它操作面向应用程序或用户,而不是面向整个CDB。这些不同的容器数据库可以共享内存和后台进程,从而减少了系统开销和管理维护的难度。
2. 可管理性
CDB和其下的PDB之间有清晰的分离和边界,可以方便地管理和维护。在CDB级别上,DBA可以直接管理共享资源,例如内存和CPU,或者为每个PDB分配特定的资源配额。此外,DBA还可以实现统一的管理模式,并掌握所有花费在共享组件上的资源。
3. 安全性
PDB可以在不同的容器之间进行安全隔离,提高了应用程序之间的安全性,同时也加强了系统的整体安全性。DBA还可以轻松地限制用户在PDB内的访问、操作和管理权限,并且可以随时更改这些权限。所有在管理级别进行的修改不会影响其他PDB的操作。
4. 性能优势
在CDB架构中,共享组件被托管在CDB级别上。这些组件只需要被加载和配置一次,就可以服务于所有PDB中的应用程序,因此可以极大地提高系统的性能。此外,CDB架构支持SQL优化器以及统一的数据库资源管理,提高了整个系统的性能表现。
相关代码:
创建CDB:
CREATE DATABASE cdb
MAXINSTANCES=10
MAXLOGHISTORY=1
MAXLOGFILES=10
MAXLOGMEMBERS=5
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE ‘/u01/oracle/oradata/cdb/system01.dbf’ SIZE 500M REUSE
SYSAUX DATAFILE ‘/u01/oracle/oradata/cdb/sysaux01.dbf’ SIZE 500M REUSE
UNDO TABLESPACE “UNDOTBS1”
DATAFILE ‘/u01/oracle/oradata/cdb/undotbs01.dbf’
SIZE 200M REUSE AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE ‘/u01/oracle/oradata/cdb/temp01.dbf’
DEFAULT SERVICE cdb
SET TIME_ZONE = ‘Asia/Shangh’
ENABLE PLUGGABLE DATABASE;
创建PDB:
CREATE PLUGGABLE DATABASE pdb1 ADMIN USER pdbadm IDENTIFIED BY pdbadm
FILE_NAME_CONVERT=(‘/u01/oracle/oradata/pdbseed/’,’/u01/oracle/oradata/pdb1/’)
DEFAULT TABLESPACE users
PATH_PREFIX=’/u01/oracle/oradata/pdb1/’
STORAGE (MAXSIZE 10G)
SEED ‘pdb$seed’
APPLICATION_ROOT ‘/pdb1’
AUTO_OPEN=NO
FORCE CREATE;
CDB架构可以极大地提高数据库的伸缩性、管理性、安全性和性能优势,并为多租户应用程序提供强大的支持。这种架构利用PDB与CDB之间的清晰分离和边界,提高了Oracle数据库在大型环境中的应用性能。