文档解释
ORA-39316: Cannot resize a data file in a smallfile tablespace.
Cause: DBMS_METADATA_DIFF was comparing two smallfile tablespaces. A data file in the first tablespace is of a different size from the corresponding data file in the second tablespace. There is no SQL ALTER statement to resize a data file in a smallfile tablespace.
Action: The difference cannot be eliminated with an SQL ALTER statement.
ORA-39316 错误是指尝试在小文件表空间(Smallfile tablespace)上调整数据文件的大小时,抛出的一种 Oracle 数据库错误。Oracle 官方的解释是:
“ORA-39316: 未能在小文件表空间中调整数据文件的大小。”
此错误通常是由于尝试在小文件表空间中调整数据文件的大小时,给定的文件大小超出了小文件表空间的空间上限造成的。由于小文件表空间每个数据文件的单个大小限制在 32GB 之内,因此当尝试扩展文件大小超过 32GB 时,会出现此错误。
一般处理方法及步骤
1. 使用 Alter Database datafile Resize 语句重新设置数据文件的大小,但注意不要超过 32GB。
2. 如果所需的文件大小超出小文件表空间的上限,可以考虑更改表空间为标准表空间(Standard tablespace),然后使用 Alter Database datafile Resize 语句调整文件大小,并设置合理的上限。
3. 如果计划使用多个小文件表空间,则在收集小文件表空间的文件时应使用相应的 Oracle 并发控制技术,以避免出现 ORA-39316 错误。