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

  注:执行过程中会报错,主要是权限的问题,不会影响过程的创建。 

 

posted @ 2023-04-23 12:36  vincent19  阅读(171)  评论(0)    收藏  举报