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

在这里插入图片描述

        可以看到在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.
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值