資料庫分割槽表分割槽未分配導致的一些問題
起因:今天是8月16日,資料庫的分割槽表為日分割槽的格式,分割槽最晚只分到8月8日,現在8月9日的資料分到了P_MAX 裡,資料檔案這時又不合時宜的滿了,導致現在不能往裡寫資料,現在這個表已經不能用了。
1.我先新增了資料檔案:
SQL:
ALTER TABLESPACE TBS_APTS_BSVC_CAN ADD DATAFILE 'D:…..TBS_APTS_BSVC_CAN08.DBF' size 10G autoextend on next 2000m;
這時,應用往裡P_MAX分割槽裡寫今天的資料。
2.我開始從P_MAX裡切分P_20140809分割槽
SQL:
alter table BSVCBUSCANDATA split partition P_MAX at (to_date('2014-08-10','YYYY-MM-DD')) into (partition P_20140809 tablespace tbs_apts_bsvc_can,partition P_MAX);
報:ORA-14080無法按指定的上限來分割分割槽
在網上搜了了一下,按解釋說,這個錯誤的原因就是:切分的分割槽P_20140809範圍大於P_MAX,這也不可能啊。
3.後來跟一個大哥進行了討論,決定試試能不能切分明天的分割槽
SQL:
alter table BSVCBUSCANDATA split partition P_MAX at (to_date('2014-08-17','YYYY-MM-DD'))into (partition P_20140816 tablespace tbs_apts_bsvc_can,partition P_MAX);
注意:這塊挺有意思,這裡是小於8-17,就是8-16了。
語句執行成功,這時我又往後切分,也成功。
4.但是這樣不行,我們勢必要把9-15的分割槽新增上,如果剛開始用P_MAX切,會報錯:這次我嘗試把剛分出來的16號的,離之前最近的分割槽切了,這時就可以切了:
alter table BSVCBUSCANDATA split partition P_20140816 at (to_date('2014-08-10','YYYY-MM-DD')) into (partition P_20140809 tablespace tbs_apts_bsvc_can,partition P_20140816);
alter table BSVCBUSCANDATA split partition P_20140816 at (to_date('2014-08-11','YYYY-MM-DD')) into (partition P_20140810 tablespace tbs_apts_bsvc_can,partition P_20140816);
alter table BSVCBUSCANDATA split partition P_20140816 at (to_date('2014-08-12','YYYY-MM-DD')) into (partition P_20140811 tablespace tbs_apts_bsvc_can,partition P_20140816);
總結:
當我們split分割槽,當使用P_MAX的時候,只能切出今天之後的分割槽,不能切過去的分割槽,切完之後,再用離過去最近的將來分割槽,比如此例是明天的分割槽,進行切分,才能切出過去的分割槽。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25116248/viewspace-1263458/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫分割槽表SPLIT操作導致歸檔瘋漲Oracle資料庫
- oracle分割槽表和分割槽表exchangeOracle
- oracle分割槽表和非分割槽表exchangeOracle
- [oracle] expdp 匯出分割槽表的分割槽Oracle
- PostgreSQL/LightDB 分割槽表之分割槽裁剪SQL
- PG的非分割槽表線上轉分割槽表
- MySql資料分割槽操作之新增分割槽操作MySql
- oracle 分割槽表move和包含分割槽表的lob moveOracle
- 移動分割槽表和分割槽索引的表空間索引
- 非分割槽錶轉換成分割槽表
- Oracle分割槽表基礎運維-07增加分割槽(3列表分割槽)Oracle運維
- Oracle分割槽表基礎運維-07增加分割槽(2 HASH分割槽)Oracle運維
- MySQL資料表分割槽手記MySql
- zabbix上對mysql資料庫做分割槽表MySql資料庫
- 【MYSQL】 分割槽表MySql
- 調整分割槽後分割槽不見的資料找到方法
- Oracle分割槽表基礎運維-07增加分割槽(1範圍分割槽)Oracle運維
- PostgreSQL/LightDB分割槽表之常見問題SQL
- HGDB的分割槽表實現SQL Server的分割槽檢視SQLServer
- 【Linux】MBR磁碟分割槽表只能有四個分割槽?Linux
- 重灌系統導致分割槽丟失的資料恢復案例資料恢復
- Oracle分割槽表基礎運維-04列表分割槽Oracle運維
- ORACLE刪除-表分割槽和資料Oracle
- hive 動態分割槽插入資料表Hive
- SQL Server大分割槽表沒有空分割槽的情況下如何擴充套件分割槽的方法SQLServer套件
- 資料庫系統設計:分割槽資料庫
- 分割槽表-實戰
- MySQL 分割槽表探索MySql
- Linux分割槽方案、分割槽建議Linux
- Oracle分割槽表基礎運維-09刪除分割槽Oracle運維
- Oracle分割槽表基礎運維-05組合分割槽Oracle運維
- Oracle分割槽表基礎運維-02範圍分割槽Oracle運維
- Oracle分割槽表基礎運維-03HASH分割槽Oracle運維
- 分割槽表之自動增加分割槽(11G)
- mysql 5.7.11查詢分割槽表的一個問題MySql
- Kafka分割槽分配策略(Partition Assignment Strategy)Kafka
- Oracle分割槽表基礎運維-06分割槽表索引Oracle運維索引
- oracle 線上重新定義,普通表改變分割槽表,分割槽表可以更改型別、分割槽欄位等Oracle型別
- 重建Windows引導分割槽Windows