wm_concat标识符无效_ORA-00904:"WM_CONCAT":标识符无效

当遇到 ORA-00904: "WM_CONCAT": 标识符无效的问题,可以通过获取并执行WM_CONCAT函数的DDL语句或者导出、导入函数的方式来解决。在新环境中创建或重建WM_CONCAT及相关对象,并确保其状态为VALID。
摘要由CSDN通过智能技术生成

ORA-00904:"WM_CONCAT":标识符无效

发布时间:2020-08-08 17:41:11

来源:ITPUB博客

阅读:208

今天客户现场业务甩给我一个报错让处理,ora-00904:"WM_CONCAT":标识符无效。

初步分析了下场景:

前天因为在原先一套库要删除,而他们业务用户A使用的便是该套计划删除的库,故导出A用户,导入到新环境中,expdp/impdp导入导出中均无报错。昨天在新环境给恢复成功,今天业务反映有报错,在新环境中查看确实没有该function,而老环境中有该function,但是是用户B的,猜测之前老环境是给A建立了B的synonym。

解决方法:

1、获取创建该函数的DDL语句,在新环境中直接创建该functionSQL> set long 999

SQL> select dbms_metadata.get_ddl('FUNCTION','WM_CONCAT','TBCS') from dual;

DBMS_METADATA.GET_DDL('FUNCTION','WM_CONCAT','TBCS')

--------------------------------------------------------------------------------

CREATE OR REPLACE EDITIONABLE FUNCTION "TBCS"."WM_CONCAT" (P1 VARCHAR2)

RETURN clob AGGREGATE USING  WM_CONCAT_IMPL;

执行DDL语句SQL> CREATE OR REPLACE EDITIONABLE FUNCTION "AOPEN"."WM_CONCAT" (P1 VARCHAR2) RETURN clob AGGREGATE USING  WM_CONCAT_IMPL;

2  /

Warning: Function created with compilation errors.

SQL>

此操作后,明显报错了,让业务测试,肯定测不过,查看函数是无效的SQL> select OWNER,OBJECT_NAME,SUBOBJECT_NAME,OBJECT_TYPE,LAST_DDL_TIME from dba_objects where object_name=upper('wm_concat') ;

OWNER                OBJECT_NAME                    SUBOBJECT_NAME                 OBJECT_TYPE             LAST_DDL_TIME

-------------------- ------------------------------ -----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值