以DBA身份进入SQLPLUS SQL sqlplus sys/sys as sysdba; …… SQL shutdown immediate; SQL startup mount; 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;(ZHS16GBK) SQL shutdown immediate; SQL startup; 这样就可以讲ORACLE的字符集修改为UTF8,如果需要修改为GBK只需将alter database character set internal_use AL32UTF8;(ZHS16GBK)这句最后的AL32UTF8修改为ZHS16GBK即可
我们提供的服务有:网站建设、成都网站制作、微信公众号开发、网站优化、网站认证、二道江ssl等。为近1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的二道江网站制作公司
有2种方法可行。
1. 如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换。
2. 通过ALTER DATABASE CHARACTER SET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,例如UTF8是US7ASCII的超集,修改数据库字符集可使用ALTER DATABASE CHARACTER SET UTF8。
1.修改服务器端oracle默认字符集:打开“开始菜单”,在“运行”里输入“cmd”,回车,进入命令行编
辑模式。输入“sqlplus /nolog”,回车。修改默认字符集,以sysdba的身份执行SQL语句。输入“conn
sys/password@orcl as sysdba;”,回车。输入“select name,value$ from props$ where
name like
’%NLS%’;”,查看默认字符集。找到“NLS_CHARACTERSET”,其值为“WE8ISO8859P1”。
2.修改客户端sqlplus默认字符集:打开“开始菜单”,
在“运行”里输入“regedit”,回车,进入注册表编辑器。按CTRL+F,输入“NLS_LANG”,回车,找到sqlplus软件目录下的
NLS_LANG,其键值为“WE8ISO8859P1”。双击“NLS_LANG”,输入“ZHS16GBK”,点击“确定”按钮保存重启计算
机。
1. 备份数据库中所有用户的数据
以oracle用户登陆,执行以下命令
# export NLS_LANG = “SIMPLIFIED CHINESE_CHINA.UTF8”
保持与数据库服务器端一致,这样在exp导出时,就不会存在字符的转换了,备份最原始的数据。
2. 评估UTF8转换成ZHS16GBK的风险
转换之前,要使用Oracle的csscan工具对数据库扫描,评估字符集转换前后,数据有可能的损坏情况。如果评估情况糟糕,那就绝对要放弃了。
先安装属于 CSMIG 用户的一套表和过程。以oracle用户登陆UNIX,
#sqlplus “/ as sysdab”
SQL@$ORACLE_HOME/ rdbms/admin/csminst.sql
SQLexit
# $ORACLE_HOME\bin\csscan -help
可以更清楚如何使用csscan。
# $ORACLE_HOME/bin/csscan system/sunday user=mmsc FROMCHAR=UTF8 TOCHAR=ZHS16GBK ARRAY=102400 PROCESS=3 csscan.log
以上命令意思是扫描用户:mmsc中的所有数据,从字符集UTF8更改为ZHS16GBK的转换情况。然后得到三个文件:scan.txt、scan.out、scan.err。
查看scan.out,scan.err,可以看出mmsc用户下的所有的数据都是可以转换的,并且没有出现转换“Exceptional”的情况,因此可以更放心一点。
3. 更改数据库的字符集为ZHS16GBK
前面说过,通过命令“Alter Database Characeter Set XXXX”,实现从超集到子集的转换,在Oracle是不允许的。但是该命令,提供这样的命令方式:
Alter Database Character Set INTERNAL_CONVERT/ INTERNAL_USE XXXX
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款