我的Oracle数据库版本是12.1.0.2.0
我正在谈论的数据库用于创建在UAT /生产等环境中部署的“程序包”(不是oracle程序包,而是包含代码/脚本的程序包)。 为此,将在运行时创建新模式,并定期删除不再使用的旧模式。
创建/删除这些模式的表空间的大小为84GB,可用空间超过50%。
SYSTEM表空间的大小为64GB,只有10MB可用空间。
SYSTEM表空间中的所有段均由SYS或SYSTEM拥有。
以下查询的前15行是:
SELECT owner,
segment_name,
segment_type,
bytes
FROM dba_segments
WHERE tablespace_name = 'SYSTEM'
ORDER BY bytes desc;
表空间的64GB SYSTEM听起来正确吗? 可以减少它吗?如果可以,怎么办?
答案 0 :(得分:1)
SOURCE $是任何PLSQL源代码(过程,包,类型等)。
类似地,IDL_UBL1,I_SOURCE也与此相关。
您的附录表示您在该数据库中有116行百万行。这是相当多的代码:-)
如果您确实确实需要1.16亿行源代码,那么我认为64G SYSTEM表空间不是不合理的。
C_OBJ#很大,表明您的数据库中可能有很多对象。因此,也请查看DBA_OBJECTS以获得清理的机会。