範圍分割槽(range)--本篇本章講解的分割槽
雜湊分割槽(hash)
列表分割槽(list)
範圍-雜湊復合分割槽(range-hash)
範圍-列表復合分割槽(range-list)
檢視分割槽數 :select*from user_tab_partitions where table_name='表名'
檢視分割槽內容:select * from 表名 partition(分割槽名) ;
alter table 表名 add partition 分割槽名 values (分割槽字段)
tablespace tbs_zba_czc --表空間
pctfree 10 --預留的空間大小,10%
initrans 1 --的是乙個 block 上初始預分配給並行交易控制的空間
maxtrans 255 --如果initrans 不夠了,自動擴充套件,最大這個值
create table emp02(
empno number,
ename varchar2(10),
job varchar2(9),
mgr number,
hiredate date,
sal number(7,2),
comm number(7,2),
deptno number)
partition by range (hiredate) --主分割槽
(partition p1 values less than (to_date('2021-02-1', 'yyyy-mm-dd'))
tablespace itheima
pctfree 10
initrans 1
maxtrans 255
storage
(initial 64k
next 1m
minextents 1
maxextents unlimited
),partition p2 values less than (to_date('2021-03-1', 'yyyy-mm-dd'))
tablespace itheima
pctfree 10
initrans 1
maxtrans 255
storage
(initial 64k
next 1m
minextents 1
maxextents unlimited
));
方式一
alter table test add partition p20180111 values less than (timestamp '2018-01-12 00:00:00')
方式二
alter table test add partition p20180112 values less than (to_date('20180113 00:00:00','yyyymmdd hh24:mi:ss'));
(1)若在建立日分割槽的時候使用的是精確到秒的timestamp型別,由於其值與date型別是一致的,因此oracle引擎會將其與date同等對待,但是最終的建分割槽語句使用的還是timestamp,即使你在新增分割槽時使用的是to_date,也即是說以最開始見分割槽時候的關鍵字(timestamp)為準;
(2)若在建立日分割槽的時候使用的是精確到毫秒的timestamp型別,由於timestamp 『20180101 00:00:00.000』與timestamp 『20180101 00:00:00』值是一樣的因此,會將二者同等對待;但是在但是最終的建分割槽語句使用的還是」timestamp精確到秒」,即使你在新增分割槽時使用的是」timestamp精確到毫秒」,也即是說以最開始見分割槽時候的」timestamp精確到秒」為準;
ORACLE自動建立分割槽
oracle設定按日期的分割槽表,並保證每日均有15天的富餘。如若某天分割槽建立執行失敗,建立分割槽時需將失敗那天的分割槽補充建立。每天按照最大分割槽同當前時間比對判斷,檢視缺失多少天,然後迴圈建立分割槽。建立儲存過程 create or replace procedure zxjy ora.add...
Oracle 建立分割槽表
建立表空間 create tablespace mytablespace 1 datafile c oracle product 10.1.0 oradata mydata mytablespace1.dbf size 100m extent management local uniform siz...
Oracle 建立分割槽表
建立表空間 create tablespace mytablespace 1 datafile c oracle product 10.1.0 oradata mydata mytablespace1.dbf size 100m extent management local uniform siz...