Oracle Database 12c:无法调整系统表空间的大小

Joh*_*ohn 5 oracle database-size configuration

问题:

我的 Java 应用程序ORA-01691: unable to extend lob segment每次插入都返回错误

原因:

运行后:

SELECT * 
FROM dba_tablespace_usage_metrics 
ORDER BY used_percent desc;
Run Code Online (Sandbox Code Playgroud)

我发现SYSTEM数据文件已满 99.81%(并且由于某种原因只有 4MB)。

解决方案尝试:

  1. 我打开了自动扩展

    ALTER DATABASE 
    DATAFILE '/home/user/oracle/orcl/system01.dbf' 
    AUTOEXTEND ON NEXT 2048M 
    MAXSIZE UNLIMITED;
    
    Run Code Online (Sandbox Code Playgroud)

    ...执行得很好,但没有增加大小。

  2. 然后我尝试手动增加大小:

    ALTER DATABASE 
    DATAFILE '/home/user/oracle/orcl/system01.dbf' 
    RESIZE 2048M;
    
    Run Code Online (Sandbox Code Playgroud)

...这给出了一个错误,即我尝试使用的新大小最终会截断数据。这当然没有意义,因为当前大小是 4MB。我还尝试将 2GB 粘贴为字节而不是“2048M”,因为我认为它可能无法理解“2048M”。虽然这给出了同样的错误。

摆脱ORA-01691: unable to extend lob segment错误的实际工作方式是什么?

Bal*_*app 5

DBA_TABLESPACE_USAGE_METRICS以数据库块而不是字节为单位显示单位。对于 SYSTEM 表空间,4 MB 是不够的。您看到的很可能是 4M 块,即 32 GB 和 8K 块大小的表空间,这是 8K 小文件表空间中数据文件的最大大小。这就是为什么你的尝试没有效果。

您可以向表空间添加新的数据文件,例如:

alter tablespace system add datafile '/home/user/oracle/orcl/system02.dbf' size 10m autoextend on next 10M maxsize unlimited;
Run Code Online (Sandbox Code Playgroud)