修改oracle 数据服务器编码

本文详细介绍了如何将Oracle数据库编码从ZHS16GBK修改至UTF-8的过程,包括关闭数据库、设置参数、重启数据库等关键步骤,并通过SQL查询验证了编码变更的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何修改数据库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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值