2009年09月16日

no more extents

このエラーを見たことのある人はそれほど多くないと思います。

IBMのサポート情報メール ( My notification )に、このエラーが発生しやすい特定のケースについての解説が紹介されていました。


複数のDB領域から構成される、いわゆるフラグメント化された表から特定のパーティション(フラグメント)をデタッチする際に、その表に制約(Constraint)が複数定義されていると、このエラーが発生する可能性が高まるのだそうです。制約を定義すると、データベースサーバーはその制約に必要なインデックス(例えば一意制約ならば、いわゆる Unique Index.. など )があらかじめユーザーによって作られていないか調べ、なければ、必要なインデックスを自動的に生成します。ユーザーが作成するインデックスと違い、システムが自動生成するインデックスはCREATE DATABASE文で指定したDB領域に配置されます。DETACH操作などで、このインデックスを作成しなおすような状況で、この種のインデックスが複数ある、すなわち制約が複数定義されていると、それぞれのインデックスのエクステントが互い違いに配置され、結果としてエクステント数が無駄に増えてしまう、という結果になるようです。エクステントが無駄に増えてしまう状況は、表とインデックスを同じDB領域に作成し、かつその時にエクステントサイズをデフォルトのまま(サイズを何も指定しない)にしておいて、データのロード(挿入)を延々繰り返したりすると再現できます。

My Notificationメールでは、純粋な障害情報だけではなく、運用中に問題発生の原因となりやすい、今回のような注意事項や、問題発生時の対処方法など、有用な情報が多数紹介されています。以前は、My Supportという名前で運営されていましたが、最近機能拡張とともに、現在の名前に変更されています。こちらから購読の設定ができます。例によってIBMIDが必要ですが、お勧めです。


タグ :support

同じカテゴリー(IBM Webサイトにある情報)の記事
JDBC driver
JDBC driver(2022-04-17 15:24)

Informix V12.10.xC6
Informix V12.10.xC6(2016-01-20 23:14)

Informix V12.10.xC5
Informix V12.10.xC5(2015-03-30 22:39)

OpenAdminTool ( OAT) V3.14
OpenAdminTool ( OAT) V3.14(2014-06-28 14:17)


※このブログではブログの持ち主が承認した後、コメントが反映される設定です。
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。