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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- minio報錯SignatureDoesNotMatch解決方案
- Django(21)migrate報錯的解決方案Django
- electron npm install 報錯解決方案NPM
- Android Studio 報錯解決方案 一Android
- Laravel安裝horizon報錯解決方案Laravel
- npm install 安裝報錯解決方案NPM
- win安裝wordcloud報錯解決方案Cloud
- 關於Support for password authentication 報錯的解決方案
- vue tsx 原生屬性報錯解決方案Vue
- matplotlib中文報錯問題及解決方案
- 【安裝Android Studio報錯之解決方案】Android
- Percona Toolkit工具連線MySQL 8報錯的解決方案MySql
- jq jsonp跨域報錯之“Unexpected token :”的解決方案JSON跨域
- C語言中幾種報錯型別的解決方案C語言型別
- Oracle 條件索引 case when 報錯解決方案Oracle索引
- Python報錯:PermissionError: [Errno 13] Permission denied解決方案PythonError
- /system/bin/sh: screenrecord: inaccessible or not found 報錯解決方案
- sockjs-node/info?t=1462183700002 報錯解決方案JS
- SS報錯的解決
- Charles 用不了,Charles 開啟時報錯的解決方案
- java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed 報錯的解決方案JavaSQLException
- navicat連線MySQL8.0.11報2059錯誤的解決方案MySql
- svn的操作,報錯,和解決方案 一。
- 安裝WSL報錯0x80370102解決方案
- JMETER java.net.SocketException: Connection reset 報錯解決方案JMeterJavaException
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- 解決eslint報錯EsLint
- mybatis報錯解決MyBatis
- AndroidStudio Git提交程式碼報錯LF would be replaced by CRLF的解決方案AndroidGit
- Linux下錯誤解決方案Linux
- latex 錯誤以及解決方案
- 【彙總】Python語言常見報錯及解決方案!Python
- 應用儲存過程執行報錯解決方案儲存過程
- Windows 系統 NPM run watch-poll 報錯解決方案WindowsNPM
- 關於 Composer dump-autoload 執行報錯解決方案
- 解決centos7 安裝MySQLdb-python 報錯 方案CentOSMySqlPython
- 解決Mac安裝PS AI PR AE系列軟體報錯程式碼501的解決方案MacAI
- libc.so.6: version 'GLIBC_2.14' not found報錯提示的解決方案
- 分散式互斥的高效容錯解決方案分散式