我有一个Oracle11g生产和测试environment.Now,我想将所有可用的分区从生产环境复制到测试环境。是否可以一次完成,或者我必须使用alter table语句逐个创建分区。
发布于 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',‘弗吉尼亚’,‘佛罗里达’) );
CREATE TABLE sales_hash (salesman_id NUMBER(5),salesman_name VARCHAR2(30),) PARTITION BY HASH(salesman_id) PARTITIONS 2 STORE IN (ts1,ts2);
发布于 2014-01-09 20:02:14
在Oracle11中,您可以定义分区表,以便在插入/更新任何数据时自动添加分区。那你就不需要关心它了。
DDL是这样的:
CREATE TABLE T_TABLE
(
LOG_PROC_ID NUMBER NOT NULL,
....
)
TABLESPACE MY_TABLESPACE
PARTITION BY RANGE (LOG_PROC_ID) INTERVAL (10000)
https://stackoverflow.com/questions/21019100
复制相似问题