您的位置:首页 > 数据库 > Oracle

oracle 学习笔记

2014-04-28 21:45 239 查看
服务器字符集:

select name,value$ from props$ where name= 'NLS_CHARACTERSET';

 客户端字符集:

select userenv('LANGUAGE'),userenv('LANG') from dual;

 
如何查询dmp文件的字符集
用oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354,然后用以下SQL查出它对应的字符集:

select nls_charset_name(to_number('0354','xxxx')) from dual

 

查询oracle client端的字符集

select * from nls_instance_parameters;

 这个比较简单。在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,比如:

set nls_lang=AMERICAN_AMERICA.ZHS16GBK

 这样就只影响这个窗口里面的环境变量。
在unix平台下,就是环境变量NLS_LANG。

$echo $NLS_LANG 
AMERICAN_AMERICA.ZHS16GBK

 导入导出数据时,需要保证3者相同字符集

所有oracle支持字符集名称
 

select value from V$NLS_VALID_VALUES where parameter='CHARACTERSET' order by value;

 
Oracle修改字符集:

connect system as sysdba ;
shutdown immediate ;
startup mount ;
alter system enable restricted session ;
alter system set JOB_QUEUE_PROCESSES=0;
alter system set AQ_TM_PROCESSES=0;
alter database open ;
alter database character set internal_use ZHS16GBK ;
shutdown immediate ;
startup ;

  
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

oracle 存储过程不能调试 权限不够

GRANT debug any procedure, debug connect session TO 用户;

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: