如何查看Oracle数据库的字符编码

如题所述

第1个回答  2019-12-23
1、查询Oracle Server端的字符集:
有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:
SQL>select userenv(‘language’) from dual;
结果如下:AMERICAN _ AMERICA. ZHS16GBK。
2、查询dmp文件的字符集:
用Oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354,然后用以下SQL查出它对应的字符集:
SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;
ZHS16GBK
3、查询Oracle client端的字符集:
这个比较简单。在Windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在Dos窗口里面自己设置,比如:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK
如果检查的结果发现Server端与Client端字符集不一致,请统一修改为同Server端相同的字符集。
第2个回答  2015-02-08
建用户和授权要用DBA

最简单得建用户:
create user 用户名 identified by 密码

用户解锁 alter user 用户名 account unlock(不解锁无法登陆)

授权用 grant

建完用户首先要授权登陆权限

grant create session to 用户名

授权可以授权给角色和用户
也可以把角色授权给角色和用户

其他得类似 创建表得权限类似如下格式:
grant create table to 用户
第3个回答  推荐于2017-09-01
SQL> select userenv('language') from dual;
  
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8

本回答被提问者和网友采纳
第4个回答  2019-12-23
有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:
SQL>select userenv(‘language’) from dual;
结果如下:AMERICAN _ AMERICA. ZHS16GBK
第5个回答  2018-03-02
select userenv('language') from dual;