新聞中心
ORACLE分區(qū)表用什么方法刪除一個(gè)分區(qū)的所有數(shù)據(jù)
這個(gè)要看你的業(yè)務(wù)要不要備份保留這個(gè)分區(qū)的數(shù)據(jù),如果不需要保留,可以直接truncate/drop分區(qū)的,如果要保留,可以用交換分區(qū)方法;
創(chuàng)新互聯(lián)是一家專業(yè)的成都網(wǎng)站建設(shè)公司,我們專注網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營銷、企業(yè)網(wǎng)站建設(shè),友情鏈接,一元廣告為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計(jì)到用戶體驗(yàn)提高,創(chuàng)新互聯(lián)力求做到盡善盡美。
具體步驟:
1.不保留,直接刪除:
alter
table
table_name
drop/truncate
partition
partition_name;
具體用drop還是truncate,得你自己衡量,drop的話原來的分區(qū)和數(shù)據(jù)直接就沒有了,truncate的話,只是數(shù)據(jù)沒有了,分區(qū)還在。
2.保留數(shù)據(jù)作為備份,交換分區(qū)
2.1創(chuàng)建一個(gè)表結(jié)構(gòu)一樣的表:
create
table
teable_bak
as
select
*
from
table_name
where
1=2;
--只要表結(jié)構(gòu),不要數(shù)據(jù);
2.2分區(qū)交換
alter
table
table_name
exchange
partition
partition_name
with
table
table_bak;
這樣執(zhí)行后,分區(qū)partition_name的數(shù)據(jù)就會交換到table_bak中,table_bak的數(shù)據(jù)(剛剛建的空表)就會到分區(qū)里面去。
oracle中如何動(dòng)態(tài)刪除分區(qū)數(shù)據(jù)
可以用
ALTER
TABLE
DROP
PARTITION
來刪除分區(qū),元數(shù)據(jù)和數(shù)據(jù)將被一并刪除。
全刪除
ALTER
TABLE
yourTable
DROP
PARTITION
partionName1;
清數(shù)據(jù)
ALTER
TABLE
yourTable
TRUNCATE
PARTITION
partionName1;
語句雖簡單、操作需謹(jǐn)慎。
ORACLE能不能一次刪除或者清空多個(gè)分區(qū)
oracle是沒有直接刪除全部分區(qū)或多個(gè)分區(qū)的語句,但是可以變通方法
方法一:先備份表,再刪除表、重新創(chuàng)建表;
方法二:拼接
sql語句
,比如
SELECT
'ALTER
TABLE
LOG_INFO
DROP
PARTITION
'
||
PARTITION_NAME
||
';'
FROM
USER_TAB_PARTITIONS
WHERE
TABLE_NAME
=
'LOG_INFO';
可以列出刪除所有分區(qū)的語句,全部執(zhí)行即可。
oracle如何通過傳入?yún)?shù)清理指定分區(qū)
可以用 ALTER TABLE DROP PARTITION 來刪除分區(qū),元數(shù)據(jù)和數(shù)據(jù)將被一并刪除。
全刪除
ALTER TABLE yourTable DROP PARTITION partionName1;
清數(shù)據(jù)
ALTER TABLE yourTable TRUNCATE PARTITION partionName1;
語句雖簡單、操作需謹(jǐn)慎。
oracle過期分區(qū)表的清理
alter table test truncate partiton a;
alter table test truncate partiton b;
alter table test truncate partiton c;
alter table test truncate partiton d;
declare
job number;
begin
sys.dbms_job.submit(job,trunc(sysdate+1)+2/24,
'alter table test truncate partiton a;
alter table test truncate partiton b;
alter table test truncate partiton c;
alter table test truncate partiton d;'
,'trunc(sysdate+1)+2/24');
commit;
end;
/
oracle中怎么刪除分區(qū)表?
可以用 ALTER TABLE DROP PARTITION 來刪除分區(qū),元數(shù)據(jù)和數(shù)據(jù)將被一并刪除。
全刪除
ALTER TABLE yourTable DROP PARTITION partionName1;
清數(shù)據(jù)
ALTER TABLE yourTable TRUNCATE PARTITION partionName1;
語句雖簡單、操作需謹(jǐn)慎。
網(wǎng)站題目:oracle如何清理分區(qū),oracle如何清理分區(qū)表
文章鏈接:http://www.ef60e0e.cn/article/dsegieg.html