问题描述
从生产环境中的表和分区中删除compress basic的最佳方法是什么?
专家解答
如果您只想更改表以使新分区不被压缩,则可以执行以下操作:
如果要解压缩现有分区,则需要执行 “alter table move partition...”,这将在操作期间锁定这些行。如果这是一个问题,您将需要查看DBMS_REDEFINITION (有关AskTOM的大量示例)。
SQL> @drop t Y1 Y2 ----------------------- ------------------------- TABLE cascade constraints purge 1 row selected. Table dropped. SQL> SQL> create table t ( x int ) 2 partition by range ( x ) 3 ( partition p1 values less than ( 1000 ), 4 partition p2 values less than ( 2000 ) 5 ) 6 compress; Table created. SQL> SQL> insert /*+ append */ into t 2 select rownum from dual 3 connect by level < 2000; 1999 rows created. SQL> commit; Commit complete. SQL> SQL> SQL> select partition_name, compression, compress_for 2 from user_tab_partitions 3 where table_name = 'T'; PARTITION_NAME COMPRESS COMPRESS_FOR ------------------------------ -------- ------------------------------ P1 ENABLED BASIC P2 ENABLED BASIC 2 rows selected. SQL> SQL> alter table t modify default attributes nocompress; Table altered. SQL> SQL> alter table t add partition p3 values less than (3000); Table altered. SQL> SQL> select partition_name, compression, compress_for 2 from user_tab_partitions 3 where table_name = 'T'; PARTITION_NAME COMPRESS COMPRESS_FOR ------------------------------ -------- ------------------------------ P1 ENABLED BASIC P2 ENABLED BASIC P3 DISABLED 3 rows selected. SQL> SQL>
如果要解压缩现有分区,则需要执行 “alter table move partition...”,这将在操作期间锁定这些行。如果这是一个问题,您将需要查看DBMS_REDEFINITION (有关AskTOM的大量示例)。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




