在线数据重组和重新定义

在线数据重组和重新定义

Oracle Database 19c 中的在线重组和重新定义功能使管理员可以高度灵活地修改表物理属性,以及改变数据和表结构,同时允许用户在这期间仍然能完全访问数据库。

概述

随着企业的网络化和电商化程度越来越高,应用停机将造成极大的损失,因此,高可用性计算解决方案变得越来越重要。Gartner Group 的研究结果表明,涉足电商业务的企业一旦发生断电,所遭受的损失保守估计将高达每小时数百万美元。因此,数据库可用性和可管理性在当今的许多任务关键型环境中日益重要。提高可用性和可管理性的其中一个途径是允许用户在数据重组运行期间完全访问数据库。

主要优势

Oracle Database 中的在线重组和重新定义功能为管理员提供了极高的灵活性,具体表现在

  • 修改表物理属性以及改变数据和表结构,同时还允许用户在这期间仍然能完全访问数据库。
  • 改进数据可用性、查询性能、响应时间和磁盘空间利用率,这些在任务关键型环境中都非常重要。
  • 让应用升级流程更加轻松、安全、迅速。
  • 使用 Enterprise Manager 或 SQL*Plus 命令行界面执行。

工作原理

在线重新定义表时,在重新定义过程中,所有读写操作都可访问。在应用升级过程中,管理员可以启动重新定义流程,然后定期同步临时表,使临时表包含对原始表的最新更改。这将减少完成最终重新定义步骤所需的时间。管理员还可以在完成重新定义流程之前验证和使用临时表中的数据。该功能对管理员非常实用,因为管理员必须确保升级过程顺利完成。随后,管理员可以控制在什么时间从原始表切换到重新定义的新表。切换过程很短,且与表大小或重新定义的复杂程度无关。重新定义过程能有效地创建新表,提高其数据块布局效率。

根据所需的在线重组的类型,可以使用 DBMS_REDEFINITION 包或使用 SQL CREATE/ALTER TABLE 和 INDEX 命令(如下表所示)执行该流程。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. 除Oracle隐私政策外,本网站中提及的“Oracle”专指Oracle境外公司而非甲骨文中国。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。