解決Oracle19c?ORA-00904:“WMSYS“.“WM_CONCAT“:標(biāo)識(shí)符無(wú)效問(wèn)題
Oracle19c ORA-00904:“WMSYS“.“WM_CONCAT“:標(biāo)識(shí)符無(wú)效
錯(cuò)誤描述
- oracle19c ORA-24344: 成功, 但出現(xiàn)編譯錯(cuò)誤
- ORA-00904: “WMSYS”.“WM_CONCAT”: 標(biāo)識(shí)符無(wú)效
解決辦法
-- 設(shè)置實(shí)例 export ORACLE_SID=test1 --首先使用dba賬號(hào)登錄oracle數(shù)據(jù)庫(kù) sqlplus / as sysdba --解鎖wmsys用戶(hù) alter user wmsys account unlock; --并為wmsys用戶(hù)授權(quán),可根據(jù)需要授權(quán),不建議授權(quán)所有權(quán)限 grant all privileges to wmsys; --如果不知道wmsys用戶(hù)的密碼,可以修改其密碼 alter user wmsys identified by 123456; -- 切換到pdb alter session set container=xxx; --并為wmsys用戶(hù)授權(quán),可根據(jù)需要授權(quán),不建議授權(quán)所有權(quán)限 grant all privileges to wmsys; --使用wmsys用戶(hù)登錄數(shù)據(jù)庫(kù) conn wmsys/123456 -- 切換到pdb,(必須在pdb中創(chuàng)建函數(shù)) alter session set container=xxx; --在wmsys下創(chuàng)建可用的wm_concat函數(shù),直接執(zhí)行以下語(yǔ)句 --定義類(lèi)型 CREATE OR REPLACE TYPE WM_CONCAT_IMPL AS OBJECT ( CURR_STR VARCHAR2(32767), STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT WM_CONCAT_IMPL) RETURN NUMBER, MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL, P1 IN VARCHAR2) RETURN NUMBER, MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN WM_CONCAT_IMPL, RETURNVALUE OUT VARCHAR2, FLAGS IN NUMBER) RETURN NUMBER, MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT WM_CONCAT_IMPL, SCTX2 IN WM_CONCAT_IMPL) RETURN NUMBER ); / --定義類(lèi)型body: CREATE OR REPLACE TYPE BODY WM_CONCAT_IMPL IS STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT WM_CONCAT_IMPL) RETURN NUMBER IS BEGIN SCTX := WM_CONCAT_IMPL(NULL) ; RETURN ODCICONST.SUCCESS; END; MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL, P1 IN VARCHAR2) RETURN NUMBER IS BEGIN IF(CURR_STR IS NOT NULL) THEN CURR_STR := CURR_STR || ',' || P1; ELSE CURR_STR := P1; END IF; RETURN ODCICONST.SUCCESS; END; MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN WM_CONCAT_IMPL, RETURNVALUE OUT VARCHAR2, FLAGS IN NUMBER) RETURN NUMBER IS BEGIN RETURNVALUE := CURR_STR ; RETURN ODCICONST.SUCCESS; END; MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT WM_CONCAT_IMPL, SCTX2 IN WM_CONCAT_IMPL) RETURN NUMBER IS BEGIN IF(SCTX2.CURR_STR IS NOT NULL) THEN SELF.CURR_STR := SELF.CURR_STR || ',' || SCTX2.CURR_STR ; END IF; RETURN ODCICONST.SUCCESS; END; END; / --自定義行變列函數(shù): CREATE OR REPLACE FUNCTION wm_concat(P1 VARCHAR2) RETURN VARCHAR2 AGGREGATE USING WM_CONCAT_IMPL ; / --創(chuàng)建完成,給其創(chuàng)建同義詞及授權(quán),以供其他用戶(hù)能正常使用。 create public synonym WM_CONCAT_IMPL for wmsys.WM_CONCAT_IMPL / create public synonym wm_concat for wmsys.wm_concat / grant execute on WM_CONCAT_IMPL to public / grant execute on wm_concat to public /
處理ora-00904:wm_concat標(biāo)識(shí)符無(wú)效
問(wèn)題描述
同事在部署zabbix監(jiān)控oracle的時(shí)候,報(bào)錯(cuò):
出錯(cuò)原因
數(shù)據(jù)庫(kù)里沒(méi)有WMSYS用戶(hù)
解決辦法
@?/rdbms/admin/owmctab.plb @?/rdbms/admin/owmaggrs.plb @?/rdbms/admin/owmaggrb.plb
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Oracle中sql語(yǔ)句(+)符號(hào)代表連接的使用講解
今天小編就為大家分享一篇關(guān)于Oracle中sql語(yǔ)句(+)符號(hào)代表連接的使用講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02查看Oracle數(shù)據(jù)庫(kù)中UNDO表空間的使用情況(最新推薦)
Oracle數(shù)據(jù)庫(kù)中查看UNDO表空間使用情況的4種方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$UNDOSTAT顯示使用統(tǒng)計(jì)信息,DBA_FREE_SPACE查看空閑空間,V$TRANSACTION顯示當(dāng)前事務(wù)占用的UNDO情況,本文介紹Oracle數(shù)據(jù)庫(kù)中UNDO表空間的使用情況,感興趣的朋友一起看看吧2025-03-03oracle實(shí)現(xiàn)動(dòng)態(tài)查詢(xún)前一天早八點(diǎn)到當(dāng)天早八點(diǎn)的數(shù)據(jù)功能示例
這篇文章主要介紹了oracle實(shí)現(xiàn)動(dòng)態(tài)查詢(xún)前一天早八點(diǎn)到當(dāng)天早八點(diǎn)的數(shù)據(jù)功能,涉及Oracle針對(duì)日期時(shí)間的運(yùn)算與查詢(xún)相關(guān)操作技巧,需要的朋友可以參考下2019-10-10Oracle查看表結(jié)構(gòu)的幾種方法示例代碼
本文通過(guò)示例代碼給大家介紹了oracle查看表結(jié)構(gòu)的幾種方式,感興趣的朋友參考下吧2017-07-07oracle中where 子句和having子句中的區(qū)別介紹
這篇文章主要介紹了在oracle中where 子句和having子句中的區(qū)別,本文通過(guò)sql語(yǔ)句給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12oracle數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令使用方法
這篇文章主要介紹了oracle數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令格式,對(duì)單表導(dǎo)出、多張表導(dǎo)出的方法2013-11-11oracle 層次化查詢(xún)(行政區(qū)劃三級(jí)級(jí)聯(lián))
現(xiàn)在將上面的行政區(qū)劃按代碼分為三個(gè)級(jí)別:?。ê笏奈粸?)/市(后兩位為0)/縣,同時(shí)分別標(biāo)出他們的級(jí)別,這樣的話(huà),便于后期根據(jù)不同的級(jí)別查詢(xún)。2009-07-07