Oracle-11g-R2

NLS_LANG AL32UTF8/UTF8 用於 Oracle 數據庫

  • December 29, 2016

我最近使用本教程在 Ubuntu 上安裝了一個新的 Oracle 數據庫。

我有一個錯誤

oracle@ubuntu:/home/bruno$ echo $NLS_LANG
/u01/app/oracle/product/11.2.0/xe/bin/nls_lang.sh
oracle@ubuntu:/home/bruno$ /u01/app/oracle/product/11.2.0/xe/bin/nls_lang.sh
AMERICAN_AMERICA.AL32UTF8
oracle@ubuntu:/home/bruno$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Thu Mar 17 11:00:45 2016
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
ERROR:
ORA-12705: Cannot access NLS data files or invalid environment specified
Enter user-name: 

經過搜尋,我找到了一個可能的解決方案:

oracle@ubuntu:/home/bruno$ export NLS_LANG=AMERICAN_AMERICA.UTF8
oracle@ubuntu:/home/bruno$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Thu Mar 17 11:03:15 2016
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL>  

糾正此錯誤的最優雅方法是什麼?


回答

export NLS_LANG = $($ORACLE_HOME/bin/nls_lang.sh)

在原始教程中:

export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`

注意反引號。變數的值NLS_LANG應該是上述命令的輸出,而不是帶有絕對路徑的文件名。只需設置 NLS_LANG 的值,就像您已經做的那樣:

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

引用自:https://dba.stackexchange.com/questions/132526