oracle报错:ORA-00972: identifier is too long

今天数据库巡检时,查询dba_data_files的字段出现报错:

ORA-00972: identifier is too long

网上查询获知为:字面的意思是标识符(你备注的名称)过长,有的说标识符不可超过30。

附:我的查询语句

select file_name 文件名,tablespace_name 表空间,bytes/1048576 使用,user_bytes/1048676 可用,maxbytes/1048576 最大,autoextensible 自增长,status from dba_data_files;

虽然没有标识符过长的情况,但我尝试删了好几个字段和标识名称,依然报错;

之后,把sql语句复制粘贴到文本文档,发现是中英文符号问题,把所有符号改为中文,问题解决。

 另:

看到别人的出错非中英文符号问题,这里一并补录,以防以后出现同样问题忘记如何解决:

原因:字符集不匹配所造成

1.解决过程:

在环境变量(计算机-->属性-->高级-->环境变量-->设置下字符集)中加入:

变量名:NLS_LANG

变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

(也可使用:AMERICAN_AMERICA.UTF8)

重新启动,问题解决,可以执行。

2.或者,通过注册表来修改:

运行:regedit 

-- HKEY_LOCAL_MACHINE 

-- SOFTWARE 

-- ORACLE 

-- KEY_OraClient11g_home1 和 KEY_OraDb11g_home1

找到NLS_LANG修改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK



你可能感兴趣的:(oracle报错,oracle报错,标识符过长)