ORA-01654: 索引 BHGX.IX_JJ_XMFY_JSD 无法通过 1024 (在表空间 USERS 中) 扩展

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-01654: 索引 BHGX.IX_JJ_XMFY_JSD 无法通过 1024 (在表空间 USERS 中) 扩展相关的知识,希望对你有一定的参考价值。

参考技术A USERS 表空间不足,增大表空间或添加数据文件 参考技术B USERS 表空间不足,增大表空间或添加数据文件 参考技术C 首先查看是不是你的磁盘空间不足

ORA-01654: 无法扩展索引

【中文标题】ORA-01654: 无法扩展索引【英文标题】:ORA-01654: unable to extend index 【发布时间】:2010-10-20 14:45:00 【问题描述】:

呼叫所有 Oracle 大师!

我正在对 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

【讨论】:

如何选择当前的DATAFILES? 从 v$datafile 中选择 *; 而 MAXSIZE 64G 代表 64 Giga 字节,因此请始终添加小于当前可用大小的内容,否则会出现相同的错误。 嗨,我收到以下错误。 java.sql.SQLException: ORA-01654: 无法在表空间 USERS 中将索引 ODM_DSI.EVENTSTORE_IDX2 扩展 1024。扩展表空间会在这里再次提供帮助吗? @PranavNath 值得一试【参考方案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;

【讨论】:

【参考方案3】:

我发现这个问题在将大型数据库的小子集迁移到 Docker 中的测试数据库时有同样的错误。

在我的情况下,问题只是将系统表空间用于用户表,这是 Oracle 映像中的默认设置。使用命令创建自定义表空间后

create tablespace mytablespace datafile '/u01/app/oracle/oradata/XE/mytablespace.dbf' size 500M autoextend on next 250M maxsize 10G;` 

(以及在该表空间中创建所有表和索引)问题消失了。不需要特别摆弄数据文件。

【讨论】:

以上是关于ORA-01654: 索引 BHGX.IX_JJ_XMFY_JSD 无法通过 1024 (在表空间 USERS 中) 扩展的主要内容,如果未能解决你的问题,请参考以下文章

ORA-01654: 索引 BHGX.IX_JJ_XMFY_JSD 无法通过 1024 (在表空间 USERS 中) 扩展

oracle ORA-01654- ORA-01653: 表 Attachment 无法通过 1024 (在表空间 USERS 中) 扩展

oracle 12c数据库报ORA-01654错的问题处理

多测诗_索引_切片_字符003

mysql_12_索引的分类_创建_删除

索引与切片运算符重载