我有一个包含大量数据的表格,它是在客户端生产的。我必须对它进行在线分区,这意味着我可以停止生产,并且应该对表进行分区。我已经得到了做这件事的脚本。但是我不知道怎么在网上做。他们有没有办法让我做到这一点。请建议..
发布于 2013-01-08 14:38:15
请按照以下步骤操作:
create table TABLE_P ( COL1 VARCHAR2(35 CHAR) not null,COL2 VARCHAR2(35 CHAR) not null,)--从此处添加分区(此处的示例是范围分区) PARTITION BY RANGE (COL1) (分区p0值小于(5),分区p1值小于(10),分区p2值小于(15),分区p3值小于(MAXVALUE) --在此处添加分区
create index IX01_TABLE on TABLE_P (COL1) local;
begin dbms_redefinition.can_redef_table( 'SCHEMA','TABLE‘);end;/ begin dbms_redefinition.start_redef_table('SCHEMA','TABLE','TABLE_P’);end;/声明error_count pls_integer := 0;BEGIN dbms_redefinition.copy_table_dependents(uname => 'SCHEMA',orig_table表‘=>’,int_table => 'TABLE_P',num_errors => error_count);dbms_output.put_line('errors :=‘|| to_char(error_count));END;/ begin TABLE’:=‘,'TABLE_P');end;/
请注意,这将使依赖对象在模式中变得无效,因此请为清除这些无效对象做好停机准备。
https://stackoverflow.com/questions/14209327
复制相似问题