2

TLDR?跳到要点。

我最近在后端部署了一个带有 Oracle 11g 数据库的解决方案到一个测试环境,性能非常糟糕 - 系统无法运行。在低规格的开发中性能更好。环境。我很欣赏这可能归结为很多很多事情,但 Oracle 设置目前处于火线,因为它是我最不熟悉的组件(而且我已经没有想法了)。

数据库是使用 dbca 创建的。在 SQL Developer 中直接针对数据库进行简单的 SELECTS 是可以的,但是通过我们的内部数据访问驱动程序,这些驱动程序涉及具有大量连接的复杂查询,会产生较差的性能。没有网络延迟问题,并且数据访问代码在其他地方很好*。

*虽然有点闲聊 - 另一天的故事。

为了提供帮助,我想要信息。关于以下内容:

  • SQL Developer 显示 SYSTEM / SYSAUX 的表空间使用率为 99%(分别为 710Mb / 600Mb)。这会对性能产生影响吗?

  • SQL Developer 显示 TEMP 表空间有 usage NULL、allocated NULL、used NULL、free 0、datafiles NULL。我对数据库运行查询以显示临时文件存在并且在线......我什至删除/重新创建了它,但它仍然在“管理数据库”屏幕中显示为 NULL。这是正常行为吗?如果没有,这会对性能产生影响吗?

提前致谢。

4

2 回答 2

3

TLDR - 空间不是你的问题。

  • 您的 SYSTEM 和 SYSAUX 表空间可能没问题。

您的报告可能具有误导性。您的数据文件可能正在使用其当前分配空间的 99%。但是我敢打赌,如果您查看数据文件,您会发现它们可以自动扩展到更大的值。例如,在我的大部分默认设置安装中:

select tablespace_name, round(bytes/1024/1024) current_mb,
    round(maxbytes/1024/1024) max_mb, autoextensible
from dba_data_files
where tablespace_name in ('SYSTEM', 'SYSAUX');

TABLESPACE_NAME  CURRENT_MB   MAX_MB  AUTOEXTENSIBLE
SYSAUX           2050         32768   YES
SYSTEM           810          32768   YES

除非您的硬盘驱动器已满,否则您可能还有很多空间。另外,如果你真的没有 SYSTEM 或 SYSAUX 空间,它会抛出很多错误。例如,您将无法登录,因为 sys.aud$ 已满,或者如果无法写入数据,统计信息收集将引发异常。

12c 版本的 DBCA 甚至没有提供设置 SYSAUX 和 SYSTEM 表空间的选项。

  • 您的临时表空间可能没问题。

完全空的临时表空间是不寻常的。但这不是一件坏事。如果内存中没有足够的空间,临时表空间用于排序和散列等操作。如果系统运行小型 OLTP 查询并且有足够的内存,则不需要临时表空间。

同样,即使您愿意,DBCA 也不会让您缩小临时表空间的大小。

于 2013-11-09T21:02:38.440 回答
0

看起来数据库的大小不正确。要查看性能问题,请运行 statspack 或 awr 并查看相应的报告。另外把报告贴到网上让我们看看。

于 2013-11-09T17:54:59.750 回答