oracle alter move,oracle 12.2 alter table move online

我们使用主键和辅助索引创建和填充测试表。这将用于示例移动操作。

DROP TABLE t1 PURGE;

-- Create table.

CREATE TABLE t1 AS

SELECT level AS id,

‘Description for ‘ || level AS description,

SYSDATE AS created_date

FROM dual

CONNECT BY level <= 1000;

COMMIT;

ALTER TABLE t1 ADD CONSTRAINT t1_pk PRIMARY KEY (id);

CREATE INDEX t1_created_date_idx ON t1(created_date);

移动(离线)

在以前的版本中,移动表是脱机操作,默认情况下,标记索引为不可用。

-- Offline: Basic move.

ALTER TABLE t1 MOVE TABLESPACE users;

-- Check indexes.

SELECT index_name, status FROM user_indexes ORDER BY 1;

INDEX_NAME STATUS

------------------------------ --------

T1_CREATED_DATE_IDX UNUSABLE

T1_PK UNUSABLE

2 rows selected.

SQL>

我们可以手动重新生成索引。

-- Manually rebuild indexes.

ALTER INDEX t1_pk REBUILD ONLINE;

ALTER INDEX t1_created_date_idx REBUILD ONLINE;

-- Check indexes.

SELECT index_name, status FROM user_indexes ORDER BY 1;

INDEX_NAME STATUS

------------------------------ --------

T1_CREATED_DATE_IDX VALID

T1_PK VALID

2 rows selected.

SQL>

或者,我们可以包括子句来管理我们的索引。UPDATE INDEXES

-- Offline: Include UPDATE INDEXES to manage the indexes.

ALTER TABLE t1 MOVE TABLESPACE users UPDATE INDEXES;

-- Check indexes.

SELECT index_name, status FROM user_indexes ORDER BY 1;

INDEX_NAME STATUS

------------------------------ --------

T1_CREATED_DATE_IDX VALID

T1_PK VALID

2 rows selected.

SQL>

MOVE ONLINE

From Oracle 12.2 onward we can move the table as an online operation using the keyword. In addition to moving the table, the online move automatically maintains the indexes.ONLINE

-- Online: Basic move.

ALTER TABLE t1 MOVE ONLINE TABLESPACE users;

-- Check indexes.

SELECT index_name, status FROM user_indexes ORDER BY 1;

INDEX_NAME STATUS

------------------------------ --------

T1_CREATED_DATE_IDX VALID

T1_PK VALID

2 rows selected.

SQL>

我们还可以使用此功能在联机操作中更改表压缩和存储参数。

-- Online: Change table compression.

ALTER TABLE t1 MOVE ONLINE TABLESPACE users COMPRESS;

ALTER TABLE t1 MOVE ONLINE TABLESPACE users NOCOMPRESS;

-- Online: Change storage parameters.

ALTER TABLE t1 MOVE ONLINE STORAGE (PCTINCREASE 0);

限制

不能与任何其他子句结合使用。

它不能用于分区索引组织的表或索引组织的表,这些表的列定义为 LOB、VARRAY、Oracle 提供的类型或用户定义的对象类型。

如果表上存在域索引,则不能使用它。

不支持对具有持续联机移动的对象进行并行 DML 和直接路径插入。

原文:https://www.cnblogs.com/nadian-li/p/13705877.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值