Oracle帶區域性分割槽索引的分割槽表刪除舊分割槽新增新分割槽
Oracle帶區域性分割槽索引的分割槽表刪除舊分割槽新增新分割槽
為了方便測試,所有的實驗步驟都用sys使用者操作。
1 建立四個資料表空間(分別放四個季度的資料)
SQL> create tablespace QUR_DT01 logging datafile '/oracle/app/oradata/mytablespace/QUR_DT01.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;
表空間已建立。
SQL> create tablespace QUR_DT02 logging datafile '/oracle/app/oradata/mytablespace/QUR_DT02.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;
表空間已建立。
SQL> create tablespace QUR_DT03 logging datafile '/oracle/app/oradata/mytablespace/QUR_DT03.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;
表空間已建立。
SQL> create tablespace QUR_DT04 logging datafile '/oracle/app/oradata/mytablespace/QUR_DT04.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;
表空間已建立。
2 建立四個索引表空間
SQL> create tablespace QUR_IDX01 logging datafile '/oracle/app/oradata/mytablespace/QUR_IDX01.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;
表空間已建立。
SQL> create tablespace QUR_IDX02 logging datafile '/oracle/app/oradata/mytablespace/QUR_IDX02.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;
表空間已建立。
SQL> create tablespace QUR_IDX03 logging datafile '/oracle/app/oradata/mytablespace/QUR_IDX03.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;
表空間已建立。
SQL> create tablespace QUR_IDX04 logging datafile '/oracle/app/oradata/mytablespace/QUR_IDX04.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;
表空間已建立。
3 建立季度分割槽表
create table t(mydate varchar2(20), amount number) partition by range(mydate)
(
partition p20140101 values less than ('20140101') tablespace QUR_DT01,
partition p20140401 values less than ('20140401') tablespace QUR_DT02,
partition p20140701 values less than ('20140701') tablespace QUR_DT03,
partition p20141001 values less than ('20141001') tablespace QUR_DT04
);
驗證:
SQL> SELECT tablespace_name,partition_name FROM dba_tab_partitions where table_name='T';
TABLESPACE_NAME PARTITION_NAME
------------------------------ ------------------------------
QUR_DT01 P20140101
QUR_DT02 P20140401
QUR_DT03 P20140701
QUR_DT04 P20141001
4 對日期列建立區域性分割槽索引
create index local_date_index on t(mydate) local
(
partition p20140101 tablespace QUR_IDX01,
partition p20140401 tablespace QUR_IDX02,
partition p20140701 tablespace QUR_IDX03,
partition p20141001 tablespace QUR_IDX04
);
索引已建立。
驗證:
SQL> select segment_name,partition_name,tablespace_name from dba_segments where segment_name='LOCAL_DATE_INDEX';
SEGMENT_NAME PARTITION_NAME TABLESPACE_NAME
-------------------- -------------------- --------------------
LOCAL_DATE_INDEX P20140101 QUR_IDX01
LOCAL_DATE_INDEX P20140401 QUR_IDX02
LOCAL_DATE_INDEX P20140701 QUR_IDX03
LOCAL_DATE_INDEX P20141001 QUR_IDX04
5 刪除第一個分割槽
SQL> alter table t drop partition p20140101;
表已更改。
驗證分割槽表:
SQL> SELECT tablespace_name,partition_name FROM dba_tab_partitions where table_name='T';
TABLESPACE_NAME PARTITION_NAME
-------------------- --------------------
QUR_DT02 P20140401
QUR_DT03 P20140701
QUR_DT04 P20141001
驗證分割槽索引:
SQL> select segment_name,partition_name,tablespace_name from dba_segments where segment_name='LOCAL_DATE_INDEX';
SEGMENT_NAME PARTITION_NAME TABLESPACE_NAME
-------------------- -------------------- --------------------
LOCAL_DATE_INDEX P20140401 QUR_IDX02
LOCAL_DATE_INDEX P20140701 QUR_IDX03
LOCAL_DATE_INDEX P20141001 QUR_IDX04
這裡可以看出,表分割槽被刪除之後,相應的索引分割槽也自動被刪除。
6 新增一個分割槽並更新索引
SQL> alter table t add partition p20150101 values less than('20150101') tablespace QUR_DT01 update indexes (local_date_index(partition P20150101 tablespace QUR_IDX01));
表已更改。
驗證分割槽表:
SQL> SELECT tablespace_name,partition_name FROM dba_tab_partitions where table_name='T';
TABLESPACE_NAME PARTITION_NAME
-------------------- --------------------
QUR_DT02 P20140401
QUR_DT03 P20140701
QUR_DT04 P20141001
QUR_DT01 P20150101
驗證分割槽索引:
SQL> select segment_name,partition_name,tablespace_name from dba_segments where segment_name='LOCAL_DATE_INDEX';
SEGMENT_NAME PARTITION_NAME TABLESPACE_NAME
-------------------- -------------------- --------------------
LOCAL_DATE_INDEX P20140401 QUR_IDX02
LOCAL_DATE_INDEX P20140701 QUR_IDX03
LOCAL_DATE_INDEX P20141001 QUR_IDX04
LOCAL_DATE_INDEX P20150101 QUR_IDX01
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29485627/viewspace-1277492/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle分割槽表基礎運維-09刪除分割槽Oracle運維
- oracle分割槽表和分割槽表exchangeOracle
- oracle分割槽表和非分割槽表exchangeOracle
- [oracle] expdp 匯出分割槽表的分割槽Oracle
- Oracle分割槽表基礎運維-07增加分割槽(2 HASH分割槽)Oracle運維
- 移動分割槽表和分割槽索引的表空間索引
- Oracle分割槽表基礎運維-06分割槽表索引Oracle運維索引
- Oracle分割槽表基礎運維-07增加分割槽(3列表分割槽)Oracle運維
- oracle 分割槽表move和包含分割槽表的lob moveOracle
- Oracle分割槽表基礎運維-07增加分割槽(1範圍分割槽)Oracle運維
- PostgreSQL/LightDB 分割槽表之分割槽裁剪SQL
- ORACLE刪除-表分割槽和資料Oracle
- 非分割槽錶轉換成分割槽表
- Linux 分割槽擴容(根分割槽擴容,SWAP 分割槽擴容,掛載新分割槽為目錄)Linux
- Oracle分割槽表基礎運維-05組合分割槽Oracle運維
- Oracle分割槽表基礎運維-02範圍分割槽Oracle運維
- Oracle分割槽表基礎運維-03HASH分割槽Oracle運維
- Linux 新增LVM分割槽及LVM分割槽擴容LinuxLVM
- MySql資料分割槽操作之新增分割槽操作MySql
- Oracle分割槽表基礎運維-04列表分割槽Oracle運維
- PG的非分割槽表線上轉分割槽表
- Linux分割槽方案、分割槽建議Linux
- Oracle12c:建立主分割槽、子分割槽,實現自動分割槽插入效果Oracle
- ORACLE分割槽表梳理系列Oracle
- 【MYSQL】 分割槽表MySql
- 增加表分割槽時,為local分割槽索引指定不同表空間的方法索引
- oracle 線上重新定義,普通表改變分割槽表,分割槽表可以更改型別、分割槽欄位等Oracle型別
- 【Linux】MBR磁碟分割槽表只能有四個分割槽?Linux
- Oracle分割槽表基礎運維-01分割槽表分類Oracle運維
- Oracle 12C新特性-線上把非分割槽錶轉為分割槽表Oracle
- Hive的靜態分割槽與動態分割槽Hive
- SQL Server大分割槽表沒有空分割槽的情況下如何擴充套件分割槽的方法SQLServer套件
- HGDB的分割槽表實現SQL Server的分割槽檢視SQLServer
- 分割槽表之自動增加分割槽(11G)
- Oracle 12.2之後ALTER TABLE .. MODIFY轉換非分割槽表為分割槽表Oracle
- openGauss 分割槽
- mysql 分割槽MySql
- 分割槽Partition
- lvs 分割槽