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 来替代