引言

Oracle 11g与12c的概述

Oracle 11g

Oracle 11g,全称Oracle Database 11g Release 2,是Oracle数据库的一个主要版本,发布于2007年。11g在性能、可用性、安全性以及自动化管理方面进行了大量的改进。它引入了自动内存管理和自动数据库备份等特性,极大地减轻了DBA的运维负担。

Oracle 12c

Oracle 12c,全称Oracle Database 12c Release 1,发布于2013年。12c是Oracle数据库的一个重要里程碑,它引入了多项创新特性,尤其是多租户架构(Multitenant)的推出,使得数据库资源的管理和利用更加高效。

关键差异

1. 多租户架构

Oracle 11g:在11g中,实例与数据库是一对一或多对一的关系,即一个实例只能与一个数据库相关联。

Oracle 12c:12c引入了CDB(Container Database)和PDB(Pluggable Database)的概念,允许在一个CDB下创建多个PDB,实现了数据库资源的共享和隔离。这意味着一个实例可以同时管理多个数据库。

2. 自动内存管理

Oracle 11g:11g引入了自动内存管理(Automatic Memory Management),可以自动分配SGA(System Global Area)中的内存。

Oracle 12c:12c在11g的基础上进一步优化了自动内存管理,提供了更多的配置选项,如自动共享池(Automatic Shared Pool)和自动数据库缓存(Automatic Database Cache)等。

3. 高可用性和灾难恢复

Oracle 11g:11g提供了高级数据恢复功能,如RMAN(Recovery Manager)和Oracle Data Guard。

Oracle 12c:12c在11g的基础上增加了新的高可用性特性,如Oracle RAC(Real Application Clusters)的增强功能和Oracle Data Guard的改进。

4. 安全性

Oracle 11g:11g提供了强大的安全特性,如透明数据加密(Transparent Data Encryption)和虚拟专用数据库(Virtual Private Database)。

Oracle 12c:12c在安全性方面进行了大量增强,如增加了对SQL注入攻击的防护和自动补丁管理。

挑战与注意事项

1. 迁移与兼容性

迁移到Oracle 12c需要考虑数据库的兼容性。一些在11g中使用的功能可能在12c中不再支持,因此需要提前规划。

2. 多租户架构的规划

多租户架构的引入需要仔细规划,包括CDB和PDB的创建、配置和管理。

3. 自动化管理的调整

自动内存管理等自动化特性的调整可能需要根据实际业务需求进行调整。

4. 安全性和性能的优化

升级后,需要重新评估数据库的安全性和性能,进行相应的优化。

结论

Oracle 11g到12c的升级是一个复杂的过程,涉及到多个方面的调整和优化。DBA需要充分了解两个版本之间的差异,提前规划,确保升级的顺利进行。