create table T_parttab_str
(
PROVINCE_ID varchar2(8) not null,
MATER_TYPE NVARCHAR2(2)
)
partition by range (PROVINCE_ID)
(
PARTITION p1 VALUES LESS THAN ('2'),
PARTITION p2 VALUES LESS THAN ('3'),
PARTITION p3 VALUES LESS THAN ('4'),
PARTITION p4 VALUES LESS THAN ('5'),
PARTITION p5 VALUES LESS THAN ('6'),
PARTITION p6 VALUES LESS THAN ('7'),
PARTITION p7 VALUES LESS THAN ('8'),
PARTITION p8 VALUES LESS THAN ('9'),
PARTITION p9 VALUES LESS THAN ('10'),
PARTITION p10 VALUES LESS THAN ('11'),
PARTITION p11 VALUES LESS THAN ('12'),
PARTITION p32 VALUES LESS THAN (maxvalue)
)
ORA-14037: 分區 "P8" 的分區界限過高
分區p8的分區界限比P9的大了,按通常的理解9比10小,但是Oracle比較字符串時,會首先從第一個字符比較。因爲"9">"1",所以會認爲"9"<"10",所以就出錯了。
將上面的改爲
create table T_parttab_str
(
PROVINCE_ID varchar2(8) not null,
MATER_TYPE NVARCHAR2(2)
)
partition by range (PROVINCE_ID)
(
PARTITION p1 VALUES LESS THAN ('02'),
PARTITION p2 VALUES LESS THAN ('03'),
PARTITION p3 VALUES LESS THAN ('04'),
PARTITION p4 VALUES LESS THAN ('05'),
PARTITION p5 VALUES LESS THAN ('06'),
PARTITION p6 VALUES LESS THAN ('07'),
PARTITION p7 VALUES LESS THAN ('08'),
PARTITION p8 VALUES LESS THAN ('09'),
PARTITION p9 VALUES LESS THAN ('10'),
PARTITION p10 VALUES LESS THAN ('11'),
PARTITION p11 VALUES LESS THAN ('12'),
PARTITION p32 VALUES LESS THAN (maxvalue)
)
建議:範圍分區時,分區鍵儘量不用字符型。如果字符型時要注意保持字符位數一致以避免出現意想不到的情況。
ORA-14037: 分區 "P8" 的分區界限過高
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
配置Oracle dbconsole的密鑰
天上掉下个蓝妹妹
2020-07-05 20:35:41
從故障ASM磁盤組遷移數據庫到新磁盤組
背向天堂
2020-05-30 19:44:31
Oracle DBlink
Tigers23
2020-02-23 14:19:53
閃回恢復區滿,庫不能打開
Laughing
2020-02-21 23:56:10
DUL 恢復簡單表測試
背向天堂
2018-09-11 08:38:31
ORA-03113: end-of-file on communication channel
Silence-
2018-09-04 15:59:14
oracle is not in the sudoers file.This incident will be reported
Silence-
2018-09-04 15:59:13
ORA-28002: the password will expire within x days
Silence-
2018-09-04 15:59:12
ORA-01653: unable to extend table
Silence-
2018-09-04 15:59:12
SQL*Loader-522: lfiopn failed for file (xxx.log)
Silence-
2018-09-04 15:59:12
OracleOraDb11g_home1TNSListener服務啓動後停止
Silence-
2018-09-04 15:59:12
shell 裏執行sqlldr,not found
Silence-
2018-09-04 15:59:12
ORA-00020: maximum number of processes (150) exceeded
Silence-
2018-09-04 15:59:12
ORA-01126: 數據庫必須已裝載到此實例並且不在任何實例中打開
Silence-
2018-09-04 15:59:12
TNS-01189 The listener could not authenticate the user
Silence-
2018-09-04 15:59:12