同事玩Docker,在Docker裡面啟了一個Oracle 10g Express版本,在測試過程中遇到了ORA-00904: "WMSYS"."WM_CONCAT": invalid identifier錯誤。 SQL> select * from v$version; BANNER-------... ...
同事玩Docker,在Docker裡面啟了一個Oracle 10g Express版本,在測試過程中遇到了ORA-00904: "WMSYS"."WM_CONCAT": invalid identifier錯誤。
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
我去處理的時候,發現Oracle 10g Express版本的$ORACLE_HOME/rdbms/admin目錄下麵根本沒有owmctab.plb、owmaggrs.plb、owmaggrb.plb 這三個文件,遂從另外一臺標準版的Oracle 10g 中Copy這些文件到這個測試實例。測試發現,執行腳本owmctab.plb時遇到下麵錯誤
SQL> @?/rdbms/admin/owmctab.plb
查看了一下腳本,發現owmctab.plb還要引用owmt9012.plb、owmt9013.plb文件,所以,如果$ORACLE_HOME/rdbms/admin目錄下麵如果沒有這些文件的話,需要的是5個文件。
$ ls -lrt owm*
-rw-rw-r--. 1 oracle dba 14889 Feb 2 2008 owmctab.plb
-rw-rw-r--. 1 oracle dba 1280 Feb 2 2008 owmt9013.plb
-rw-rw-r--. 1 oracle dba 4000 Feb 2 2008 owmt9012.plb
-rw-rw-r--. 1 oracle dba 1168 Feb 2 2008 owmaggrs.plb
-rw-rw-r--. 1 oracle dba 627 Feb 2 2008 owmaggrb.plb
正常情況下,這些文件預設位於$ORACLE_HOME/rdbms/admin下麵,只需執行下麵腳本創建對象即可。在Oracle 10g Express版本中copy上面5個文件後,執行下麵腳本也能解決問題。
SQL> @?/rdbms/admin/owmctab.plb
SQL> @?/rdbms/admin/owmaggrs.plb
SQL> @?/rdbms/admin/owmaggrb.plb