[20131125]Partition, compress and drop column (ORA-39726).txt
[20131125]Partition, compress and drop column (ORA-39726).txt
SCOTT@test> @ver
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
1.測試1:
drop table t1_compression purge;
create table t1_compression (id number, name varchar2(30)) partition by range (id) interval (100000) (partition p1 values less than (100000) ) compress;
insert into t1_compression select object_id,object_name from dba_objects where object_id is not null ;
commit;
col partition_name for a20
select partition_name,compression,compress_for from user_tab_partitions where table_name='T1_COMPRESSION';
PARTITION_NAME COMPRESS COMPRESS_FOR
-------------------- -------- ------------
P1 ENABLED BASIC
SYS_P3205 ENABLED BASIC
SYS_P3206 ENABLED BASIC
SCOTT@test> alter table t1_compression drop column name;
alter table t1_compression drop column name
*
ERROR at line 1:
ORA-39726: unsupported add/drop column operation on compressed tables
SCOTT@test> alter table t1_compression set unused column name;
Table altered.
SCOTT@test> desc t1_compression;
Name Null? Type
----- -------- --------
ID NUMBER
SCOTT@test> alter table t1_compression drop unused columns;
alter table t1_compression drop unused columns
*
ERROR at line 1:
ORA-39726: unsupported add/drop column operation on compressed tables
SCOTT@test> alter table t1_compression move partition p1 nocompress;
Table altered.
SCOTT@test> select partition_name,compression,compress_for from user_tab_partitions where table_name='T1_COMPRESSION';
PARTITION_NAME COMPRESS COMPRESS_FOR
-------------------- -------- ------------
P1 DISABLED
SYS_P3205 ENABLED BASIC
SYS_P3206 ENABLED BASIC
--僅僅P1分割槽取消了compress特性.
SCOTT@test> alter table t1_compression move partition SYS_P3205 nocompress;
Table altered.
SCOTT@test> select partition_name,compression,compress_for from user_tab_partitions where table_name='T1_COMPRESSION';
PARTITION_NAME COMPRESS COMPRESS_FOR
-------------------- -------- ------------
P1 DISABLED
SYS_P3205 DISABLED
SYS_P3206 ENABLED BASIC
alter table t1_compression move partition SYS_P3206 nocompress;
...
SCOTT@test> select partition_name,compression,compress_for from user_tab_partitions where table_name='T1_COMPRESSION';
PARTITION_NAME COMPRESS COMPRESS_FOR
-------------------- -------- ------------
P1 DISABLED
SYS_P3205 DISABLED
SYS_P3206 DISABLED
SCOTT@test> alter table t1_compression drop unused columns;
alter table t1_compression drop unused columns
*
ERROR at line 1:
ORA-39726: unsupported add/drop column operation on compressed tables
--已經取消了壓縮特性,依舊不能刪除unused columns.
SCOTT@test> column column_name format a30
SCOTT@test> select column_id, segment_column_id, internal_column_id, column_name, hidden_column, virtual_column from user_tab_cols where table_name = 'T1_COMPRESSION';
COLUMN_ID SEGMENT_COLUMN_ID INTERNAL_COLUMN_ID COLUMN_NAME HID VIR
---------- ----------------- ------------------ ------------------------------ --- ---
2 2 SYS_C00002_13112515:04:52$ YES NO
1 1 1 ID NO NO
2.測試2:
drop table t1_compression purge;
create table t1_compression (id number, name varchar2(30)) partition by range (id) interval (100000) (partition p1 values less than (100000) ) compress for oltp;
insert into t1_compression select object_id,object_name from dba_objects where object_id is not null ;
commit;
SCOTT@test> select partition_name,compression,compress_for from user_tab_partitions where table_name='T1_COMPRESSION';
PARTITION_NAME COMPRESS COMPRESS_FOR
-------------------- -------- ------------
P1 ENABLED OLTP
SYS_P3207 ENABLED OLTP
SYS_P3208 ENABLED OLTP
SCOTT@test> alter table t1_compression drop column name;
Table altered.
SCOTT@test> @ver
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
1.測試1:
drop table t1_compression purge;
create table t1_compression (id number, name varchar2(30)) partition by range (id) interval (100000) (partition p1 values less than (100000) ) compress;
insert into t1_compression select object_id,object_name from dba_objects where object_id is not null ;
commit;
col partition_name for a20
select partition_name,compression,compress_for from user_tab_partitions where table_name='T1_COMPRESSION';
PARTITION_NAME COMPRESS COMPRESS_FOR
-------------------- -------- ------------
P1 ENABLED BASIC
SYS_P3205 ENABLED BASIC
SYS_P3206 ENABLED BASIC
SCOTT@test> alter table t1_compression drop column name;
alter table t1_compression drop column name
*
ERROR at line 1:
ORA-39726: unsupported add/drop column operation on compressed tables
SCOTT@test> alter table t1_compression set unused column name;
Table altered.
SCOTT@test> desc t1_compression;
Name Null? Type
----- -------- --------
ID NUMBER
SCOTT@test> alter table t1_compression drop unused columns;
alter table t1_compression drop unused columns
*
ERROR at line 1:
ORA-39726: unsupported add/drop column operation on compressed tables
SCOTT@test> alter table t1_compression move partition p1 nocompress;
Table altered.
SCOTT@test> select partition_name,compression,compress_for from user_tab_partitions where table_name='T1_COMPRESSION';
PARTITION_NAME COMPRESS COMPRESS_FOR
-------------------- -------- ------------
P1 DISABLED
SYS_P3205 ENABLED BASIC
SYS_P3206 ENABLED BASIC
--僅僅P1分割槽取消了compress特性.
SCOTT@test> alter table t1_compression move partition SYS_P3205 nocompress;
Table altered.
SCOTT@test> select partition_name,compression,compress_for from user_tab_partitions where table_name='T1_COMPRESSION';
PARTITION_NAME COMPRESS COMPRESS_FOR
-------------------- -------- ------------
P1 DISABLED
SYS_P3205 DISABLED
SYS_P3206 ENABLED BASIC
alter table t1_compression move partition SYS_P3206 nocompress;
...
SCOTT@test> select partition_name,compression,compress_for from user_tab_partitions where table_name='T1_COMPRESSION';
PARTITION_NAME COMPRESS COMPRESS_FOR
-------------------- -------- ------------
P1 DISABLED
SYS_P3205 DISABLED
SYS_P3206 DISABLED
SCOTT@test> alter table t1_compression drop unused columns;
alter table t1_compression drop unused columns
*
ERROR at line 1:
ORA-39726: unsupported add/drop column operation on compressed tables
--已經取消了壓縮特性,依舊不能刪除unused columns.
SCOTT@test> column column_name format a30
SCOTT@test> select column_id, segment_column_id, internal_column_id, column_name, hidden_column, virtual_column from user_tab_cols where table_name = 'T1_COMPRESSION';
COLUMN_ID SEGMENT_COLUMN_ID INTERNAL_COLUMN_ID COLUMN_NAME HID VIR
---------- ----------------- ------------------ ------------------------------ --- ---
2 2 SYS_C00002_13112515:04:52$ YES NO
1 1 1 ID NO NO
2.測試2:
drop table t1_compression purge;
create table t1_compression (id number, name varchar2(30)) partition by range (id) interval (100000) (partition p1 values less than (100000) ) compress for oltp;
insert into t1_compression select object_id,object_name from dba_objects where object_id is not null ;
commit;
SCOTT@test> select partition_name,compression,compress_for from user_tab_partitions where table_name='T1_COMPRESSION';
PARTITION_NAME COMPRESS COMPRESS_FOR
-------------------- -------- ------------
P1 ENABLED OLTP
SYS_P3207 ENABLED OLTP
SYS_P3208 ENABLED OLTP
SCOTT@test> alter table t1_compression drop column name;
Table altered.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-1061110/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20131125]Partition, compress and drop column (ORA-39726)之2.txt
- [20160414]分析drop column.txt
- oracle下,drop column 的語句Oracle
- PostgreSQL DBA(164) - pgAdmin(Drop column)SQL
- Oracle drop,truncate partition 索引失效 實驗Oracle索引
- DROP PARTITION為什麼不進回收站
- v$lock之alter table drop column與alter table set unused column區別系列五
- [20131125]使用vim做合計計算.txt
- [20171002]NESTED LOOPS(PARTITION OUTER).TXTOOP
- oracle compressOracle
- [20210528]V$INDEXED_FIXED_COLUMN檢視.txtIndex
- Export Parameter : CompressExport
- partition table and partition indexIndex
- PARTITION partition01
- PARTITION partition02
- PARTITION partition04
- [20130513]Interval Partition的一些問題.txt
- Oracle Table and tablespace CompressOracle
- tar compress gzip 操作
- Pruning、Reference Partition、Exchange Partition
- partition timestamp(0) not use partition
- [20181203]drop table後如何獲得表結構.txt
- [20120705]sqlplus 的column xxx noprint.txtSQL
- Error: no such columnError
- [20191203]enq: ZA - add std audit table partition.txtENQ
- [20230303]sqlplus column new_value old_value.txtSQL
- [20180608]Wrong Results with IOT, Added Column and Secondary Index.txtIndex
- drop asm disk、撤銷drop asm diskASM
- Drop DatabaseDatabase
- Heap Block Compress現象分析BloC
- oracle 壓縮技術(compress)Oracle
- oracle compress壓縮小記Oracle
- 使用compress壓縮檔案
- PARTITION SPILT
- hive partitionHive
- over (partition by)
- exchange partition
- oracle partitionOracle