ORA-01654:无法扩展索引

2022-09-01 13:01:40

召集所有甲骨文大师!

我正在 WebSphere 上对一个经过良好测试的应用程序进行群集。在发生这种情况之前,有问题的应用程序在处理队列中的1k JMS消息大约完成了一半。

---- Begin backtrace for Nested Throwables
java.sql.SQLException: ORA-01654: unable to extend index DABUAT.INDEX1 by 128 in tablespace DABUAT_TBLSP

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)

我在网上快速浏览了一下,并找到了一些关于为什么会发生这种情况的可能建议,如果有人能清楚地解释为什么现在我的应用程序已经聚集在一起,我将不胜感激。

问候卡尔


答案 1

磁盘空间不足。

增加您的 :TABLESPACE

ALTER TABLESPACE DABUAT_TBLSP
ADD DATAFILE 'C:\FolderWithPlentyOfSpace\DABUAT_TBLSP001.DBF' 
SIZE 4M
AUTOEXTEND ON NEXT 4M
MAXSIZE 64G;

-- Put your own size parameters here

答案 2

如果您使用的是ASM,则可以在下面添加注释

您可以运行以下命令来获取数据文件的大小

SELECT
    file_name,
    bytes / 1024 / 1024 mb
FROM
    dba_data_files
WHERE
    tablespace_name = 'APP_DATA'
ORDER BY
    file_name;


FILE_NAME mb
------------------------------------------------------------ -------
+DATA/SID/datafile/app_data.dbf 20000
+DATA/SID/datafile/app_data.dbf 28100

调整大小和添加

+DATA/path/indx_operational_00.dbf

alter database datafile '+DATA/path/indx_operational_00.dbf' resize 3000m;

推荐