1. Ordinary table (unpartitioned)
1. SQL> Alter Table tb_hxl_id Compress;
2. 3.
Table altered.
4. 5.
SQL> Alter Table tb_hxl_id Move Compress;
6. 7.
Table altered.
8. 9.
SQL> Alter Table tb_hxl_id Add c Varchar2(2);
10.
11.Table altered.
12.
13.SQL> Alter Table tb_hxl_id Drop Column c;
14.Alter Table tb_hxl_id Drop Column c
15. *
16.ERROR at line 1:
17.ORA -39726: unsupported add/drop column operation on compressed tables
18.
19. 20.
SQL> Alter Table tb_hxl_id Move Nocompress; -- need to be decompressed to drop fields
21.
22.
23.Table altered.
24.
25.SQL> Alter Table tb_hxl_id Drop Column c;
26.
27.Table altered.
2.分区表
1.SQL> Select aa.table_name,aa.partitioning_type
2. 2 From dba_part_tables aa
3. 3 Where aa.table_name = 'TB_HXL_LIST';
4.
5.TABLE_NAME PARTITION
6.------------------------------ ---------
7.
8.TB_HXL_LIST LIST
9.
10.SQL> Select
11. 2 aa.compression,
12. 3 aa.partition_name
13. 4 From dba_tab_partitions aa
14. 5 Where aa.table_name = 'TB_HXL_LIST';
15.
16.COMPRESS PARTITION_NAME
17.-------- ------------------------------
18.
19.ENABLED P_L1
20.ENABLED P_L2
21.ENABLED P_L3
22.ENABLED P_L4
23.
24.SQL> Alter Table tb_hxl_list compress;
25.
26.Table altered.
27.
28.SQL> Alter Table TB_HXL_LIST
29. 2 Move Partition P_L1 compress;
30.
31.Table altered.
32.
33.SQL> Alter Table TB_HXL_LIST Add b Varchar2(2);
34.
35.Table altered.
36.
37.SQL> Alter Table TB_HXL_LIST Drop Column b;
38.Alter Table TB_HXL_LIST Drop Column b
39. *
40.ERROR at line 1:
41.ORA-39726: unsupported add/drop column operation on compressed tables
42.
43.
44.SQL> Alter Table TB_HXL_LIST
45. 2 Move Partition P_L1 Nocompress;
46.
47.Table altered.
48.
49.SQL> Alter Table TB_HXL_LIST Drop Column b;
50.Alter Table TB_HXL_LIST Drop Column b
51. *
52.ERROR at line 1:
53.ORA-39726: unsupported add/drop column operation on compressed tables
54.
55.SQL> alter table TB_HXL_LIST set unused column b; -- 压缩的分区表不能删除字段,只能设置unused
56.
57.
58.Table altered.
ORA-39726: unsupported add/drop column operation on compressed tables
Cause: An unsupported add/drop column operation for compressed table was attemped.
Action: When adding a column, do not specify a default value. DROP column is only supported in the form of SET UNUSED column (meta-data drop column).
Oracle compress table needs move uncompress in add column
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=326617868&siteId=291194637
Recommended
Ranking