PLS-00920 parameter plsql_native_library_dir is not set問題解決
Oracle 10.2.0.1 上在建立儲存過程,報如下錯誤:
PLS-00920: parameter plsql_native_library_dir is not set |
對於這個問題,可以透過如下兩種方法解決:
1、禁用plsql的native模式
2、使用native模式,設定正確的plsql_native_library_dir引數
下面演示解決過程:
[@more@]1、禁用plsql native模式
1.1、錯誤提示:
sys@CNHTM> create or replace function scott.p_test(userName in varchar2) return boolean is 2 Result boolean; 3 begin 4 Result:=upper(userName) not in ('SYS','SYSTEM'); 5 return(Result); 6 end p_test; 7 / Warning: Function created with compilation errors. sys@CNHTM> show error Errors for FUNCTION SCOTT.P_TEST: LINE/COL ERROR -------- ----------------------------------------------------------------- 4/11 PLS-00920: parameter plsql_native_library_dir is not set |
1.2、檢查引數
sys@CNHTM> show parameter plsql NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ plsql_ccflags string plsql_code_type string NATIVE plsql_compiler_flags string NATIVE, NON_DEBUG plsql_debug boolean FALSE plsql_native_library_dir string plsql_native_library_subdir_count integer 0 plsql_optimize_level integer 2 plsql_v2_compatibility boolean FALSE plsql_warnings string DISABLE:ALL |
1.3、修改plsql_code_type和plsql_compiler_flags引數,禁用native模式
sys@CNHTM> alter system set plsql_code_type=INTERPRETED scope=both; System altered. sys@CNHTM> alter system set plsql_compiler_flags=INTERPRETED,NON_DEBUG scope=both; System altered. |
1.4、重新編譯失效的儲存過程
sys@CNHTM> alter function scott.p_test compile; Function altered. |
2、使用native模式,設定正確的plsql_native_library_dir引數
如果要編譯的儲存過程必須使用native模式,可以透過這個方式修改,使用native模式的好處見
PL/SQL User's Guide and Reference(B14261-01)第7章
2.1、錯誤提示:
sys@CNHTM> create or replace function scott.p_test(userName in varchar2) return boolean is 2 Result boolean; 3 begin 4 Result:=upper(userName) not in ('SYS','SYSTEM'); 5 return(Result); 6 end p_test; 7 / Warning: Function created with compilation errors. sys@CNHTM> show error Errors for FUNCTION SCOTT.P_TEST: LINE/COL ERROR -------- ----------------------------------------------------------------- 4/11 PLS-00920: parameter plsql_native_library_dir is not set |
2.2、檢查引數
sys@CNHTM> show parameter plsql NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ plsql_ccflags string plsql_code_type string NATIVE plsql_compiler_flags string NATIVE, NON_DEBUG plsql_debug boolean FALSE plsql_native_library_dir string plsql_native_library_subdir_count integer 0 plsql_optimize_level integer 2 plsql_v2_compatibility boolean FALSE plsql_warnings string DISABLE:ALL |
2.3、修改plsql_native_library_dir和plsql_native_library_subdir_count引數
sys@CNHTM> alter system set plsql_native_library_dir='/oracle/app/10.1/plsql/nativelib' scope=both; System altered. sys@CNHTM> alter system set plsql_native_library_subdir_count=5 scope=both; System altered. |
plsql_native_library_dir引數的值為$ORACLE_HOME/plsql/nativelib
如果$ORACLE_HOME/plsql中沒有nativelib目錄,需要手工建立
plsql_native_library_subdir_count引數應為非零的值
並保證$ORACLE_HOME/plsql/nativelib目錄中有d0、d1...等目錄,如果沒有,手工建立,
目錄的個數與plsql_native_library_subdir_count相等
如plsql_native_library_subdir_count=5,則在$ORACLE_HOME/plsql/nativelib目錄下應該有d0、d1、d2、d3、d4五個目錄
2.4、重新編譯失效的儲存過程
sys@CNHTM> alter function scott.p_test compile; Function altered. |
--end--
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22049049/viewspace-1029912/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決set newname 極慢的問題
- pyhton3解決”tuple parameter unpacking is not supported”問題
- 解決Parameter '__frch_item_0' not found. Available parameters 問題AI
- Docker 容器中“TERM environment variable not set.”問題解決Docker
- 解決問題:Variable 'time_zone' can't be set to the value of 'NULL'Null
- (問題解決)Cannot set LC_CTYPE to default locale: No such file or directory
- 解決「問題」,不要解決問題
- ajax跨域訪問時,set-cookie無效問題的解決跨域Cookie
- Keil中 "STARTUP.A51" SET (SMALL) DEBUG EP問題解決方法
- 解決 allure.dynamic.parameter 不生效問題 或者 allure 報告中因為引數導致排版的問題
- 解決問題
- 發現問題,解決問題
- MongoDB系列-解決面試中可能遇到的MongoDB複製集(replica set)問題MongoDB面試
- set autotrace on時報SP2-0618錯誤的問題解決案例
- yum問題解決
- sqlitedabaseislocked問題解決SQLite
- dump 解決問題
- cassandra get set同步問題
- 【題解】Solution Set - 「藍」題板刷
- 提問題比解決問題更重要
- The value (30) of MAXTRANS parameter ignored. 問題分析
- SERVICE問題解決方法
- 解決高度塌陷問題
- qeephp 解決跨越問題PHP
- bg配置問題解決
- git ssl 問題解決Git
- AIX問題解決思路AI
- WAS startnode hang問題解決
- 解決grub rescue問題
- 解決跨域問題跨域
- Analysis of Set Union Algorithms 題解Go
- Caused by: org.apache.ibatis.binding.BindingException: Parameter 'parameter' not found.解決ApacheBATException
- Ubuntu 16.04 Vysor 破解 和黑屏問題解決+ 閃屏問題解決Ubuntu
- 【問題解決】單機搭建dataguard的問題
- 解決 Github 國內訪問問題Github
- 解決github訪問慢的問題Github
- 解決 github 訪問不了的問題Github
- 黑蘋果的問題解決蘋果