ORA-01756報錯的解決方案
檢查指令碼後,沒有發現引號不匹配等常見問題;複製其中報錯的語句到sqlplus環境下執行沒有報錯。綜上,初步斷定和資料庫字符集有關係。
問題排查:
1.檢視Linux系統環境變數
[root@localhost Desktop]# echo $NLS_LANG
SIMPLIFIED CHINESE_CHINA.ZHS32GB18030
[root@localhost Desktop]#
2.檢視資料庫的userenv
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8
SQL>
3.檢視資料庫的NLS_LANG
SQL> show parameter NLS_LANG
NAME TYPE VALUE
------------------------------------ -------------------------------------------- ------------------------------
nls_language string SIMPLIFIED CHINESE
SQL>
我們發現資料庫的字符集和Linux設定的字符集不一致。接下來,我們需要修改Linux的字符集,和資料庫字符集保持一致。
解決方案:
修改root使用者和oracle使用者下.bash_profile中的NLS_LANG設定,以root使用者為例,修改方法如下:
1.修改~/.bash_profile中的NLS_LANG設定。
[root@localhost Desktop]# vim ~/.bash_profile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS32GB18030"
umask 022
將紅色部分改為:
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
2.重新載入修改後的.bash_profile檔案
[root@localhost oracle]#source ~/.bash_profile
注意:
修改配置後強烈建議重啟作業系統
~~~~~~~ the end~~~~~~~~~
hoegh
2017.09.14
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-2144974/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ora-01756問題的解決
- 安裝sass報錯解決方案
- Django(21)migrate報錯的解決方案Django
- Laravel安裝horizon報錯解決方案Laravel
- win安裝wordcloud報錯解決方案Cloud
- electron npm install 報錯解決方案NPM
- minio報錯SignatureDoesNotMatch解決方案
- 關於Support for password authentication 報錯的解決方案
- TNS-12555報錯的解決方案
- ORA-03206報錯的解決方案
- Server Application Error報錯資訊的解決方案ServerAPPError
- npm install 安裝報錯解決方案NPM
- Android Studio 報錯解決方案 一Android
- CentOS 6安裝Oracle報錯解決方案CentOSOracle
- 無痕模式下localstorage報錯解決方案模式
- MySQL 啟動服務報錯解決方案MySql
- vue tsx 原生屬性報錯解決方案Vue
- Unity3D啟動報錯的解決方案Unity3D
- Oracle 條件索引 case when 報錯解決方案Oracle索引
- matplotlib中文報錯問題及解決方案
- C語言中幾種報錯型別的解決方案C語言型別
- SS報錯的解決
- svn的操作,報錯,和解決方案 一。
- Percona Toolkit工具連線MySQL 8報錯的解決方案MySql
- Python報錯:PermissionError: [Errno 13] Permission denied解決方案PythonError
- 【安裝Android Studio報錯之解決方案】Android
- 執行create table as 報ora-600的錯誤的解決方案
- mybatis報錯解決MyBatis
- 報錯No bean named ' is defined的原因和解決方案Bean
- jq jsonp跨域報錯之“Unexpected token :”的解決方案JSON跨域
- jenkins - svn: E170001報錯的原因以及解決方案Jenkins
- ORA-30078報錯的兩種解決方案
- Windows 系統 NPM run watch-poll 報錯解決方案WindowsNPM
- /system/bin/sh: screenrecord: inaccessible or not found 報錯解決方案
- 應用儲存過程執行報錯解決方案儲存過程
- JMETER java.net.SocketException: Connection reset 報錯解決方案JMeterJavaException
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- 幾個報錯的解決方法