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.修改字符集

执行以下命令:

``` sql
SHUTDOWN 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文件中添加以下行:

``` bash
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"

保存修改后,执行source ~/.bash_profile命令使变量生效。

至此,Oracle 11g中文环境的配置完成。

代码示例:

1.查看默认字符集

“` sql

SELECT VALUE$ FROM sys.props$ WHERE name = ‘NLS_CHARACTERSET’;


2.修改字符集

``` sql
SHUTDOWN 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文件中添加以下行:

``` bash
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"

数据运维技术 » Oracle 11g实现中文环境(oracle11g变中文)