Rumah > pangkalan data > Oracle > Bagaimana untuk menambah partition pada jadual dalam oracle

Bagaimana untuk menambah partition pada jadual dalam oracle

WBOY
Lepaskan: 2022-03-07 15:26:56
asal
28684 orang telah melayarinya

Dalam Oracle, anda boleh menggunakan pernyataan ALTER dengan "ADD PARTITION" untuk menambah partition pada jadual.

Bagaimana untuk menambah partition pada jadual dalam oracle

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.

Cara menambah partition pada jadual Oracle

1 Tambah partition

Arahan berikut menambah partition P3 pada jadual SALES

<.>
ALTER TABLE SALES ADD PARTITION P3 VALUES LESS THAN(TO_DATE(&#39;2018-09-01&#39;,&#39;YYYY-MM-DD&#39;));
Salin selepas log masuk
Nota: Sempadan partition yang ditambahkan di atas hendaklah lebih tinggi daripada sempadan partition terakhir.

Arahan berikut menambahkan subpartisi P3SUB1 pada partition P3 pada jadual SALES

ALTER TABLE SALES MODIFY PARTITION P3 ADD SUBPARTITION P3SUB1 VALUES(&#39;COMPLETE&#39;);
Salin selepas log masuk

2. Padamkan partition

Arahan berikut memadamkan partition Jadual P3:

ALTER TABLE SALES DROP PARTITION P3;
Salin selepas log masuk
Subpartition P4SUB1 telah dipadamkan dengan arahan berikut:

ALTER TABLE SALES DROP SUBPARTITION P4SUB1;
Salin selepas log masuk
Nota: Jika partition yang dipadam adalah satu-satunya partition dalam jadual, maka partition ini tidak boleh dipadamkan, untuk memadam partition ini, jadual mesti digugurkan.

3. Memotong partition

Memotong partition bermakna memadamkan data dalam partition tertentu Ia tidak akan memadamkan partition, begitu juga dengan data lain data sekatan. Apabila terdapat hanya satu partition dalam jadual, partition boleh dipotong. Potong partition melalui arahan berikut:

ALTER TABLE SALES TRUNCATE PARTITION P2;
Salin selepas log masuk
Potong sub-partition melalui arahan berikut:

ALTER TABLE SALES TRUNCATE SUBPARTITION P2SUB2;
Salin selepas log masuk

4. Cantumkan partition

Merge partition ialah Gabungkan partition bersebelahan ke dalam satu partition. Partition yang terhasil akan mengambil sempadan partition yang lebih tinggi. Perintah berikut merealisasikan penggabungan partition P1 P2:

ALTER TABLE SALES MERGE PARTITIONS P1,P2 INTO PARTITION P2;
Salin selepas log masuk

5 Split partition

Split partition Belah satu partition kepada dua partition baru partition asal tidak wujud lagi. Ambil perhatian bahawa partition jenis HASH tidak boleh dipecahkan.

ALTER TABLE SALES SBLIT PARTITION P2 AT(TO_DATE(&#39;2003-02-01&#39;,&#39;YYYY-MM-DD&#39;)) INTO (PARTITION P21,PARTITION P22);
Salin selepas log masuk

6. Coalesca

Coalesca ialah untuk menggabungkan data dalam partition hash ke partition lain Apabila data dalam partition hash Apabila data adalah relatif besar, anda boleh menambah partition hash dan kemudian menyertainya Perlu diingat bahawa partition join hanya boleh digunakan dalam partition hash. Gunakan arahan berikut untuk menyertai partition:

ALTER TABLE SALES COALESCA PARTITION;
Salin selepas log masuk

7. Namakan semula partition table

Arahan berikut akan menukar P21 kepada P2

ALTER TABLE SALES RENAME PARTITION P21 TO P2;
Salin selepas log masuk

8. Pertanyaan berkaitan

Pertanyaan pembahagian silang

select sum( *) from
(select count(*) cn from t_table_SS PARTITION (P200709_1)
union all
select count(*) cn from t_table_SS PARTITION (P200709_2)
);
Salin selepas log masuk
Pertanyaan berapa banyak partition yang terdapat pada jadual

SELECT * FROM USER_TAB_PARTITIONS WHERE TABLE_NAME=&#39;tableName&#39;
Salin selepas log masuk
Maklumat indeks pertanyaan

select object_name,object_type,tablespace_name,sum(value)
from v$segment_statistics
where statistic_name IN (&#39;physical reads&#39;,&#39;physical write&#39;,&#39;logical reads&#39;)and object_type=&#39;INDEX&#39;
group by object_name,object_type,tablespace_name
order by 4 desc
Salin selepas log masuk
--显示数据库所有分区表的信息:
select * from DBA_PART_TABLES
--显示当前用户可访问的所有分区表信息:
select * from ALL_PART_TABLES
--显示当前用户所有分区表的信息:
select * from USER_PART_TABLES
--显示表分区信息 显示数据库所有分区表的详细分区信息:
select * from DBA_TAB_PARTITIONS
--显示当前用户可访问的所有分区表的详细分区信息:
select * from ALL_TAB_PARTITIONS
--显示当前用户所有分区表的详细分区信息:
select * from USER_TAB_PARTITIONS
--显示子分区信息 显示数据库所有组合分区表的子分区信息:
select * from DBA_TAB_SUBPARTITIONS
--显示当前用户可访问的所有组合分区表的子分区信息:
select * from ALL_TAB_SUBPARTITIONS
--显示当前用户所有组合分区表的子分区信息:
select * from USER_TAB_SUBPARTITIONS
--显示分区列 显示数据库所有分区表的分区列信息:
select * from DBA_PART_KEY_COLUMNS
--显示当前用户可访问的所有分区表的分区列信息:
select * from ALL_PART_KEY_COLUMNS
--显示当前用户所有分区表的分区列信息:
select * from USER_PART_KEY_COLUMNS
--显示子分区列 显示数据库所有分区表的子分区列信息:
select * from DBA_SUBPART_KEY_COLUMNS
--显示当前用户可访问的所有分区表的子分区列信息:
select * from ALL_SUBPART_KEY_COLUMNS
--显示当前用户所有分区表的子分区列信息:
select * from USER_SUBPART_KEY_COLUMNS
--怎样查询出oracle数据库中所有的的分区表
select * from user_tables a where a.partitioned=&#39;YES&#39;
--删除一个表的数据是
truncate table table_name;
--删除分区表一个分区的数据是
alter table table_name truncate partition p5;
Salin selepas log masuk
Tutorial yang disyorkan: "

Tutorial Video Oracle"

Atas ialah kandungan terperinci Bagaimana untuk menambah partition pada jadual dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan