Oracle12C多租户管理:创建与维护PDB

需积分: 9 3 下载量 71 浏览量 更新于2024-09-08 收藏 4KB TXT 举报
"Oracle12C多租户管理" Oracle 12C引入了一种新的数据库架构,称为多租户容器数据库(CDB,Container Database),它允许在一个物理数据库实例中管理多个独立的数据库,这些独立的数据库被称为可插拔数据库(PDB,Pluggable Database)。这种设计提高了资源管理和安全性,简化了数据库的部署、迁移和更新。 在Oracle 12C的多租户环境中,主要涉及到以下几个关键概念和操作: 1. **CDB**: CDB是包含一个或多个PDB的顶级容器。CDB是整个多租户环境的基础,它负责管理操作系统资源和全局对象,如用户、角色和表空间。 2. **PDB**: PDB是逻辑上独立的数据库,可以在CDB中创建、移动、分离和插入。每个PDB有自己的数据文件、控制文件和redo日志文件,可以单独进行备份和恢复。 3. **创建PDB**: 创建PDB可以通过克隆种子PDB或者直接创建新的PDB。克隆PDB可以快速复制一个现有的PDB结构,而直接创建PDB则需要指定一系列参数,包括用户、表空间和文件位置。 4. **PDB的启停**: PDB可以通过SQL命令进行启动和关闭。`ALTER PLUGGABLE DATABASE [PDB_NAME] OPEN/CLOSE`命令用于打开或关闭特定的PDB,而`ALTER PLUGGABLE DATABASE ALL OPEN/CLOSE`则用于同时操作所有PDB。 5. **切换容器**: `ALTER SESSION SET CONTAINER=[CONTAINER_NAME]`命令允许在CDB和不同PDB之间切换,这对于管理不同PDB的对象和用户非常方便。 6. **用户和角色管理**: 在CDB中,可以创建全局的公用用户和角色,这些对象可以在所有PDB中可见。`CREATE USER`和`CREATE ROLE`命令分别用于创建用户和角色,而`GRANT`命令可以将权限分配给用户或角色。 7. **文件路径管理**: 使用`SELECT FROM CDB_DATA_FILES`可以查看所有数据文件的路径,这对于了解数据库存储情况和进行数据文件管理至关重要。 8. **根容器操作**: 作为CDB的顶层容器,根容器(CDB$ROOT)是全局对象的存储地,例如全局用户、角色和表空间。对根容器的操作会影响到所有PDB,因此需谨慎执行。 9. **数据迁移**: 可插拔数据库的设计使得数据迁移变得简单,只需将PDB从一个CDB导出,然后在另一个CDB中导入即可。 通过以上操作,Oracle 12C的多租户管理提供了更高效、灵活的数据库管理方案,允许管理员集中管理资源,同时保持每个PDB的数据隔离性和独立性。对于大型企业或云服务提供商来说,这种架构能够显著提高数据库管理的效率和安全性。