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.





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM