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

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中执行

ORA-00972: identifier is too long 问题处理_第1张图片

        可以看到在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.

你可能感兴趣的:(Oracle,问题整理,oracle,数据库)