Oracle 11g实现中文环境(oracle11g变中文)
Oracle 11g实现中文环境
随着中国市场的不断发展,越来越多的企业采用Oracle 11g作为关键性业务的数据库。然而,Oracle 11g的默认语言是英文,大量的中文数据入库对数据分析、查询等工作带来了极大的麻烦。本文将介绍如何在Oracle 11g中实现中文环境。
一、修改默认字符集
在Oracle 11g数据库上创建数据库时,默认的字符集是US7ASCII,这个字符集不支持中文。我们需要将默认字符集修改为支持中文的AL32UTF8字符集。
1.查看默认字符集
执行以下命令:
“` sql
SELECT VALUE$ FROM sys.props$ WHERE name = ‘NLS_CHARACTERSET’;
若输出结果为US7ASCII,则需要修改字符集。
2.修改字符集
执行以下命令:
``` sqlSHUTDOWN IMMEDIATE;
STARTUP MOUNT;ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
SHUTDOWN IMMEDIATE;STARTUP MOUNT;
ALTER DATABASE OPEN;
这里需要注意的是,修改字符集可能会导致数据丢失,所以务必做好数据备份。
二、修改参数文件
在修改字符集之后,我们还需要修改参数文件pfile/init.ora,以保证数据库在启动时使用正确的字符集。
找到pfile/init.ora文件,将以下行添加到文件最后:
“` sql
NLS_LANGUAGE=”SIMPLIFIED CHINESE”
NLS_TERRITORY=”CHINA”
参数NLS_LANGUAGE是指定使用的语言,这里填写Simplified Chinese,表示简体中文;参数NLS_TERRITORY是指定区域,这里填写China。
三、修改NLS_LANG变量
最后需要修改NLS_LANG变量,以便在客户端连接时使用正确的字符集。
在Windows系统中,可以在计算机的环境变量中添加NLS_LANG变量,其值为:SIMPLIFIED CHINESE_CHINA.AL32UTF8。
在Linux系统中,可以在.bash_profile文件中添加以下行:
``` bashexport NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
保存修改后,执行source ~/.bash_profile命令使变量生效。
至此,Oracle 11g中文环境的配置完成。
代码示例:
1.查看默认字符集
“` sql
SELECT VALUE$ FROM sys.props$ WHERE name = ‘NLS_CHARACTERSET’;
2.修改字符集
``` sqlSHUTDOWN IMMEDIATE;
STARTUP MOUNT;ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
SHUTDOWN IMMEDIATE;STARTUP MOUNT;
ALTER DATABASE OPEN;
3.修改参数文件
在pfile/init.ora文件最后添加以下行:
“` sql
NLS_LANGUAGE=”SIMPLIFIED CHINESE”
NLS_TERRITORY=”CHINA”
4.修改NLS_LANG变量
在Windows系统的环境变量中添加变量NLS_LANG,其值为:SIMPLIFIED CHINESE_CHINA.AL32UTF8。
在Linux系统的.bash_profile文件中添加以下行:
``` bashexport NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"