今天在客户那边巡检一个数据库时,在警告日志文件发现了一个报错,大概每隔20秒就有一次记录;
“ORA-1654: unable to extend index ODS.EI_P1_ATTRSTORE by 256 in tablespace P1TS_IND_STORE”
后来发现是oracle对单个数据文件大小有限制导致的(Oracle数据文件的大小存在一个内部限制:db_block_size为2k时,单个数据文件最大为8G;db_block_size为4k时,单个数据文件最大为16G;(这里说的是小文件表空间)))
客户这边的数据库版本是9.2.0.4,linux操作系统,参数db_block_size为4096查看db_block_size:SQL> show parameter db_block_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 4096
表空间P1TS_IND_STORE只有一个数据文件icatsp1_ora9i.dbf,
用命令du -sh icatsp1_ora9i.dbf查看该数据文件大小,17G(奇怪,不是最大16G吗?)!
查看表空间有哪些数据文件:SQL> SELECT d.name FROM v$datafile d JOIN v$tablespace t USING(ts#) WHERE t.name='P1TS_IND_STORE';
NAME
-----------------------------------
/**