ASE15創建非聚簇索引時報數據緩衝內存不夠

---------------------------------------------------------------------------

---- 本文爲andkylee個人原創,請在尊重作者勞動成果的前提下進行轉載;

---- 轉載務必註明原始出 : http://blog.csdn.net/andkylee

--- 2010-07-13 17:43:27

---- 關鍵字:  nonclustered index default data cache insufficient 1526

                   數據緩存不足 非聚簇索引

----------------------------------------------------------------------------

今天下午在solaris10 ASE15.0.3平臺上批量創建非聚簇索引時,報下面的錯誤:

Msg 1526, Level 17, State 5: Server 'SYB_NFJD_TEST', Procedure 'sp_helpdb', Line 674: Sort failure. The configure size for data cache (default data cache) is not sufficient to handle the sort buffers (128) requested. Please reconfigure the data cache or sort buffers and try the command again. (return status = -7)

 

用命令:sp_helpcache "default data cache",發現高速數據緩衝大小爲:8M,此爲默認值。

執行命令將default data cache擴充至100M,sp_cacheconfig "default data cache","100m"

然後再重新執行一遍非聚簇索引的創建過程,成功完成了!

 

在error message & troubleshooting 中沒有找到錯誤號1526的解釋以及解決辦法。

目前暫時沒有想明白,爲什麼在創建非聚簇索引的時候需要用default data cache,而且默認數據緩存不足還會出錯。難道default data cache要緩存某一層次的索引的頁數據?

 

 

------------------------------------------------------------------------------------------------

以下關聯一篇網上搜索的也是關於error:1526的信息

The failure is most likely happening on the remote server where the actual
physical table lives. It's certainly possible to create indexes on proxy
tables, but what really happens is that the physical index is created on the
remote server. Try logging in to the remote server where the actual table
resides. Check the memory settings on the remote server.

> Hi,
> I am trying to create a non clustered index on an "existing
> table"(proxy table). But it keeps failing with the error,
>
> Sort failure. The configure size for data cache (default
> data cache) is not
> sufficient to handle the sort buffers (30008) requested.
> Please reconfigure the
> data cache or sort buffers and try the command again.
>
> The data cache is configured 2 Gig, 800MB for 8K pool
> I have this configuration enough for most of the things.
>
> How can I make the non clustered index.

 

總結一下: 在建立非聚簇索引的時候,都涉及到default data cache數據緩存的使用。不管是在基本表還是在代理表上創建非聚簇索引,都會在物理表所在的ASE服務器上使用數據緩存。如果數據緩存不足,則會報1526的錯誤信息。解決辦法爲用過程sp_cacheconfig增加default data cache即可。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章