Oracle数据库一直是企业级数据库管理系统的领导者之一,其不断更新迭代的版本也引起了广泛关注。其中,Oracle 11g和Oracle 12c两个版本作为比较具有代表性的版本,有着许多的差异。本文将针对Oracle 11g和Oracle 12c的一些重要差异做一些解读,并附上具体的代码示例,帮助读者更深入地了解这两个版本的区别。
一、架构差异
Oracle 11g的架构是基于传统的单一实例架构,包括一个实例和一个数据库,实例由后台进程和内存结构组成。而Oracle 12c引入了多租户架构,支持多个租户共享同一个数据库实例,每个租户拥有自己的独立数据和应用。
示例:
-- 创建一个多租户容器数据库 CREATE PLUGGABLE DATABASE pdb1 ADMIN USER adm1 IDENTIFIED BY password1 ROLES = (dba) FILE_NAME_CONVERT = (\'/pdbseed/\', \'/pdb1/\'); -- 添加一个租户到容器数据库 CREATE PLUGGABLE DATABASE pdb2 ADMIN USER adm2 IDENTIFIED BY password2 ROLES = (dba) FILE_NAME_CONVERT= (\'/pdbseed/\', \'/pdb2/\'); -- 移除一个租户 DROP PLUGGABLE DATABASE pdb2 INCLUDING DATAFILES;