oracle 如何在运行Informatica Powercenter工作流期间检查已用空间?

frebpwbc  于 2023-11-17  发布在  Oracle
关注(0)|答案(1)|浏览(168)

我正在尝试了解有关执行工作流时Informatica Powercenter占用空间的更多信息。
目前,我们在Oracle服务器上有一个表,重约300 MB,有近190万行:我们已经开发了一个非常简单的ETL,它从一个指向上述表的SQL视图中读取数据,而不进行转换,并将数据带到另一台服务器上的另一个Oracle表。当我们打开Monitor软件检查Session信息时,我们会看到显示这个夸大数字的列,大约23 GB。


的数据
根据我们的理解,这只是对传输的总字节数(包括读和写)的估计。事实上,如果我们增加列的精度(例如,从VARCHAR2(100)VARCHAR2(4000)),而保持行不变,这个数字会增加。
所以显示器中的这个值并不代表实际使用的空间,对吗?如果是的话,有什么办法可以看到它吗?
谢谢你,谢谢

mf98qq94

mf98qq941#

在Workflow Monitor中,您可以看到的是行数乘以其定义的总长度。因此,如果您想让观众对ETL性能感到惊讶,请声明100个VARIAL(4000)字段,所有字段均为空值,以实现与实际传输数据量无关的惊人性能。
这就是工作流监视器。你的标题问题是指使用的空间,但是。那么有多少空间是由PowerCenter使用来处理数据?
检查日志。如果您阅读日志,您将发现提及创建的文件和分配的空间的条目。还有另一种方法,从日志中了解文件的名称,但您只能在工作流运行时进行检查。您需要检查该高速缓存(*.idx和 *.dat)在临时文件夹和缓存infashared文件夹中创建的文件(用于joiner、sorter、lookup、aggregator)。请注意,文件在工作流成功完成后会被删除,因此您需要在执行期间捕获它。
还请注意,理想情况下,几乎没有数据会被缓存,并且从源读取的所有行都将写入目标,而不会在中间存储数据。这当然是不使用缓存转换的理想情况。
这里有两个主题:

  • 工作流监视器显示处理的行数(准确)和以字节为单位的吞吐量(完全假的,只是行 * 声明的行长度)
  • 处理数据时使用的空间,可以在日志和文件系统中检查以获得精确的数字。

相关问题