免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2439 | 回复: 4
打印 上一主题 下一主题

关于数据库报溢处问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-30 13:04 |只看该作者 |倒序浏览
我在做DB2练习的时候。就是要往一个SAMPEL库里的一个表加一条数据,我加好了也报成功了,==过了
10分钟后,我的CC(控制中心)就出现了警报。

我也找了这样的问题解答,可是找不到这样的资料,还请大家来指教,指教。谢了。说到的问题如下面的图。

有好几天了都是这样,等待大家的解答。急。。。。非常感谢。。。。

[ 本帖最后由 x521 于 2006-11-30 13:11 编辑 ]

{A433C5EB-85B6-4DAF-99FE-5AAB71243CC2}.JPG (4.5 KB, 下载次数: 107)

1

1

{B418F169-BF73-49B9-9489-46CA02AE02F9}.JPG (11.46 KB, 下载次数: 98)

2

2

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-11-30 16:10 |只看该作者
这个问题只和SORT有关,和你是否插入新数据一点关系也没有。

论坛徽章:
0
3 [报告]
发表于 2006-11-30 20:41 |只看该作者
hehe  ,你好,星瞳——吾爱。
   能否把这个问题说清楚点吗?我对这样的问题一点不知道,在网上也没找到多少这样的问题的解决方法,谢谢了。
  
   还有我看了你的博客。写 得不错哦,呵呵,我给你留言的了,你看到了没?

有谁知道就 帮我看看,,真的谢了。。。。。。。。。。。。。。。。。。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2006-11-30 22:10 |只看该作者
其实,问题不用解决。偶尔一次排序堆溢出,不算什么大不了的事情。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2006-11-30 23:07 |只看该作者
这个命令能给你一些详细信息和解决办法:

C:\>db2 GET RECOMMENDATIONS FOR HEALTH INDICATOR db.spilled_sorts
GET RECOMMENDATIONS FOR HEALTH INDICATOR db.spilled_sorts
建议:

建议:增大排序堆。

由于没有足够的排序内存可用,应用程序排序操作可能会花较长的时间。

数据库管理器将通过比较当前排序内存的使用和排序堆阈值来确定分配
多少内存。如果排序堆大小小于平均排序所需的大小,排序接收到的内
存就会比需要的少。如果出现此报警时在 db2.sort_privmem_util 或
db.sort_shrmem_util 中没有报警,可考虑按 5% 的幅度增加 sortheap
参数以使应用程序可请求更多的内存用于排序,从而增加在内存中完整地
完成排序的可能性。

增大排序堆阈值而不调整共享和专用排序堆阈值可能会导致排序并发性的
减弱。随着总排序内存的使用达到其中任何一个排序内存阈值,数据库管
理器都会分配较少部分的内存,从而导致排序减慢。

执行下列其中一项操作:

启动 DB2 工具:数据库配置窗口

“数据库配置”窗口可用来查看和更新数据库配置参数。

要打开“数据库配置”窗口:
1. 从控制中心中,展开对象树直到找到数据库文件夹。
2. 单击数据库文件夹。所有现有数据库将显示在窗口右边的内容窗格中。
3. 在内容窗格中右键单击想要的数据库,然后在弹出菜单中单击“配置参数”。
   “数据库配置”窗口打开。


在“性能”选项卡上,按照建议更新排序堆参数并单击“确定”
以应用更新。




从“命令行处理器”中,发出以下示例中显示的命令:

CONNECT TO database-alias
UPDATE DATABASE CONFIGURATION FOR database-alias USING SORTHEAP size
CONNECT RESET


建议:调整工作负载。

通过添加索引和具体查询表来调整工作负载的数据库性能。这样可以帮助
减少进行排序的需要。

执行下列其中一项操作:

启动 DB2 工具:设计顾问程序

“设计顾问程序”用来为工作负载优化数据库性能,方法是添加索引、
具体查询表、多维群集表和表重新分区。您将需要提供查询工作负载。

要打开“设计顾问程序”:
1. 从控制中心中,展开对象树直到找到想要的数据库。
2. 右键单击数据库,并在弹出菜单中单击“设计顾问程序”。
      “设计顾问程序”打开。

要从命令行启动“设计顾问程序”,发出 db2advis 命令。

遵循“设计顾问程序”的步骤以生成一组建议来优化查询性能。
为让“设计顾问程序”生成准确的建议,应提供包含要对数据库执行的一组
完整 SQL 语句的工作负载。未包括在工作负载中的 SQL 语句可能导致性能
下降。


建议:增大共享排序堆阈值。

由于没有足够的排序内存可用,应用程序排序操作可能会花较长的时间。

