Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Dzienne partycjonowanie bazy danych Oracle

oto przykład, jak to zrobić na Oracle 11g i działa bardzo dobrze. Nie próbowałem tego na Oracle 10g, możesz spróbować.

Oto sposób tworzenia tabeli z dziennymi partycjami:

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;

Jak widać powyżej, Oracle automatycznie utworzy oddzielne partycje dla każdego odrębnego dnia partycji po 1 stycznia 2000 r. Rekordy, których data_partycji jest starsza niż ta data, będą przechowywane w partycji o nazwie „part_01”.

Możesz monitorować partycje tabeli za pomocą tej instrukcji:

SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';

Następnie, jeśli chcesz usunąć niektóre partycje, użyj następującego polecenia:

ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES

gdzie 'AAAAAA' to nazwa partycji.

Mam nadzieję, że ci to pomoże!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak rozwiązać ORA-04063:widok SYS.ALL_QUEUE_TABLES zawiera błędy?

  2. usuwanie milisekund z pola Oracle tmstmp

  3. Jak mogę uzyskać wartość CDATA z xml?

  4. ORA-00904:ID:nieprawidłowy identyfikator

  5. Jak zmienić format daty w bazie danych Oracle