ORA-00972: identifier is too long 问题处理

ORA-00972: identifier is too long 问题处理

    关于这个错误从报错提示来看,就是标识位置字段太长了,一般出现在别名长度问题上。这种情况对字段做出些修改即可。还有另外一种情况,也会报相同的错误,一条SQL可以在客户端工具如navicat,PLSQL等执行,但是却无法在SQL Plus中执行。出现这种情况一般是字符集的问题。

测试流程:

1)在SQL Plus中执行

SYS@proe>SELECT 
  a.tablespace_name "表空间名", 
  total / 1024 / 1024 "表空间大小单位M", 
  free / 1024 / 1024 "表空间剩余大小单位M", 
  (total - free) / 1024 / 1024 "表空间使用大小单位M", 
  Round(
    (total - free) / total, 
    4
  ) * 100 "使用率   [[%]]" 
FROM 
  (
    SELECT 
      tablespace_name, 
      Sum(bytes) free 
    FROM 
      DBA_FREE_SPACE 
    GROUP BY 
      tablespace_name
  ) a, 
  (
    SELECT 
      tablespace_name, 
      Sum(bytes) total 
    FROM 
      DBA_DATA_FILES 
    GROUP BY 
      tablespace_name
  ) b 
WHERE 
  a.tablespace_name = b.tablespace_name;  2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19 
  20   21   22   23   24   25   26   27   28   29   30  

  a.tablespace_name "表空间名",
                    *
ERROR at line 2:
ORA-00972: identifier is too long

2)在navicat中执行

image-20200824125627110

        可以看到在navicat中可以正常执行,但是在sqlplus中报错。

解决办法:

    重新定义环境变量
[oracle@server1 ~]$ export NLS_LANG='american_america.AL32UTF8'
SYS@proe>SELECT 
  a.tablespace_name "表空间名", 
  total / 1024 / 1024 "表空间大小单位M", 
  free / 1024 / 1024 "表空间剩余大小单位M", 
  (total - free) / 1024 / 1024 "表空间使用大小单位M", 
  Round(
    (total - free) / total, 
    4
  ) * 100 "使用率   [[%]]" 
FROM 
  (
    SELECT 
      tablespace_name, 
      Sum(bytes) free 
    FROM 
      DBA_FREE_SPACE 
    GROUP BY 
      tablespace_name
  ) a, 
  (
    SELECT 
      tablespace_name, 
      Sum(bytes) total 
    FROM 
      DBA_DATA_FILES 
    GROUP BY 
      tablespace_name
  ) b 
WHERE 
  a.tablespace_name = b.tablespace_name;  2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30  


表空间名        表空间大小单位M 表空间剩余大小单位M 表空间使用大小单位M 使用率   [[%]]
--------------- --------------- ------------------- ------------------- --------------
SYSAUX                      610             33.0625            576.9375          94.58
UNDOTBS1                     90             67.4375             22.5625          25.07
USERS                      6.25                .875               5.375             86
TBS_TRAN                    100              98.875               1.125           1.13
SYSTEM                      750                   1                 749          99.87
EXAMPLE                  346.25             36.0625            310.1875          89.58
TEST_1                       20                  19                   1              5


7 rows selected.




posted @ 2020-08-24 13:04  YICHUZ  阅读(3280)  评论(0编辑  收藏  举报
返回顶部