当前位置: 首页 > 知识库问答 >
问题:

SAP Sybase ASE:Tempdb中的巨大空间需求

华景明
2023-03-14

我们在SAP Sybase ASE 15.7数据库上运行SAP Solution Manager。这意味着我们有一个保存应用程序数据的用户数据库,以及一个专门映射到此用户数据库的特殊tempdb
过去几周,数据库服务器一直在记录以下消息:

Can't allocate Space forobject 'temp worktable' in database 'saptempdb'  
because 'system' segment is full/has no free extents.[...]  

到目前为止还不错。我一直在扩展设备和数据库段一遍又一遍,现在的大小为150 GB,但消息不断出现。从应用程序管理员那里,我不断收到这样的声明,即不可能进一步优化应用程序的配置。每当日志消息出现时(例如,通过查询sysusages表),我一直试图手动获取更多关于Temdb上实际发生的事情的信息,但是当数据库试图使用其中的所有空间时,我似乎无法当场捕获数据库
是否有人有任何技巧或程序来正确监控临时数据库并找到导致对大型临时工作表需求的语句或事务?

共有2个答案

汝飞
2023-03-14

默认情况下,“系统”段与“默认”段位于同一位置(即,两个段位于同一组设备片段上)。不同之处在于,如果“系统”段被修改为驻留在比“默认”段更少和/或单独的设备片段上。

我想知道“系统”段是否被修改为只驻留在一个较小的设备片段上,而数据库的扩展(到150 GB)可能没有增加“系统”段的可用空间。

不清楚采取了哪些实际步骤来扩展“设备和数据库段”(例如,只扩展了“默认”段吗?),所以看看下面返回的是什么会很有趣:

use saptempdb
go
exec sp_helpdb saptempdb
go

这应该提供必要的细节来告诉哪些片段驻留在哪些设备片段上,包括显示“系统”片段是否被限制在一个较小的设备片段上。

如果系统段驻留在较小的设备片断上,系统段可以通过将段扩展(通过sp_extendsegment)到数据库中的其他设备片断(例如,到默认段的设备片断上)来增加大小目前正坐在)。

倪阳飇
2023-03-14

tempdb占用空间的原因可能有很多。通过定期查询MDA表monProcessObject,您可能会获得一些见解。

 类似资料:
  • 我创建并持久化一个df1,然后在其上执行以下操作: 我有一个有16个节点的集群(每个节点有1个worker和1个executor,4个内核和24GB Ram)和一个master(有15GB Ram)。Spark.shuffle.Partitions也是192个。它挂了2个小时,什么也没发生。Spark UI中没有任何活动。为什么挂这么久?是dagscheduler吗?我怎么查?如果你需要更多的信息

  • 问题内容: 我正在处理一个很大的文本文件(755Mb)。我需要对行进行排序(大约1890000),然后将它们写回到另一个文件中。 问题是我无法将行存储在内存中的集合中,因为我收到了Java堆空间异常(即使我最大程度地扩展了它)。(已经尝试过!) 我不能用excel打开它并使用排序功能,因为文件太大并且无法完全加载。 我考虑过使用数据库..但是我认为编写所有行然后使用SELECT查询就执行时间而言太

  • 我正在Windows 8.1 64位上开发java swing应用程序,带有4GB内存和JDK版本8u20 64位。 问题是当我使用带有监视器选项的Netbeans profiler启动应用程序时。 加载第一个Jframe时,应用程序Memory Heap约为18mb,JVM进程大小约为50mb(Image1)。 然后,当我启动另一个Jframe时,它包含一个带有webView的JFxPanel,

  • 问题内容: 我目前正在尝试从Python 2.7中的.csv文件中读取数据,该文件最多包含100万行和200列(文件范围从100mb到1.6gb)。对于少于300,000行的文件,我可以(非常缓慢地)执行此操作,但是一旦超过该行,就会出现内存错误。我的代码如下所示: 在getstuff函数中使用else子句的原因是,所有符合条件的元素都将一起列在csv文件中,因此当我经过它们时,为了节省时间,我离

  • 我运行了两个用nginx群集的tomcat实例。在我的tomcats上,我将Infinispan作为分布式缓存运行。当我在缓存中插入大约4mio的记录时,有些奇怪的事情发生了。在图1中你可以看出我的意思。JVM分配的内存比以往任何时候都要多,而且使用后不会释放。 JVM参数: xmx8g xx:newRatio=4 xx:survivorratio=8 xx:+UseCompressedoops

  • 你需要至少 32MB 的内存和 110MB 硬盘空间。 对最小的基于控制台的系统(全为标准包)需要250MB。如果你要安装适当的软件,包括 X Window 系统,以及一些开发工具和库,需要至少400MB。对于一个基本的桌面系统, 需要几个 G 的空间。