数据库
数据库特性
高可用性
联机数据重组和重定义
随着企业越来越基于 Web 和电子商务,由于应用停机成本极高,高可用性计算解决方案变得越来越重要。根据最近的 Gartner Group 研究,对涉及电子商务的企业而言,停机的成本很容易达到每小时数百万美元。因此,在当今众多的任务关键型环境中,数据库可用性和可管理性变得日趋重要。增强可用性和可管理性的一种方式是,允许用户在数据重组操作期间完全访问数据库。
Oracle Database 12c 中的联机重组和重定义特性为管理员修改表物理属性并转换数据和表结构提供了前所未有的灵活性,同时允许用户完全访问数据库。该功能改善了数据可用性、查询性能、响应时间和磁盘空间利用率(所有这些在任务关键型环境中都非常重要),并且可以使应用升级过程更加容易、安全和快速。
联机重定义某个表时,在重定义过程中,可对该表执行所有的读写操作。在应用升级期间,管理员可以启动重定义过程,然后定期同步临时表,使临时表包含对原始表所做的最新更改。这将缩短完成最终重定义步骤的时间。管理员在完成重定义过程之前还可以验证和使用临时表中的数据。这对管理员而言是一种非常有用的特性,管理员必须确保升级过程顺利进行,然后控制何时从原始表切换到刚刚重定义的表中。切换过程非常简单,并且与表的大小或重定义的复杂度无关。重定义过程可以有效地创建新表并改善其数据块布局的效率。
Oracle 联机数据重组可以使用 Enterprise Manager 或 SQL*Plus 命令行界面完成。根据所需的联机重组类型,可以使用 DBMS_REDEFINITION 软件包或 SQL CREATE/ALTER TABLE 和 INDEX 命令执行,如下表所示。
|
|
|
|
|
| 使用 DBMS_REDEFINITION 软件包进行联机重组 |
|
|
|
| 联机创建索引 |
|
||
| 联机重建索引 |
|
||
| 联机移动分区/子分区 |
|
||
| 默认值快速添加列 |
|
|
|
| 不可见索引 |
|
||
| DDL 增强 |
|
以下 DDL 操作不影响正在进行的 DML:
|