问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle数据库字符集怎么从utf-8改为zhs16gbk

发布网友 发布时间:2022-04-27 12:31

我来回答

2个回答

懂视网 时间:2022-04-29 21:17

修改Oracle数据库的字符集(UTF8→ZHS16GBK)

1.  C:UsersAdministrator>sqlplus /nolog

2.以sysdba的身份登录上去

  SQL> conn sys/root as sysdba

3.以mount打来数据库

   SQL>startup mount

4.设置session

  SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;

  SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

  SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

5.启动数据库

  SQL>alter database open;

6.修改字符集

  SQL>ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

7.关闭,重新启动

  SQL>shutdown immediate;

  SQL>startup

 

当然字符集最好不要轻易修改,因为这会对数据库的数据有直接的影响,

如果是正式环境的话,可能会造成不可估计的损失。

修改Oracle数据库的字符集(UTF8→ZHS16GBK)

标签:修改oracle数据库的字符集

热心网友 时间:2022-04-29 18:25

oracle数据库的字符集更改

A、oracle server 端 字符集查询

select userenv('language') from al

其中NLS_CHARACTERSET 为server端字符集

NLS_LANGUAGE 为 server端字符显示形式

B、查询oracle client端的字符集

$echo $NLS_LANG
如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux操作系统相同的字符集。如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。

C、server端字符集修改

*****************************************************************

* 更改字符集步骤方法(WE8ISO8859P1 --> ZHS16GBK) *

*****************************************************************

SQL>
将数据库启动到RESTRICTED模式下做字符集更改:
SQL> conn /as sysdba
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
System altered.
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
System altered.
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
System altered.
SQL> alter database open;
Database altered.
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
ALTER DATABASE CHARACTER SET ZHS16GBK
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set

提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
Database altered.
SQL> select * from v$nls_parameters;

19 rows selected.
重启检查是否更改完成:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL> select * from v$nls_parameters;

19 rows selected.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

D、client端字符集修改

在 /home/oracle与 /root用户目录下的.bash_profile中

添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 语句

关闭当前ssh窗口。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
篮球里假摔算不算犯规 月球和地球上的时间一样吗 网线插入路由器亮绿灯,马上又亮红灯 为什么华为路由器有时绿灯一直闪? 急求助 孩子在读高二 每晚失眠 有什么好办法快解决吗 急急急!!!_百度... 从高二开始失眠,已经9年了。那一晚没睡着,以后一直是浅度睡眠,白天精神... 睡眠太浅要怎么办啊? 我高二,每天睡眠时间很少,上课老想睡觉,如果上课中想睡觉可以吃点什么不... 儿子高三了晚上睡眠不深 怎么办啊 很担心因为睡眠不好影响学习_百度知 ... 房产纠纷确权借名买房 ...现在数据库的字符集为WE8ISO8859P1,需把字符集设置为ZHS16GBK... 请问我该怎么提取公积金? 如何提取住房公积金 黑龙江省 黑龙江七方河支不支持手机提取公积金 vivo y7s相机可以自定义水印吗? 黑龙江省龙煤矿业集团个人公积金怎么提取 vivox60支持相机自定义水印? 黑龙江提公积金买房流程 黑龙江省公积金提取方法 北京薪享宏福学习云计算是骗人的么? 在薪享宏福学云计算需要多少钱? 学习云计算用电脑多少钱呢? 北京云计算培训学校哪家好? 云计算的价格是多少 北京八维云计算专业要学几年,一年学费是多少呢? 现在北京专业的云计算的培训班吗?价格大约多少? 手机来电铃声可不可以单独设置??? 上海哪里有unity3D培训学校? 哈罗单车是阿里的公司吗? 哈啰出行港股上市时间? oracle 10如何修改字符集? ORACLE显示中文为乱码,怎么修改? ORACLE不同数据库字符集数据交互,如何转换乱码? 跪求:急需!!! 如何修改Oracle字符集?具体一点,最好是一步一步说明下... 如何在linux下更改数据库字符集 apart这个单词翻译成中文是什么意思 windows下装的oracle,如何将字符集al32utf8改为zhs16gbk away和apart意思一样吗 later than apart是什么意思? 如何把oracle的字符集改成GB2132 take apart是什么意思 如何在RAC环境下修改Oracle字符集 take apart的汉语意思是什么? linux上操作ORACLE时不论是insert还是select,都出现乱码。网上查了不... a race apart是什么意思 oracle 乱码 如何解决 break apart是什么意思 oracle修改字符集把utf8修改成AMERICAN _ AMERICA. ZHS16GBK fall apart是什么意思 fly apart是什么意思及反义词