Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle DB ежедневно разделяне

ето пример как да го направите на Oracle 11g и работи много добре. Не съм го пробвал на Oracle 10g, можете да го пробвате.

Това е начинът за създаване на таблица с дневни дялове:

CREATE TABLE XXX (
    partition_date   DATE,
  ...,
  ...,
)
PARTITION BY RANGE (partition_date)
INTERVAL (NUMTODSINTERVAL(1, 'day'))
(
   PARTITION part_01 values LESS THAN (TO_DATE('2000-01-01','YYYY-MM-DD'))
)
TABLESPACE  MY_TABLESPACE
NOLOGGING;

Както виждате по-горе, Oracle автоматично ще създаде отделни дялове за всеки отделен partition_day след 1 януари 2000 г. Записите, чиято partition_date е по-стара от тази дата, ще се съхраняват в дял, наречен 'part_01'.

Можете да наблюдавате дяловете на вашата таблица, като използвате този оператор:

SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';

След това, когато искате да изтриете някои дялове, използвайте следната команда:

ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES

където 'AAAAAA' е име на дял.

Надявам се, че ще ви помогне!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 7 неща, които трябва да знаете за отделенията в Oracle Cloud Infrastructure

  2. Метод за събиране:ПРЕДИШНИ И СЛЕДВАЩИ функции в базата данни на Oracle

  3. Преобразуване на целочислена стойност от db колона в текст в Oracle

  4. Добър инструмент за разработка и управление на база данни на Oracle в Windows

  5. ORA-12638:Неуспешно извличане на идентификационни данни