Oracle 12C的多租户容器数据库具有以下关键特性和要点:核心特性:多租户容器数据库允许在单个CDB中容纳多个可插拔数据库,实现资源的高效共享与管理。组成部分:根容器数据库:CDB的核心,包含主数据字典视图,管理所有PDB的元数据。CDB seed:作为PDB的模板,提供数据文件,但不允许执行事务操作。PDB数据库:独立存在的实体,拥有自己的数据文件和对象。用户类型:公用用户:在所有PDB中存在。本地用户:仅在特定PDB中创建。表空间管理:在CDB环境中,SYSTEM/SYSAUX表空间不再是共享的,每个容器拥有自己的SYSTEM和SYSAUX表空间。所有PDB共用CDB$ROOT中的REDO文件。公用用户在根容器中执行ALTER SYSTEM CHECKPOINT命令。共享与独立资源:所有PDB共用CDB的归档模式、归档文件和控制文件。UNDO的使用模式有共享或本地两种选择,可通过命令更改为LOCAL UNDO MODE,使所有PDB自动创建自己的UNDO表空间。每个PDB拥有自己的临时表空间。参数与日志管理:参数文件仅记录根容器参数,PDB级别的参数通过特定视图查看。所有PDB共用一个告警日志和一组跟踪文件。时区与字符集:可以为CDB及所有PDB设置相同的时区或单独的时区。字符集在CDB中统一设置,并可以应用于所有PDB。CDB数据字典视图:提供所有PDB的元数据信息,且包含唯一标识符con_id,便于容器管理。创建与管理:创建CDB时需要启用可插拔数据库功能。管理CDB时,通常使用sys用户连接根容器数据库。启动和停止CDB通常由sys用户完成,当连接PDB时无法执行这些操作。切换容器时,仅需使用alter session命令。