数据库管理器只分配应用程序所需的排序内存的一部分,从而导致应用程序
性能下降。共享内存阈值确定在发生第一次数据库连接时保留多少共享内存。
这是只要数据库保持活动就可用的总共享内存。当 50% 的共享排序堆
在使用中时,后续请求接收到的内存分配将减少。共享内存阈值太少会导致
共享排序失败。如果出现此报警时 db.sort_shrmem_util 中也有报警,数
据库管理器将减少分配给应用程序的内存,以防止超出共享排序内存阈值。
增大 sheapthres_shr 值可使更多的应用程序接收到用于排序的足够内存。
但 sheapthres_shr 值太大又会导致内存被保留但未使用。还会导致“长
期共享排序内存使用”健康指示器(db.max_sort_shrmem_util)进入报警
状态。在选择新的值之前,应考虑最大的共享排序堆使用情况。此值由 DB2
系统监视器作为共享排序堆高水位标记(sort_shrheap_top)进行监视,它是
自数据库启动以来共享排序堆使用的最高级别。可考虑将 sheapthres_shr
设置为比高水位标记略高的值,例如,高 10%。应注意,共享排序堆使用中
不规则的峰值将会影响到此建议。

执行下列其中一项操作:

启动 DB2 工具:数据库配置窗口

“数据库配置”窗口可用来查看和更新数据库配置参数。

要打开“数据库配置”窗口:
1. 从控制中心中,展开对象树直到找到数据库文件夹。
2. 单击数据库文件夹。所有现有数据库将显示在窗口右边的内容窗格中。
3. 在内容窗格中右键单击想要的数据库,然后在弹出菜单中单击“配置参数”。
   “数据库配置”窗口打开。


在“性能”选项卡上,按照建议更新共享排序堆阈值参数,并单击
“确定”以应用更新。




如果 SHEAPTHRES_SHR 设置为 0,则共享排序内存的阈值将等于 SHEAPTHRES
数据库管理器配置参数的值。如果 SHEAPTHRES 将同时用于表示共享和专用
排序堆阈值,从“命令行处理器”更新 SHEAPTHRES 数据库管理器配置参数,
如以下示例中所示。注意,这将影响 SHEAPTHRES_SHR 设置为 0
的任何其它数据库。

UPDATE DATABASE MANAGER CONFIGURATION USING SHEAPTHRES size

如果 SHEAPTHRES_SHR 未设置为 0,或者如果仅增大此数据库的共享排序内存
的阈值,从“命令行处理器”更新 SHEAPTHRES_SHR 数据库配置参数,如以下
示例中所示:

CONNECT TO database-alias
UPDATE DATABASE CONFIGURATION FOR database-alias USING SHEAPTHRES size
CONNECT RESET
CONNECT TO database-alias
UPDATE DATABASE CONFIGURATION FOR database-alias USING SHEAPTHRES_SHR size
CONNECT RESET


建议:增大排序堆阈值。

由于有减少的排序内存量可用,应用程序排序操作可能会花较长的时间。

连接到此实例中数据库的应用程序需要的专用排序内存比可用内存多。
当分配的总专用排序内存超出了排序堆阈值时,数据库管理器就开始分配
比请求的少的专用排序内存,从而导致排序操作的时间较长。增加
sheapthres 值可增加将接收到用于排序的足够内存的应用程序的数目。如果
出现此报警时 db2.sort_privmem_util 中也有报警,数据库管理器将减少
分配给应用程序的内存,以防止超出排序内存阈值。在选择新的值之前,应
考虑最大的排序堆使用情况。此值由 DB2 系统监视器作为排序堆高水位标记
(sort_heap_top)进行监视,它是自数据库启动以来排序堆使用的最高级别。
应考虑将 sheapthres 设置为最大的排序堆使用值。应注意,排序堆使用中
不规则的峰值将会影响到此建议。必须显式地对此实例中的每个数据库定义
sheapthres_shr 参数,以确保其共享排序堆阈值未受此更改的影响。

执行下列其中一项操作:

启动 DB2 工具:DBM 配置窗口

“DBM 配置”窗口可用来查看和更新数据库管理器配置参数。

要打开“DBM 配置”窗口:
1.  从控制中心中,展开对象树直到找到实例文件夹。
2. 单击实例文件夹。所有现有实例将显示在窗口右边的内容窗格中。
3. 在内容窗格中右键单击想要的实例,然后在弹出菜单中单击“配置参数”。
   “DBM 配置”窗口打开。


展开“性能”类别,然后按照建议更新排序堆阈值大小参数并单击“确定”
以应用更新。




从“命令行处理器”中,发出以下示例中显示的命令:

UPDATE DATABASE MANAGER CONFIGURATION USING SHEAPTHRES size





C:\>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP