zoukankan      html  css  js  c++  java
  • 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.




  • 相关阅读:
    ORACLE B-TREE(B树)索引
    安装CentOS 6.4 64 位操作系统
    环境搭建(一)——linux 安装tomcat
    Linux基础
    sql必知必会
    Mysql基础
    shell编程基础
    Allpairs 正交分析工具的使用(测试用例设计)
    Sublime Text3配置SublimeREPL快捷键的方法(Python)
    XSS攻击及预防
  • 原文地址:https://www.cnblogs.com/plutozzl/p/13553297.html
Copyright © 2011-2022 走看看