十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如何查看oracle国家字符编码
创新互联建站是专业的元江县网站建设公司,元江县接单;提供网站制作、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行元江县网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
查询Oracle Server端的字符集:
有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:
SQLselect userenv(‘language’) from dual;
结果如下:AMERICAN _ AMERICA. ZHS16GBK。
首先查看oracle数据库的编码:SQLselect*fromnls_database_parameterswhereparameter='NLS_CHARACTERSET';修改字符集编码(这会对数据库的数据有直接的影响,谨慎操作):SQLconn/assysdbaSQLshutdownimmediate;SQLstartupmount;SQLALTERSYSTEMENABLERESTRICTEDSESSION;SQLALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;SQLALTERSYSTEMSETAQ_TM_PROCESSES=0;SQLalterdatabaseopen;SQLALTERDATABASEcharactersetINTERNAL_USEZHS16GBK;SQLshutdownimmediate;SQLstartup
目前我的数据库环境的字符集是AL32UTF8,那么把它改成ZHS16GBK
1.首先以sysdba的身份登录上去 conn /as sysdba
2.关闭数据库shutdown immediate;
3.以mount打来数据库,startup mount
4.设置session
SQLALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL ALTER SYSTEM SET AQ_TM_PROCESSES=0;
5.启动数据库
alter database open;
6.修改字符集
ALTER DATABASE CHARACTER SET ZHS16GBK;
这会可能会报错,提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
这条语句就可以了,TERNAL_USE提供的帮助就会使oracle绕过了子集与超集的验证,这条语句和上面的语句内部操作时完全相同的。
7.关闭,重新启动
SQLshutdown immediate;
SQL startup
当然字符集最好不要轻易修改,因为这会对数据库的数据有直接的影响,如果是生产环境的话,可能会造成不可估计得损失。
1、SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET' ;
--查询oracle 相关参数
2、SELECT * FROM NLS_DATABASE_PARAMETERS ;
扩展资料:
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。
可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。
此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。
这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。
参考资料: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字符集的方法有很多,dba权限登录你可以执行:
select * from nls_database_parameters;
select userenv('language') from dual;
推荐第二种,比较直观。
至于更改字符集的话,原则上是不能修改的。不过有两种方法可以尝试(我没试过):
1. 如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换。
2. 通过ALTER DATABASE CHARACTER SET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,例如UTF8是US7ASCII的超集,修改数据库字符集可使用ALTER DATABASE CHARACTER SET UTF8。