如何改oracle编码 修改oracle编码

如何修改oracle的字符集编码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=3csscan.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
怎么改oracle注册表的字符集编码?通过注册表修改 \x0d\x0aHKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0\x0d\x0aNLS_LANG 改为如何改oracle编码你需要如何改oracle编码的字符集. \x0d\x0a\x0d\x0a常用字符集(暂时只收集到两个) \x0d\x0aAMERICAN_AMERICA.WE8ISO8859P1 \x0d\x0aSIMPLIFIED CHINESE_CHINA.ZHS16GBK \x0d\x0aamerican_america.AL32UTF8\x0d\x0a\x0d\x0a 1--------- AMERICAN_AMERICA.zhs16gbk \x0d\x0a 2--------- AMERICAN_AMERICA.utf8
如何查看及修改oracle编码格式方法查看及修改oracle编码格式方法:
1、查看oracle数据库字符集:
select userenv('language') from dual;
查询结果:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
2、修改oracle数据库字符集:(在SQL Plus中)
sql conn / as sysdba;
sql shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql startup mount;
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 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 internal_use UTF8
sql shutdown immediate;
sql startup;
如何查看及修改oracle编码格式方法?查看及修改oracle编码格式方法如何改oracle编码:\x0d\x0a1、查看oracle数据库字符集如何改oracle编码:\x0d\x0aselect userenv('language') from dual;\x0d\x0a查询结果如何改oracle编码:\x0d\x0aSIMPLIFIED CHINESE_CHINA.AL32UTF8\x0d\x0a2、修改oracle数据库字符集如何改oracle编码:(在SQL Plus中)\x0d\x0asql conn / as sysdba;\x0d\x0asql shutdown immediate;\x0d\x0adatabase closed.\x0d\x0adatabase dismounted.\x0d\x0aoracle instance shut down.\x0d\x0asql startup mount;\x0d\x0aoracle instance started.\x0d\x0atotal system global area135337420 bytes\x0d\x0afixed size452044 bytes\x0d\x0avariable size109051904 bytes\x0d\x0adatabase buffers25165824 bytes\x0d\x0aredo buffers667648 bytes\x0d\x0adatabase mounted.\x0d\x0asql alter system enable restricted session;\x0d\x0asystem altered.\x0d\x0asql alter system set job_queue_processes=0;\x0d\x0asystem altered.\x0d\x0asql alter system set aq_tm_processes=0;\x0d\x0asystem altered.\x0d\x0asql alter database open;\x0d\x0adatabase altered.\x0d\x0asql alter database character set internal_use UTF8\x0d\x0asql shutdown immediate;\x0d\x0asql startup;
oracle字符集编码怎么修改oracle数据库的字符集更改
A、oracle server 端 字符集查询
select userenv('language') from dual
其中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 Area236000356 bytes
Fixed Size451684 bytes
Variable Size201326592 bytes
Database Buffers33554432 bytes
Redo Buffers667648 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 Area236000356 bytes
Fixed Size451684 bytes
Variable Size201326592 bytes
Database Buffers33554432 bytes
Redo Buffers667648 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窗口 。
oracle数据库怎么修改编码格式utf-8以下内容为固定写法,可以修改数据库编码格式 。
第一步:通过系统管理员权限登录数据库 。
sql conn / as sysdba;
第二步:关闭数据库和实例连接 。
sql shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
第三步:启动数据库实例连接 。
sql startup mount;
oracle instance started.
total system global area135337420 bytes
fixed size452044 bytes
variable size109051904 bytes
database buffers25165824 bytes
redo buffers667648 bytes
database mounted.
第四步:限制其它用户连接数据库使用资源 。
sql alter system enable restricted session;
system altered.
第五步:设置作业进行为0个 。
sql alter system set job_queue_processes=0;
system altered.
第六步:设置启动时间管理器的数量为0
sql alter system set aq_tm_processes=0;
system altered.
第七步:打开数据库连接
sql alter database open;
database altered.
第八步:修改需要的编码格式
sql alter database character set internal_use GBK;
第九步:关闭连接 。
sql shutdown immediate;
第十步:启动oracle进程 。
sql startup;
备注:常用的有:UTF-8,GBK。
UTF-8:是一种针对Unicode的可变长度字符编码,又称万国码 。由Ken Thompson于1992年创建 。现在已经标准化为RFC 3629 。UTF-8用1到6个字节编码UNICODE字符 。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文) 。
【如何改oracle编码 修改oracle编码】如何改oracle编码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于修改oracle编码、如何改oracle编码的信息别忘了在本站进行查找喔 。

    推荐阅读