1.BLOB類型修改
將接口內oracle.sql.BLOB改為java.sql.Blob
2.REGEXP_LIKE 判斷函數正則表達式中字符轉義問題
OB的正則表達式使用的是標準的Linux模式,oracle是黑盒子,在處理部分轉義符([]+)的時候,
Oracle無需使用轉義符,OB務必使用轉義符,加/轉義處理,例如在regexp_like(t.xx,’^(+|[0-9]+)$’)改為regexp_like(t.xx,’^(/+|[0-9]+)$’)
3.REGEXP_LIKE函數結果布爾值判斷兼容性問題
在Oracle中可以用if regexp_like(t.xx,’^(+|[0-9]+)$’) = false then end if;在OB中并不支持這樣使用,可以用if regexp_like(t.xx,’^(+|[0-9]+)$’) then else end if解決兼容性問題
4.重建索引兼容性問題
在Oracle中,可以通過 alter index $indexName rebulid 來手動維護索引,但是在OB中并不支持rebuild這種寫法
5.修改全局索引兼容性問題
在Oracle中,可以通過update index修改索引,在Oracle中可以通過update global index來實現
6.自動擴分區兼容性問題
自動擴分區有split和add兩種方式,但是OB只支持add方式擴分區,例如ALTER TABLE CDRS.
CDRS_DTL_UNTRADE_HIS SPLIT PARTATION TMAX AT (‘2025-04-01’) INTO (PARTATION T20250401,PARTATION TMAX)修改為add擴分區方式
6.1OB不支持在有默認分區的情況下新增分區,首先將默認分區刪掉
ALTER TABLE CDRS.CDRS_DTL_UNTRADE_HIS DROP PARTATION TMAX UPDATE GLOBAL INDEX
6.2添加新分區
ALTER TABLE CDRS.CDRS_DTL_UNTRADE_HIS ADD PARTATION T20250401 VALUSE LESS THAN(‘2025-04-01’);
6.3再將默認分區加回來
ALTER TABLE CDRS.CDRS_DTL_UNTRADE_HIS ADD PARTATION TMAX VALUSE LESS THAN(MAXVALUES);
7.V$MYSTAT 當前會話下資源信息使用統計視圖兼容問題(臨時) ?
OB不支持V$MYSTAT視圖的使用,可在OB中使用SELECT SYS_CONTEXT(‘USERENV’,’SID’) FROM DUAL 來替代 ??
8.V$SESSION 所有會話下資源信息使用統計視圖(包括后臺進程)兼容問題 ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
OB不支持V$SESSION視圖的使用,可在OB中使用V$OB_PROCESSLIST 來替代 ??