oracle 增长型分区,oracle表分区增加分区
昨天發(fā)現(xiàn)車輛軌跡庫的表分區(qū)用完了,連夜加了分區(qū),我們存軌跡的這張表建分區(qū)的時候按日
期建只到2012-10-15,分區(qū)名從TAB_GPSBUSHIS_P1....TAB_GPSBUSHIS_P999,從2012-10-15開始的
數(shù)據(jù)就默認(rèn)都存在了TAB_GPSBUSHIS_P1000,所以現(xiàn)在的任務(wù)就是從2012-10-16開始繼續(xù)建分區(qū)。
為了分區(qū)的序號連續(xù)性,我先將maxvalue對應(yīng)的分區(qū)改了個名
alter table tab_gpsbushis rename partition tab_gpsbushis_p1000
to tab_gpsbushis_pmax
增加分區(qū)的命令
alter table tab_gpsbushis add ?partition
TAB_GPSBUSHIS_P1000 values less than (TO_DATE(' 2012-10-16
00:00:00', 'SYYYY-MM-DD HH24:MI:SS',
'NLS_CALENDAR=GREGORIAN'));
報這個因為你建了maxvalue的分區(qū),就會報錯(我后來把這個分區(qū)的數(shù)據(jù)轉(zhuǎn)移掉了,還是不行,所以我想是不是只要建了maxvalue的分區(qū)就不能繼續(xù)增加分區(qū)了)
于是就google,終于找到熱心網(wǎng)友的解決之道,先split,把這里的數(shù)據(jù)轉(zhuǎn)移掉,我這里的情況是2012-10-15發(fā)現(xiàn)分區(qū)不夠了,所以maxvalue對應(yīng)的分區(qū)只存了2012-10-15的軌跡數(shù)據(jù)(還有一些不合法的日期的數(shù)據(jù)),我是這樣split的:
alter table TAB_GPSBUSHIS
split partition TAB_GPSBUSHIS_PMAX at (TO_DATE(' 2012-10-16
00:00:00', 'SYYYY-MM-DD HH24:MI:SS',
'NLS_CALENDAR=GREGORIAN'))
into (partition TAB_GPSBUSHIS_P1000, partition
TAB_GPSBUSHIS_PMAX)
如果你2012-10-20發(fā)現(xiàn)的,你應(yīng)該就這樣寫了
alter table TAB_GPSBUSHIS
split partition TAB_GPSBUSHIS_PMAX at (TO_DATE(' 2012-10-21
00:00:00', 'SYYYY-MM-DD HH24:MI:SS',
'NLS_CALENDAR=GREGORIAN'))
into (partition TAB_GPSBUSHIS_P1000, partition
TAB_GPSBUSHIS_PMAX)
再查看表屬性中的分區(qū)就會發(fā)現(xiàn)多了TAB_GPSBUSHIS_P1000這個分區(qū),
查TAB_GPSBUSHIS_PMAX分區(qū)下的數(shù)據(jù)確實就只剩下些非法數(shù)據(jù)了,就可以全delete掉了
這時候再執(zhí)行那個add partition操作還是報同樣的錯,所以我就干脆把maxvalue對應(yīng)的分區(qū)給drop掉了
ALTER TABLE tab_gpsbushis?DROP PARTITION
tab_gpsbushis_pmax?;
然后再執(zhí)行add partition操作,ok成功了
然后就拼命加啊,加啊,加到了2012-12-31,就先加到這吧
最后又把maxvalue對應(yīng)的分區(qū)加上了,
alter table tab_gpsbushis add partition tab_gpsbushis_pmax
values less than (maxvalue).
ok,結(jié)束
總結(jié)
以上是生活随笔為你收集整理的oracle 增长型分区,oracle表分区增加分区的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论坛 php 最好的,新手问下,这是人气
- 下一篇: 微信公众号发多个消息php,微擎系统微信