oracle 12c 报ORA-00904: "WMSYS"."WM_CONCAT"标识符无效
运行环境:CentOS Linux release 7.2.1511 (Core)
oracle版本:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0
1.问题描述:
执行sql时出现"WMSYS"."WM_CONCAT"标识符无效。
2.产生原因:
是由于oracl12c 摒弃了 vm_concat 函数,改用listagg 替代
3.解决方案:
方案1.改用listagg替代
方案2.在现有数据库12.2.0.1.0中创建vm_concat 函数。
由于以前使用的数据库为11.2.0.4 现移植到12.2.0.1.0 ,改用listagg成本太高,项目中使用多处vm_concat,现采用方案2。
4.具体步骤。
1.将oracle11.2.0.4 的$ORACLE_HOME/rdbms/admin owmaggrs.plb,owmctab.plb,owmaggrb.plb 下三个文件拷贝至12c数据库服务器。
[oracle@oracle admin]$ scp owmaggrs.plb oracle@oracle12c:/home/oracle [oracle@oracle admin]$ scp owmctab.plb oracle@oracle12c:/home/oracle [oracle@oracle admin]$ scp owmaggrb.plb oracle@oracle12c:/home/oracle
2.在12C pdb中执行以上3个脚本
@owmaggrb.plb @owmaggrs.plb @owmctab.plb
注:执行过程中会报错,主要是权限的问题,不会影响过程的创建。

浙公网安备 33010602011771号