修改oracle的字符集
常见的Oracle字符集有ZHS16GBK、AL32UTF8、US7ASCII,UTF8等用途待查,我们如果安装错了,可以通过下面
方法进行修改
1,用sys登录 sqlplus / as sysdba
2,shutdown immediate;
3,startup mount;
4,alter system enable restricted session;
5,alter system set job_queue_processe=0;
6,alter system set aq_tm_processes=0;
7,alter database open;
8,alter database character set internal_use AL32UTF8;
9,shutdown immediate;
10,startup;
select userenv(‘language’) from dual; 查看字符集
影响Oracle数据库字符集最重要的参数是NLS_LANG参数。
它的格式如下: NLS_LANG =language_territory.charset
它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。
其中:
Language: 指定服务器消息的语言, 影响提示信息是中文还是英文
Territory: 指定服务器的日期和数字格式,
Charset: 指定字符集。
如:AMERICAN _ AMERICA. ZHS16GBK
从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。
所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。
(1).数据库服务器字符集
select userenv(‘language’) from dual;
select * from nls_database_parameters;
(2).客户端字符集环境
select * from nls_instance_parameters;
(3).会话字符集环境
select * from nls_session_parameters
(4).客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。
如果多个设置存在的时候,NLS作用优先级别:Sql function > alter session > 环境变量或注册表 > 参数文件 > 数据库默认参数
字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 engola@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.3kemao.com/n/13264.html