首页 > 技术文章 > 查找PeopleSoft表和索引的大小

ameken 2018-11-23 14:22 原文

对于PeopleSoft管理员/DBA或任何支持该应用程序的PeopleSoft顾问来说,最大的痛苦是什么?那时PeopleSoft应用程序的性能非常缓慢。有数以百计的事情可能出错,其中之一是直接关系到您的PeopleSoft数据库的大小。

PeopleSoft数据库由PeopleSoft表、索引和少数其他对象组成,但其大小主要由表和索引决定。

对于Oracle数据库,DBA可以利用OEM(Oracle Enterprise Manager)对数据库大小进行检查,并且可以设置触发器或脚本,以便在达到阈值时发出警报。

PeopleSoft Tables是构建并具有数据库定义的PeopleSoft记录定义。PeopleSoft索引是为这些PeopleSoft表创建的。

下面是用于估计PeopleSoft数据库大小的几个SQL(PeopleSoft表的大小和PeopleSoft索引的大小)

下面SQL的输出将以MB和GB显示大小(大约)。

-查找PeopleSoft表的大小
SELECT DS.TABLESPACE_NAME,
SEGMENT_NAME,
ROUND (SUM (DS.BYTES) / (1024 * 1024)) AS MB,
ROUND (SUM (DS.BYTES) / (1024 * 1024 * 1024)) AS APPROX_IN_GB
FROM DBA_SEGMENTS DS
WHERE SEGMENT_NAME IN (SELECT TABLE_NAME
FROM DBA_TABLES
WHERE OWNER = 'SYSADM'
AND TABLE_NAME LIKE 'PS_%'
AND NUM_ROWS > 0)
AND SEGMENT_TYPE = 'TABLE'
AND OWNER = 'SYSADM'
GROUP BY DS.TABLESPACE_NAME, SEGMENT_NAME

-查找PeopleSoft索引大小

SELECT DS.TABLESPACE_NAME,
SEGMENT_NAME,
ROUND (SUM (DS.BYTES) / (1024 * 1024)) AS MB,
ROUND (SUM (DS.BYTES) / (1024 * 1024 * 1024)) AS APPROX_IN_GB
FROM DBA_SEGMENTS DS
WHERE SEGMENT_NAME IN (SELECT TABLE_NAME
FROM DBA_TABLES
WHERE OWNER = 'SYSADM'
AND TABLE_NAME LIKE 'PS_%'
AND NUM_ROWS > 0)
AND SEGMENT_TYPE = 'INDEX'
AND OWNER = 'SYSADM'
GROUP BY DS.TABLESPACE_NAME, SEGMENT_NAME
ORDER BY ROUND (SUM (DS.BYTES) / (1024 * 1024 * 1024)) DESC;

 

推荐阅读