sql >> Databasteknik >  >> RDS >> Oracle

Oracle-tabell dynamisk partition

Skapa tabellen med intervallpartitionering:

CREATE TABLE 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)
) partition by range(insert_datetime) interval (interval '15' minute)
(
    partition initial_partition values less than (date '2000-01-01')
);

Partitioner skapas dynamiskt när data infogas.

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'

Undvik TABLESPACE "SYSTEM" på en orelaterade anteckning . Du vill nästan aldrig lagra användar- eller programdata i SYSTEM-tabellutrymmet.




  1. Måste SQL-anslutningar som öppnas med PDO i PHP stängas

  2. Hur man genererar skript för att lägga till standardbegränsningar till kolumn i flera tabeller i SQL Server-databasen - SQL Server / TSQL självstudie del 94

  3. PreparedStatement och setTimestamp i oracle jdbc

  4. Förstå index i MySQL:Del ett