Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle表动态分区_Sql_Oracle - Fatal编程技术网

Sql Oracle表动态分区

Sql Oracle表动态分区,sql,oracle,Sql,Oracle,我正在编写一个java代码,根据INSERT_DATETIME字段(时间戳),每隔15分钟从oracle表上传一次数据。我需要根据15分钟的间隔对表进行分区。是否有一种方法可以动态执行(分区)。我正在oracle SQL developer中使用oracle11g 我创建的其中一个表的示例,我想添加一个分区: CREATE TABLE "PV_TNPM"."TEJAS_CARD_REPORT" ( "INSERT_DATETIME" TIMESTAMP (6) NOT NULL ENABL

我正在编写一个java代码,根据INSERT_DATETIME字段(时间戳),每隔15分钟从oracle表上传一次数据。我需要根据15分钟的间隔对表进行分区。是否有一种方法可以动态执行(分区)。我正在oracle SQL developer中使用oracle11g

我创建的其中一个表的示例,我想添加一个分区:

CREATE TABLE "PV_TNPM"."TEJAS_CARD_REPORT" 
(   "INSERT_DATETIME" TIMESTAMP (6) NOT NULL ENABLE, 
"NAME" VARCHAR2(100 BYTE), 
"IPADDRESS" VARCHAR2(100 BYTE), 
"PRODUCTCODE" VARCHAR2(100 BYTE), 
"LCTNAME" VARCHAR2(100 BYTE), 
"CARDTYPELABEL" VARCHAR2(100 BYTE), 
"SOFTWAREVERSION" VARCHAR2(100 BYTE)
) SEGMENT CREATION IMMEDIATE 
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 32768 NEXT 1523712 MINEXTENTS 1 MAXEXTENTS 1017
PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SYSTEM" ;
我不熟悉SQL,因为上面的代码只是从我创建的表生成的。感谢您的帮助。谢谢您

使用以下内容创建表格:

在插入数据时动态创建分区

insert into tejas_card_report(insert_datetime) values (timestamp '2000-01-01 00:14:00');
insert into tejas_card_report(insert_datetime) values (timestamp '2000-01-01 00:29:00');
insert into tejas_card_report(insert_datetime) values (timestamp '2000-10-11 00:00:00');

SQL> select partition_name, high_value from dba_tab_partitions where table_name = 'TEJAS_CARD_REPORT';

PARTITION_NAME       HIGH_VALUE
-------------------- --------------------------------------------------------------------------------
SYS_P21516           TIMESTAMP' 2000-10-11 00:15:00'
SYS_P21515           TIMESTAMP' 2000-01-01 00:30:00'
SYS_P21514           TIMESTAMP' 2000-01-01 00:15:00'
INITIAL_PARTITION    TIMESTAMP' 2000-01-01 00:00:00'

另一方面,避免使用
表空间“SYSTEM”
。您几乎不想在系统表空间中存储任何用户或应用程序数据。

谢谢。确切地说,我需要:)
insert into tejas_card_report(insert_datetime) values (timestamp '2000-01-01 00:14:00');
insert into tejas_card_report(insert_datetime) values (timestamp '2000-01-01 00:29:00');
insert into tejas_card_report(insert_datetime) values (timestamp '2000-10-11 00:00:00');

SQL> select partition_name, high_value from dba_tab_partitions where table_name = 'TEJAS_CARD_REPORT';

PARTITION_NAME       HIGH_VALUE
-------------------- --------------------------------------------------------------------------------
SYS_P21516           TIMESTAMP' 2000-10-11 00:15:00'
SYS_P21515           TIMESTAMP' 2000-01-01 00:30:00'
SYS_P21514           TIMESTAMP' 2000-01-01 00:15:00'
INITIAL_PARTITION    TIMESTAMP' 2000-01-01 00:00:00'