重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 832|回复: 0
打印 上一主题 下一主题

[原创] 修改表压缩时报ORA-14646

[复制链接]
跳转到指定楼层
楼主
发表于 2023-8-17 19:09:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如下:

SYS@PROD5> alter table sh.customers
  2   ilm add policy row store compress advanced row
  3   after 30 days of no modification;
alter table sh.customers
*
ERROR at line 1:
ORA-14646: Specified alter table operation involving compression cannot be
performed in the presence of usable bitmap indexes

检查索引,确实有BITMAP:

SYS@PROD5> select index_name,index_type from dba_indexes where table_name='CUSTOMERS';

INDEX_NAME                     INDEX_TYPE
------------------------------ ---------------------------
CUST_LNAME_IX                  NORMAL
CUST_EMAIL_IX                  NORMAL
CUSTOMERS_PK                   NORMAL
CUST_ACCOUNT_MANAGER_IX        NORMAL
CUST_UPPER_NAME_IX             FUNCTION-BASED NORMAL
SYS_IL0000073551C00022$$       LOB
SYS_IL0000073551C00023$$       LOB
CUSTOMERS_PK                   NORMAL
CUSTOMERS_MARITAL_BIX          BITMAP


解决办法:
删除索引,或者修改位图索引为UNUSABLE
SYS@PROD5> alter index sh.CUSTOMERS_MARITAL_BIX unusable;

SYS@PROD5> select index_name,index_type,status from dba_indexes where table_name='CUSTOMERS';

INDEX_NAME                     INDEX_TYPE                  STATUS
------------------------------ --------------------------- --------
CUST_LNAME_IX                  NORMAL                      VALID
CUST_EMAIL_IX                  NORMAL                      VALID
CUSTOMERS_PK                   NORMAL                      VALID
CUST_ACCOUNT_MANAGER_IX        NORMAL                      VALID
CUST_UPPER_NAME_IX             FUNCTION-BASED NORMAL       VALID
SYS_IL0000073551C00022$$       LOB                         VALID
SYS_IL0000073551C00023$$       LOB                         VALID
CUSTOMERS_PK                   NORMAL                      VALID
CUSTOMERS_MARITAL_BIX          BITMAP                      UNUSABLE


之后再去执行成功:


SYS@PROD5> alter table sh.customers
  2        ilm add policy row store compress advanced row
  3        after 30 days of no modification;



Table altered.


之后,重建UNUSABLE 索引
SYS@PROD5> alter index sh.CUSTOMERS_MARITAL_BIX rebuild;



SYS@PROD5> select index_name,index_type,status from dba_indexes where table_name='CUSTOMERS';

INDEX_NAME                     INDEX_TYPE                  STATUS
------------------------------ --------------------------- --------
CUST_LNAME_IX                  NORMAL                      VALID
CUST_EMAIL_IX                  NORMAL                      VALID
CUSTOMERS_PK                   NORMAL                      VALID
CUST_ACCOUNT_MANAGER_IX        NORMAL                      VALID
CUST_UPPER_NAME_IX             FUNCTION-BASED NORMAL       VALID
SYS_IL0000073551C00022$$       LOB                         VALID
SYS_IL0000073551C00023$$       LOB                         VALID
CUSTOMERS_PK                   NORMAL                      VALID
CUSTOMERS_MARITAL_BIX          BITMAP                      VALID


--策略有效
SELECT policy_name, policy_type, enabled FROM USER_ILMPOLICIES;

POLICY_NAME                    POLICY_TYPE   ENA
------------------------------ ------------- ---
P1                             DATA MOVEMENT YES
P41                            DATA MOVEMENT YES




参考:
Doc ID 256236.1











分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-5-4 20:21 , Processed in 0.080262 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表