ORA-01667: cannot add any more tablespaces: limit of string exceeded
Cause: There is no more room in the control file for adding tablespaces.
Action: Resize the control file or drop other tablespaces.
这是Oracle数据库的一个错误,出现这个错误的原因是数据库中的表空间数量超过了被限制的值。该错误的官方解释是:
“ORA-01667:不能添加更多的表空间:超过的限制{string}”
常见案例是当数据库尝试添加新表空间时,如果数据库中当前存在的表空间数超过一个指定的值或者极限值,就会引发此错误,从而无法再添加新表空间。
1. 检查当前数据库中表空间的数量:可以使用DBA处置脚本,或者使用sqlplus终端查询表空间列表,直观查看当前存在的数量;
2. 确定被限制的阀值:使用SQL plus命令SELECT * FROM v$parameter WHERE name=’tablespace_count’语句查询当前的表空间数量限制;
3. 修改表空间数量限制:有两种可能:
(1)使用bigfile表空间,用管理大文件较小的表空间,减少表空间数量;
(2)修改数据库参数并重启数据库,以增加限制值。其步骤是(i)修改tablespace_count参数;(ii)使用shutdown immediate停止数据库;(iii)使用startup restart重启数据库。
4. 重试创建表空间操作:在完成了步骤3后,创建表空间操作就能完成,避免此错误的出现。