关于这个错误从报错提示来看,就是标识位置字段太长了,一般出现在别名长度问题上。这种情况对字段做出些修改即可。还有另外一种情况,也会报相同的错误,一条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中执行
[color=rgba(0, 0, 0, 0.75)]
|