vkr*_*ddy 1 sql oracle indexing alter
我试着按如下方式运行存储过程,
insert into process_state_archive select * from process_state
where tstamp BETWEEN trunc(ADD_MONTHS(SYSDATE, -12)) AND trunc(ADD_MONTHS(SYSDATE, -3))
Run Code Online (Sandbox Code Playgroud)
得到以下错误:
Error report:
SQL Error: ORA-01654: Kan index WEBDEV.PROCESS_STAT_TSTAMP_ACTION niet uitbreiden met 8 in tabelruimte USERS.
01654. 00000 - "unable to extend index %s.%s by %s in tablespace %s"
*Cause: Failed to allocate an extent of the required number of blocks for
an index segment in the tablespace indicated.
*Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more
files to the tablespace indicated.
Run Code Online (Sandbox Code Playgroud)
但是昨天我能够毫无错误地运行程序.
任何人都可以告诉我上述错误的解决方案吗?
您的USERS表空间已满.您可以通过丢弃某些东西(可能是旧对象)来释放一些空间 - 如果这是特定的开发环境,请查看您是否在回收站中累积旧对象并清除不再需要的任何东西.
如果你不能收费的任何空间,那么你需要做什么错误消息告诉你这样做,一个额外的数据文件添加到表空间,或增加现有数据文件的大小,假设你有足够的磁盘空间做所以.
该文档包含有关管理数据文件的部分,包括添加数据文件和更改现有数据文件的大小.哪种行为适合取决于您的具体情况,您需要确定适合的尺寸.您可能还需要考虑为应用程序创建新的专用表空间而不是使用USERS表空间,但这又取决于您的具体情况和需求.