修改oracle 数据服务器编码

如何修改数据库oracle 的编码呢?

我使用的oracle的版本是:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

我原来的编码是:ZHS16GBK

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')

----------------------------------------------------

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

SQL> select * from nls_database_parameters where PARAMETER='NLS_CHARACTERSET';

PARAMETER

------------------------------

VALUE

-------------------------------------------------------------------------------

NLS_CHARACTERSET

ZHS16GBK

使用oracle 客户端Navicat 时报错,因为数据库的编码.

我想把数据库的编码改为UTF-8

步骤如下:

C:\Users\huangwei>sqlplus /nolog

 

SQL*Plus: Release 11.2.0.1.0 Production on 星期六 5 3 19:49:06 2014

 

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

 

SQL> conn sys/root as sysdba

已连接。

SQL> SHUTDOWN IMMEDIATE

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> STARTUP MOUNT;

ORACLE 例程已经启动。

 

Total System Global Area 2438529024 bytes

Fixed Size                  2178176 bytes

Variable Size            1375732608 bytes

Database Buffers         1040187392 bytes

Redo Buffers               20430848 bytes

数据库装载完毕。

SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

 

系统已更改。

 

SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

 

系统已更改。

 

SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

 

系统已更改。

 

SQL> ALTER DATABASE OPEN;

 

数据库已更改。

 

SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;

 

数据库已更改。

 

SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;

 

数据库已更改。

 

SQL> SHUTDOWN IMMEDIATE;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> STARTUP

ORACLE 例程已经启动。

 

Total System Global Area 2438529024 bytes

Fixed Size                  2178176 bytes

Variable Size            1375732608 bytes

Database Buffers         1040187392 bytes

Redo Buffers               20430848 bytes

数据库装载完毕。

数据库已经打开。

再次查看数据库的编码:

SQL> conn sys/root as sysdba

已连接。

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')

--------------------------------------------------------------------------------

SIMPLIFIED CHINESE_CHINA.AL32UTF8

SQL> select * from nls_database_parameters where PARAMETER='NLS_CHARACTERSET';

PARAMETER

------------------------------------------------------------

VALUE

--------------------------------------------------------------------------------

NLS_CHARACTERSET

AL32UTF8

猜你喜欢

转载自hw1287789687.iteye.com/blog/2059444