首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将一个表中的所有分区复制到另一个表中

如何将一个表中的所有分区复制到另一个表中
EN

Stack Overflow用户
提问于 2014-01-09 19:36:24
回答 2查看 6.2K关注 0票数 0

我有一个Oracle11g生产和测试environment.Now,我想将所有可用的分区从生产环境复制到测试环境。是否可以一次完成,或者我必须使用alter table语句逐个创建分区。

EN

回答 2

Stack Overflow用户

发布于 2014-01-09 22:05:53

-根据您的需求,您可以使用三个分区中的任何一个

按范围划分的

  • 分区

CREATE TABLE sales_range (salesman_id NUMBER(5),sales_date DATE) PARTITION BY RANGE(sales_date) (分区sales_jan2000值小于(TO_DATE(‘02/01/2000’,'DD/MM/YYYY')),分区sales_feb2000值小于(TO_DATE(‘03/01/2000’,'DD/MM/YYYY')),分区sales_apr2000值小于(TO_DATE(‘05/01/2000’,'DD/MM/YYYY') );

  • 按列表分区

CREATE TABLE sales_list (salesman_id NUMBER(5),salesman_name VARCHAR2(30),sales_state VARCHAR2(20),PARTITION BY LIST(sales_state) ( PARTITION sales_west VALUES('California','Hawaii'),PARTITION sales_east VALUES ('New York',‘弗吉尼亚’,‘佛罗里达’) );

  • partition by hash(如果我们不确定有多少数据映射到给定范围)

CREATE TABLE sales_hash (salesman_id NUMBER(5),salesman_name VARCHAR2(30),) PARTITION BY HASH(salesman_id) PARTITIONS 2 STORE IN (ts1,ts2);

  • Subpartitions are are available
票数 2
EN

Stack Overflow用户

发布于 2014-01-09 20:02:14

在Oracle11中,您可以定义分区表,以便在插入/更新任何数据时自动添加分区。那你就不需要关心它了。

DDL是这样的:

代码语言:javascript
运行
复制
CREATE TABLE T_TABLE
(
  LOG_PROC_ID      NUMBER                       NOT NULL,
....
)
TABLESPACE MY_TABLESPACE 
PARTITION BY RANGE (LOG_PROC_ID) INTERVAL (10000)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21019100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档