您的位置:首页 > 数据库 > Oracle

【转帖】一次Windows 下oracle字符集乱码的记录

2011-05-10 22:59 417 查看
http://space.itpub.net/13316/viewspace-468368







国庆后,因停电工作站崩溃, oracle

要恢复了。

在恢复完windows

系统后, 安装oracle8i, 然后就是db recovery。恢复很顺利,可原来table中的中文全乱码。 开始还怀疑在重建control file时字符集选错了或者重建的脚步有问题。

set ORACLE_SID=iga

D:/oracle/ora817/bin/oradim -new -sid IGA -startmode manual -pfile "f:/orabackup/backup/initiga.ora"

startup nomount pfile="f:/orabackup/backup/initiga.ora"

CREATE CONTROLFILE REUSE DATABASE "IGA" NORESETLOGS ARCHIVELOG

MAXLOGFILES 32

MAXLOGMEMBERS 2

MAXDATAFILES 500

MAXINSTANCES 1

MAXLOGHISTORY 1815

LOGFILE

GROUP 4 'E:/ORACLE/ORADATA/IGA/REDO04.LOG' SIZE 1M,

GROUP 5 'E:/ORACLE/ORADATA/IGA/REDO05.LOG' SIZE 1M,

GROUP 6 'E:/ORACLE/ORADATA/IGA/REDO06.LOG' SIZE 1M

DATAFILE

'E:/oracle/oradata/iga/SYSTEM01.DBF',

'E:/oracle/oradata/iga/RBS01.DBF',

'E:/oracle/oradata/iga/USERS01.DBF',

'E:/ORACLE/ORADATA/IGA/TEMP01.DBF',

'E:/ORACLE/ORADATA/IGA/TOOLS01.DBF',

'E:/ORACLE/ORADATA/IGA/IGA_INDX01.DBF',

'E:/ORACLE/ORADATA/IGA/DR01.DBF',

'E:/ORACLE/ORADATA/IGA/IGA_DATA01.DBF'

CHARACTER SET US7ASCII

;

ALTER DATABASE OPEN ;

查来查去, 脚本没有任何问题; 郁闷呀

耗了2个小时, 中间抽根烟; 灵感来了。

改了注册表:

HKEY_LOCAL_MACHIN / SOFTWARE / ORACLE/ HOME0的

NLS_LANG是: AMERICAN_AMERICA.WE8ISO8859P1

改成: AMERICAN_AMERICA.US7ASCII

重启机器, 问题解决了



总结:

我之所以感觉这个帖子很好,是因为这个帖子很具有典型性:你查询出来,看到的乱码,未在数据库中存放的就是乱码。

因为经过了客户端NLS_LANG的转换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: