oracle 字符集錯誤情況處理簡單方法

haozg_oracle發表於2012-06-29
情況一:
[oracle@haozg ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Tue Jun 26 20:52:47 2012
Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01157: ????/?????? 4 - ??? DBWR ????
ORA-01110: ???? 4: '+DGASM/ora11/datafile/users.261.785186921'

SQL> exit
英語顯示?????
情況二、資料庫中查詢時,漢字顯示亂碼
如果出現上面兩種情況,那麼先到資料庫中查詢資料庫的字符集
SQL> select * from nls_database_parameters where parameter in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
PARAMETER            VALUE
-------------------- --------------------------------------------------
NLS_CHARACTERSET     ZHS16GBK
NLS_NCHAR_CHARACTERS AL16UTF16
ET
可以看到,當前資料庫的字符集為ZHS16GBK, 國家字符集為AL16UTF16;
然後修改使用者環境變數中的定義的字符集和資料庫字符集保持一致
在 .bash_profile 中加入下面的變數即可
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23062014/viewspace-734111/,如需轉載,請註明出處,否則將追究法律責任。

相關文章