アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは
Oracleのテーブルを作成するときに
ExtentのINITIALを1KB、Nextを0KB、
MAXEXTENTSをUNLIMITEDで設定した場合
1KB以上のデータを入れた場合Oracleとしては
どのような動作になるのでしょうか?

実際にやってみると明らかに1KB以上のデータを
挿入しているにもかかわらずエラーが発生しません。

A 回答 (2件)

ローカル管理表領域と旧来のディクショナリ管理表領域と異なり一部制限されて自動化されています。


STORAGE 句は下位互換のために自動的に変換されています。
参考:
http://biz.rivus.jp/technote507015.html

AUTO ALLOCATEを使用しているということですから
エクステントのサイズは64KB~4MBの可変でMAXEXTENTは指定できませんから勝手に拡張されていきます。
2^31エクステントはオラクルの上限です。

下のURLのスキルアップ講座はわかりやくまとめられた資料ですのでぜひ参考にしてください。

http://otn.oracle.co.jp/skillup/oracle9i/index.h …
第3部 テーブルの設計 に書かれています
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
スキルアップ講座見てみました。
判りやすく記述してあり理解できたと思います。
もう少し、この講座内容を見てみます。

お礼日時:2006/03/24 18:59

データブロックサイズは最低でも2KB以上だからだと思いますが


ローカル管理表領域かディクショナリ管理表領域なのかによって変わるような気がします。
ローカル管理表領域ならUNFORMかAUTO ALOCATEによって変わると思います。

自分の環境がどんなバージョンのどんな表領域でデータブロックサイズがいくつかを調べて、さらに調査してみてはどうでしょう?
    • good
    • 0
この回答へのお礼

ありがとうございます。
Oracleバージョンは9.0.4で表領域管理はローカル管理
でAUTOALOCATEになっていました。
この場合、NEXT 0であってもOracle側で勝手に拡張し
てくれるのでしょうか?
管理者マニュアルを見たのですが力不足で理解できま
せんでした。

それともう一つ解せない動きでMAXEXTENTSを指定して
いるにもかかわらず2147483645という値が設定されて
しまいます。
これもAUTOALLOCATEであるからなのでしょうか?
質問ばかりで申し訳ありません。

お礼日時:2006/03/24 17:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す